name: 'PR Wiki Label' on: issue_comment: types: [created] jobs: wiki-label: runs-on: ubuntu-latest if: github.event.issue.pull_request && github.event.comment.body == '!wiki_label' permissions: issues: write pull-requests: write steps: - name: Check commenter authorization id: check-auth run: | IFS=',' read -ra WIKI_MANAGERS <<< "${{ vars.WIKI_MANAGERS }}" COMMENTER_ID="${{ github.event.comment.user.id }}" if [[ " ${WIKI_MANAGERS[@]} " =~ " ${COMMENTER_ID} " ]]; then echo "authorized=true" >> $GITHUB_OUTPUT else echo "authorized=false" >> $GITHUB_OUTPUT fi - name: Add thumbs up reaction and Wiki label if: steps.check-auth.outputs.authorized == 'true' run: | # Add thumbs up reaction curl -X POST \ -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \ -H "Accept: application/vnd.github.v3+json" \ "https://api.github.com/repos/${{ github.repository }}/issues/comments/${{ github.event.comment.id }}/reactions" \ -d '{"content":"+1"}' # Add label to PR curl -X POST \ -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \ -H "Accept: application/vnd.github.v3+json" \ "https://api.github.com/repos/${{ github.repository }}/issues/${{ github.event.issue.number }}/labels" \ -d '["Requires Wiki Update"]' - name: Unauthorized user thumbs down reaction if: steps.check-auth.outputs.authorized == 'false' run: | curl -X POST \ -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \ -H "Accept: application/vnd.github.v3+json" \ "https://api.github.com/repos/${{ github.repository }}/issues/comments/${{ github.event.comment.id }}/reactions" \ -d '{"content":"-1"}'