name: Get Some Feedback based on issue comments
on:
issue_comment:
types:
- created
permissions:
contents: read
issues: read
jobs:
get-approval:
runs-on: ubuntu-latest
steps:
- name: Get Approval
id: approval
uses: kharkevich/issue-ops-approval@v1
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
mode: list
approvers: github_username
- name: Run if approved
if: steps.approval.outputs.approved == 'true'
run: echo "Approved!"
- name: Run if not approved
if: steps.approval.outputs.approved == 'false'
run: echo "Not approved!"
- name: Run if undefined
if: steps.approval.outputs.approved == 'undefined'
run: echo "Undefined!"-
repo-tokenis a token withcontentsandissuespermissions -
modeis a mode how to determine approvers, can belist(to get approvers list from the input) orteam(to get approvers list from the GitHub team) -
minimum-approvalsis an integer that sets the minimum number of approvals required to progress the workflow. Defaults 1 approvers -
fail-on-declineif it is set totruethe workflow will fail if there is a decline. Defaultsfalse. -
approve-wordswords that will be used to approve the workflow. See default list in action.yml -
decline-wordswords that will be used to decline the workflow. See default list in action.yml -
approversis a comma-delimited list of all required approvers. An approver can either be a user or an org team
If you want to have approvers set to an org team, then you can't use regular GITHUB_TOKEN due to the absent of necessary permissions. GitHub Actions automatic token
In this case, you need to generate a token from a GitHub App with the correct set of permissions.
Create a GitHub App with read-only access to organization members. Once the app is created, add a repo secret with the app ID. In the GitHub App settings, generate a private key and add that as a secret in the repo as well. You can get the app token by using the tibdex/github-app-token GitHub Action:
name: Get Some Feedback based on issue comments
on:
issue_comment:
types:
- created
permissions:
contents: read
issues: read
jobs:
somejob:
runs-on: ubuntu-latest
steps:
- name: Generate token
id: generate_token
uses: tibdex/github-app-token@v1
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.APP_PRIVATE_KEY }}
- name: Get Approval
id: approval
uses: kharkevich/issue-ops-approval@v1
with:
repo-token: ${{ steps.generate_token.outputs.token }}
mode: team
approvers: github_team
- name: Run if approved
if: steps.approval.outputs.approved == 'true'
run: echo "Approved!"
- name: Run if not approved
if: steps.approval.outputs.approved == 'false'
run: echo "Not approved!"
- name: Run if undefined
if: steps.approval.outputs.approved == 'undefined'
run: echo "Undefined!"Apache License 2.0. See LICENSE for more information.