From 336394e58deb0e39601b7c8acbc362dcf118b67e Mon Sep 17 00:00:00 2001 From: Sumit Sarabhai Date: Mon, 16 Feb 2026 20:14:42 +0530 Subject: [PATCH 1/5] Add automated issue acknowledgement workflow with workflow_dispatch for testing --- .github/workflows/issue-acknowledge.yml | 27 +++++++++++++++++++++---- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/.github/workflows/issue-acknowledge.yml b/.github/workflows/issue-acknowledge.yml index f35f22414..450704c47 100644 --- a/.github/workflows/issue-acknowledge.yml +++ b/.github/workflows/issue-acknowledge.yml @@ -3,6 +3,11 @@ name: Auto Acknowledge GH Issues on: issues: types: [opened] + workflow_dispatch: # Remove before merging - for testing only + inputs: + issue_number: + description: 'Issue number to test with' + required: true permissions: contents: read @@ -11,7 +16,7 @@ jobs: acknowledge: runs-on: ubuntu-latest permissions: - issues: read + issues: write steps: # Step 1: Wait 15 minutes - name: Wait 15 minutes @@ -25,11 +30,14 @@ jobs: github-token: ${{ secrets.GITHUB_TOKEN }} script: | const maintainers = ['sumitmsft','dlevy-msft-sql']; + const issueNumber = context.payload.issue + ? context.payload.issue.number + : parseInt('${{ github.event.inputs.issue_number }}'); const comments = await github.rest.issues.listComments({ owner: context.repo.owner, repo: context.repo.repo, - issue_number: context.payload.issue.number + issue_number: issueNumber }); const maintainerReplied = comments.data.some( @@ -46,9 +54,20 @@ jobs: with: github-token: ${{ secrets.SUMIT_PAT_FOR_AUTO_RESPONSE }} script: | + const issueNumber = context.payload.issue + ? context.payload.issue.number + : parseInt('${{ github.event.inputs.issue_number }}'); + + // Fetch the issue to get the author login (needed for workflow_dispatch) + const issue = context.payload.issue || (await github.rest.issues.get({ + owner: context.repo.owner, + repo: context.repo.repo, + issue_number: issueNumber + })).data; + await github.rest.issues.createComment({ owner: context.repo.owner, repo: context.repo.repo, - issue_number: context.payload.issue.number, - body: `Hi @${context.payload.issue.user.login}, thank you for opening this issue!\n\nOur team will review it shortly. We aim to triage all new issues within 24-48 hours and get back to you.\n\nThank you for your patience!` + issue_number: issueNumber, + body: `Hi @${issue.user.login}, thank you for opening this issue!\n\nOur team will review it shortly. We aim to triage all new issues within 24-48 hours and get back to you.\n\nThank you for your patience!` }); From d24971d787b8dc2f304b7a2fe25e01983895330f Mon Sep 17 00:00:00 2001 From: Sumit Sarabhai Date: Mon, 16 Feb 2026 21:35:45 +0530 Subject: [PATCH 2/5] Use GITHUB_TOKEN for issue auto-acknowledgement --- .github/workflows/issue-acknowledge.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/issue-acknowledge.yml b/.github/workflows/issue-acknowledge.yml index 450704c47..22f85aa85 100644 --- a/.github/workflows/issue-acknowledge.yml +++ b/.github/workflows/issue-acknowledge.yml @@ -20,7 +20,7 @@ jobs: steps: # Step 1: Wait 15 minutes - name: Wait 15 minutes - run: sleep 10 + run: sleep 30 # Step 2: Check if a maintainer already responded - name: Check for existing maintainer response @@ -52,7 +52,7 @@ jobs: if: steps.check.outputs.skip == 'false' uses: actions/github-script@v7 with: - github-token: ${{ secrets.SUMIT_PAT_FOR_AUTO_RESPONSE }} + github-token: ${{ secrets.GITHUB_TOKEN }} script: | const issueNumber = context.payload.issue ? context.payload.issue.number From a949041461935f011815bccbbd9fe14eb1f3f71d Mon Sep 17 00:00:00 2001 From: Sumit Sarabhai Date: Mon, 16 Feb 2026 21:40:34 +0530 Subject: [PATCH 3/5] Clean up workflow: remove workflow_dispatch, use context.payload.issue, set 15min delay --- .github/workflows/issue-acknowledge.yml | 27 ++++--------------------- 1 file changed, 4 insertions(+), 23 deletions(-) diff --git a/.github/workflows/issue-acknowledge.yml b/.github/workflows/issue-acknowledge.yml index 22f85aa85..2cb20eb78 100644 --- a/.github/workflows/issue-acknowledge.yml +++ b/.github/workflows/issue-acknowledge.yml @@ -3,11 +3,6 @@ name: Auto Acknowledge GH Issues on: issues: types: [opened] - workflow_dispatch: # Remove before merging - for testing only - inputs: - issue_number: - description: 'Issue number to test with' - required: true permissions: contents: read @@ -20,7 +15,7 @@ jobs: steps: # Step 1: Wait 15 minutes - name: Wait 15 minutes - run: sleep 30 + run: sleep 900 # Step 2: Check if a maintainer already responded - name: Check for existing maintainer response @@ -30,14 +25,11 @@ jobs: github-token: ${{ secrets.GITHUB_TOKEN }} script: | const maintainers = ['sumitmsft','dlevy-msft-sql']; - const issueNumber = context.payload.issue - ? context.payload.issue.number - : parseInt('${{ github.event.inputs.issue_number }}'); const comments = await github.rest.issues.listComments({ owner: context.repo.owner, repo: context.repo.repo, - issue_number: issueNumber + issue_number: context.payload.issue.number }); const maintainerReplied = comments.data.some( @@ -54,20 +46,9 @@ jobs: with: github-token: ${{ secrets.GITHUB_TOKEN }} script: | - const issueNumber = context.payload.issue - ? context.payload.issue.number - : parseInt('${{ github.event.inputs.issue_number }}'); - - // Fetch the issue to get the author login (needed for workflow_dispatch) - const issue = context.payload.issue || (await github.rest.issues.get({ - owner: context.repo.owner, - repo: context.repo.repo, - issue_number: issueNumber - })).data; - await github.rest.issues.createComment({ owner: context.repo.owner, repo: context.repo.repo, - issue_number: issueNumber, - body: `Hi @${issue.user.login}, thank you for opening this issue!\n\nOur team will review it shortly. We aim to triage all new issues within 24-48 hours and get back to you.\n\nThank you for your patience!` + issue_number: context.payload.issue.number, + body: `Hi @${context.payload.issue.user.login}, thank you for opening this issue!\n\nOur team will review it shortly. We aim to triage all new issues within 24-48 hours and get back to you.\n\nIn case you've additional information to share please feel free to update the issue.\n\nThank you for your patience!` }); From 7ca81337b3e03f797a769ede52af92960e259a97 Mon Sep 17 00:00:00 2001 From: Sumit Sarabhai Date: Mon, 16 Feb 2026 21:48:29 +0530 Subject: [PATCH 4/5] Add triage needed label and expand maintainers list --- .github/workflows/issue-acknowledge.yml | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/.github/workflows/issue-acknowledge.yml b/.github/workflows/issue-acknowledge.yml index 2cb20eb78..fe4f00b65 100644 --- a/.github/workflows/issue-acknowledge.yml +++ b/.github/workflows/issue-acknowledge.yml @@ -24,7 +24,7 @@ jobs: with: github-token: ${{ secrets.GITHUB_TOKEN }} script: | - const maintainers = ['sumitmsft','dlevy-msft-sql']; + const maintainers = ['sumitmsft','dlevy-msft-sql','gargsaumya','bewithgaurav','subrata-ms','jahnvi480','saurabh500']; const comments = await github.rest.issues.listComments({ owner: context.repo.owner, @@ -52,3 +52,17 @@ jobs: issue_number: context.payload.issue.number, body: `Hi @${context.payload.issue.user.login}, thank you for opening this issue!\n\nOur team will review it shortly. We aim to triage all new issues within 24-48 hours and get back to you.\n\nIn case you've additional information to share please feel free to update the issue.\n\nThank you for your patience!` }); + + # Step 4: Add "triage needed" label if no maintainer has responded + - name: Add triage needed label + if: steps.check.outputs.skip == 'false' + uses: actions/github-script@v7 + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + script: | + await github.rest.issues.addLabels({ + owner: context.repo.owner, + repo: context.repo.repo, + issue_number: context.payload.issue.number, + labels: ['triage needed'] + }); From 2c5ae95c7210acd7db9b0edb4c80f6aacfa8fbf0 Mon Sep 17 00:00:00 2001 From: Sumit Sarabhai Date: Mon, 16 Feb 2026 21:59:08 +0530 Subject: [PATCH 5/5] Update .github/workflows/issue-acknowledge.yml Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- .github/workflows/issue-acknowledge.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/issue-acknowledge.yml b/.github/workflows/issue-acknowledge.yml index fe4f00b65..05514dac0 100644 --- a/.github/workflows/issue-acknowledge.yml +++ b/.github/workflows/issue-acknowledge.yml @@ -50,7 +50,7 @@ jobs: owner: context.repo.owner, repo: context.repo.repo, issue_number: context.payload.issue.number, - body: `Hi @${context.payload.issue.user.login}, thank you for opening this issue!\n\nOur team will review it shortly. We aim to triage all new issues within 24-48 hours and get back to you.\n\nIn case you've additional information to share please feel free to update the issue.\n\nThank you for your patience!` + body: `Hi @${context.payload.issue.user.login}, thank you for opening this issue!\n\nOur team will review it shortly. We aim to triage all new issues within 24-48 hours and get back to you.\n\nIf you have additional information to share, please feel free to update the issue.\n\nThank you for your patience!` }); # Step 4: Add "triage needed" label if no maintainer has responded