@@ -31,11 +31,8 @@ defaults:
3131
3232permissions :
3333 contents : ' read'
34- id-token : ' write'
3534 issues : ' write'
36- statuses : ' write'
37- packages : ' read'
38- actions : ' write' # Required for cancelling a workflow run
35+ actions : ' write'
3936
4037jobs :
4138 triage-issue :
@@ -58,11 +55,13 @@ jobs:
5855 id : ' get_issue_data'
5956 if : |-
6057 github.event_name == 'workflow_dispatch'
61- uses : ' actions/github-script@v9'
58+ uses : ' actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3' # v9
59+ env :
60+ ISSUE_NUMBER : ' ${{ github.event.inputs.issue_number || inputs.issue_number }}'
6261 with :
6362 github-token : ' ${{ secrets.GITHUB_TOKEN }}'
6463 script : |
65- const issueNumber = ${{ github.event.inputs.issue_number || inputs.issue_number }} ;
64+ const issueNumber = process.env.ISSUE_NUMBER ;
6665 const { data: issue } = await github.rest.issues.get({
6766 owner: context.repo.owner,
6867 repo: context.repo.repo,
@@ -74,11 +73,13 @@ jobs:
7473 return issue;
7574
7675 - name : ' Checkout'
77- uses : ' actions/checkout@v7'
76+ uses : ' actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0' # v7
77+ with :
78+ persist-credentials : false
7879
7980 - name : ' Get Repository Labels'
8081 id : ' get_labels'
81- uses : ' actions/github-script@v9 '
82+ uses : ' actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 ' # v9
8283 with :
8384 github-token : ' ${{ secrets.GITHUB_TOKEN }}'
8485 script : |-
@@ -114,7 +115,7 @@ jobs:
114115 ${{ github.event_name == 'workflow_dispatch' && steps.get_issue_data.outputs.title || github.event.issue.title }}
115116 ISSUE_BODY : >-
116117 ${{ github.event_name == 'workflow_dispatch' && steps.get_issue_data.outputs.body || github.event.issue.body }}
117- uses : ' actions/github-script@v9 '
118+ uses : ' actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 ' # v9
118119 with :
119120 github-token : ' ${{ secrets.GITHUB_TOKEN }}'
120121 script : |-
@@ -232,7 +233,7 @@ jobs:
232233 ISSUE_NUMBER : ' ${{ github.event.issue.number || github.event.inputs.issue_number }}'
233234 LABELS_OUTPUT : ' ${{ steps.gemini_issue_analysis.outputs.summary }}'
234235 ALLOWED_LABELS : ' ${{ steps.get_labels.outputs.available_labels }}'
235- uses : ' actions/github-script@v9 '
236+ uses : ' actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 ' # v9
236237 with :
237238 github-token : ' ${{ secrets.GITHUB_TOKEN }}'
238239 script : |
@@ -258,7 +259,7 @@ jobs:
258259 // 1. Strict Label Allowlist
259260 const requestedLabels = parsed.labels_to_set || [];
260261 labelsToAdd = requestedLabels.filter(label => ALLOWED_LABELS.includes(label));
261-
262+
262263 if (requestedLabels.length !== labelsToAdd.length) {
263264 core.warn("Blocked unauthorized labels: " + requestedLabels.filter(l => !ALLOWED_LABELS.includes(l)).join(', '));
264265 }
@@ -278,7 +279,7 @@ jobs:
278279 })).data;
279280 const issueAuthor = issueData.user.login;
280281
281- const triageReason = parsed.triage_reason;
282+ const triageReason = parsed.triage_reason;
282283 if (triageReason && COMMENT_TEMPLATES[triageReason]) {
283284 responseBody = COMMENT_TEMPLATES[triageReason].replace('${author}', issueAuthor);
284285 } else {
0 commit comments