Skip to content

Commit c932816

Browse files
committed
chore: github action workflows
1 parent eee09af commit c932816

File tree

3 files changed

+101
-0
lines changed

3 files changed

+101
-0
lines changed
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
name: issue awaiting response
2+
3+
on:
4+
issue_comment:
5+
types: [created]
6+
7+
jobs:
8+
issue-awaiting-response:
9+
runs-on: ubuntu-latest
10+
steps:
11+
- uses: actions/github-script@v6
12+
with:
13+
github-token: ${{secrets.GH_PAT}}
14+
script: |
15+
const issue = await github.rest.issues.get({
16+
owner: context.repo.owner,
17+
repo: context.repo.repo,
18+
issue_number: context.issue.number,
19+
})
20+
const comments = await github.paginate(
21+
github.rest.issues.listComments, {
22+
owner: context.repo.owner,
23+
repo: context.repo.repo,
24+
issue_number: context.issue.number,
25+
}
26+
)
27+
const labels = await github.paginate(
28+
github.rest.issues.listLabelsOnIssue, {
29+
issue_number: context.issue.number,
30+
owner: context.repo.owner,
31+
repo: context.repo.repo,
32+
}
33+
)
34+
if (labels.find(label => label.name === 'state: awaiting response')) {
35+
if (comments[comments.length-1].user?.login === issue.data.user?.login) {
36+
github.rest.issues.removeLabel({
37+
owner: context.repo.owner,
38+
repo: context.repo.repo,
39+
issue_number: context.issue.number,
40+
name: 'state: awaiting response'
41+
})
42+
}
43+
}

.github/workflows/issue-closed.yml

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
name: issue closed
2+
3+
on:
4+
issues:
5+
types: [closed]
6+
7+
jobs:
8+
issue-closed:
9+
runs-on: ubuntu-latest
10+
steps:
11+
- uses: actions/github-script@v6
12+
with:
13+
github-token: ${{secrets.GH_PAT}}
14+
script: |
15+
const labels = await github.paginate(
16+
github.rest.issues.listLabelsOnIssue, {
17+
issue_number: context.issue.number,
18+
owner: context.repo.owner,
19+
repo: context.repo.repo,
20+
}
21+
)
22+
if (labels.find(label => label.name === 'state: needs triage')) {
23+
github.rest.issues.removeLabel({
24+
owner: context.repo.owner,
25+
repo: context.repo.repo,
26+
issue_number: context.issue.number,
27+
name: 'state: needs triage'
28+
})
29+
}
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
name: issue needs triage
2+
3+
on:
4+
issues:
5+
types: [opened]
6+
7+
jobs:
8+
issue-needs-triage:
9+
runs-on: ubuntu-latest
10+
steps:
11+
- uses: actions/github-script@v6
12+
with:
13+
github-token: ${{secrets.GH_PAT}}
14+
script: |
15+
const labels = await github.paginate(
16+
github.rest.issues.listLabelsOnIssue, {
17+
issue_number: context.issue.number,
18+
owner: context.repo.owner,
19+
repo: context.repo.repo,
20+
}
21+
)
22+
if (labels.length === 0) {
23+
github.rest.issues.addLabels({
24+
issue_number: context.issue.number,
25+
owner: context.repo.owner,
26+
repo: context.repo.repo,
27+
labels: ['state: needs triage']
28+
})
29+
}

0 commit comments

Comments
 (0)