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 }