-
Notifications
You must be signed in to change notification settings - Fork 345
47 lines (45 loc) · 1.53 KB
/
labeler.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
name: "@PR • Labeler"
run-name: "@PR • Labeler triggered by ${{ github.actor }} ${{ format('on branch {0}', github.head_ref) }}"
on:
- pull_request_target
jobs:
triage:
permissions:
contents: read
pull-requests: write
runs-on: ubuntu-22.04
steps:
- name: generate token
id: generate-token
uses: tibdex/github-app-token@v1
with:
app_id: ${{ secrets.GH_BOT_APP_ID }}
private_key: ${{ secrets.GH_BOT_PRIVATE_KEY }}
- uses: actions/labeler@v4
with:
repo-token: ${{ steps.generate-token.outputs.token }}
- uses: actions/github-script@v7
if: github.event.pull_request.head.repo.fork
with:
github-token: ${{ steps.generate-token.outputs.token }}
script: |
try {
const { data: rawLabels } = await github.rest.issues.listLabelsOnIssue({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.issue.number,
}) || [];
const labels = rawLabels.map(label => label.name)
console.log(labels)
if(labels.includes('fork')) {
return
}
await github.rest.issues.setLabels({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.issue.number,
labels: [...labels, 'fork']
})
} catch(error) {
console.error(error)
}