bot-assign.yml

 1name: "Bot - /assign"
 2
 3on:
 4  issue_comment:
 5    types: [created]
 6
 7permissions:
 8  issues: write
 9
10jobs:
11  assign:
12    if: >-
13      !github.event.issue.pull_request &&
14      contains(github.event.comment.body, '/assign')
15    runs-on: ubuntu-latest
16    steps:
17      - name: Assign issue
18        uses: actions/github-script@v9
19        with:
20          github-token: ${{ secrets.HOMEBREW_TAP_GITHUB_TOKEN }}
21          script: |
22            const user = context.payload.comment.user.login;
23            const issue = context.issue.number;
24            const owner = context.repo.owner;
25            const repo = context.repo.repo;
26
27            try {
28              await github.rest.issues.addAssignees({
29                owner,
30                repo,
31                issue_number: issue,
32                assignees: [user]
33              });
34
35              await github.rest.reactions.createForIssueComment({
36                owner,
37                repo,
38                comment_id: context.payload.comment.id,
39                content: '+1'
40              });
41            } catch (e) {
42              await github.rest.reactions.createForIssueComment({
43                owner,
44                repo,
45                comment_id: context.payload.comment.id,
46                content: '-1'
47              });
48              core.setFailed(`Failed to assign @${user}: ${e.message}`);
49            }