github: Add action for automated issue notification
authorTom Stellard <tstellar@redhat.com>
Wed, 5 Jan 2022 18:30:30 +0000 (10:30 -0800)
committerTom Stellard <tstellar@redhat.com>
Wed, 5 Jan 2022 18:36:29 +0000 (10:36 -0800)
This adds a github action that will mention a team called issue-subscribers-$LABEL
whenever a label is added to a bug.  Mentioning the team will automatically
subscribe all team members to the bug.

Differential Revision: https://reviews.llvm.org/D114412

.github/workflows/issue-subscriber.yml [new file with mode: 0644]

diff --git a/.github/workflows/issue-subscriber.yml b/.github/workflows/issue-subscriber.yml
new file mode 100644 (file)
index 0000000..51c55fa
--- /dev/null
@@ -0,0 +1,35 @@
+name: Issue Subscriber
+
+on:
+  issues:
+    types:
+      - labeled
+
+jobs:
+  auto-subscribe:
+    runs-on: ubuntu-latest
+    if: github.repository == 'llvm/llvm-project'
+    steps:
+    - name: Update watchers
+      uses: actions/github-script@v5
+      with:
+        github-token: ${{ secrets.ISSUE_MENTION_SECRET }}
+        script: |
+            const teamname = "issue-subscribers-" + context.payload.label.name.replace(/ /g, "-").replace(":","-").replace("/","-");
+            const comment = "@llvm/" + teamname;
+            try {
+              // This will throw an exception if the team does not exist and no
+              // comment will be created.
+              team = await github.rest.teams.getByName({
+                org: context.repo.owner,
+                team_slug: teamname
+              });
+              github.rest.issues.createComment({
+                issue_number: context.issue.number,
+                owner: context.repo.owner,
+                repo: context.repo.repo,
+                body: comment
+              });
+            } catch (e){
+              console.log(e);
+            }