Skip to content

Commit 29cbb71

Browse files
committed
maint: rewrite workflows to get mail notifications upon setting labels
Signed-off-by: Yury V. Zaytsev <[email protected]>
1 parent 6b8b45f commit 29cbb71

File tree

4 files changed

+80
-60
lines changed

4 files changed

+80
-60
lines changed

.github/workflows/command-approve.yml

-54
This file was deleted.
+34
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
name: Approve issue
2+
3+
on:
4+
issues:
5+
types: [ labeled ]
6+
workflow_dispatch:
7+
inputs:
8+
issue_number:
9+
description: Issue number
10+
required: true
11+
type: number
12+
13+
jobs:
14+
approve-issue:
15+
runs-on: ubuntu-latest
16+
timeout-minutes: 5
17+
18+
if: ${{ !github.event.issue.pull_request && (contains(github.event.label.name, 'approved') || inputs.issue_number != '') }}
19+
20+
permissions:
21+
issues: write
22+
23+
steps:
24+
- run: |
25+
gh issue edit \
26+
${{ inputs.issue_number != '' && inputs.issue_number || github.event.issue.number }} \
27+
--remove-label "state: in review"
28+
29+
gh issue comment \
30+
${{ inputs.issue_number != '' && inputs.issue_number || github.event.issue.number }} \
31+
--body "The changes in the branch associated with this issue have been approved."
32+
env:
33+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
34+
GH_REPO: ${{ github.repository }}
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
name: Review command
1+
name: Review issue
22

33
on:
4-
issue_comment:
5-
types: [ created, edited ]
4+
issues:
5+
types: [ labeled ]
66
workflow_dispatch:
77
inputs:
88
issue_number:
@@ -15,8 +15,7 @@ jobs:
1515
runs-on: ubuntu-latest
1616
timeout-minutes: 5
1717

18-
# https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#issue_comment
19-
if: ${{ !github.event.issue.pull_request && ((github.event.comment.body == '/review' && contains('OWNER MEMBER COLLABORATOR', github.event.comment.author_association)) || inputs.issue_number != '') }}
18+
if: ${{ !github.event.issue.pull_request && (contains(github.event.label.name, 'in review') || inputs.issue_number != '') }}
2019

2120
permissions:
2221
issues: write
@@ -25,7 +24,11 @@ jobs:
2524
- run: |
2625
gh issue edit \
2726
${{ inputs.issue_number != '' && inputs.issue_number || github.event.issue.number }} \
28-
--add-label "state: in review"
27+
--remove-label "state: approved"
28+
29+
gh issue comment \
30+
${{ inputs.issue_number != '' && inputs.issue_number || github.event.issue.number }} \
31+
--body "The changes in the branch associated with this issue are ready for review."
2932
env:
3033
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
3134
GH_REPO: ${{ github.repository }}
+37
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
name: Approve PR
2+
3+
on:
4+
pull_request:
5+
types: [ labeled ]
6+
workflow_dispatch:
7+
inputs:
8+
issue_number:
9+
description: Issue number
10+
required: true
11+
type: number
12+
13+
jobs:
14+
approve-pr:
15+
runs-on: ubuntu-latest
16+
timeout-minutes: 5
17+
18+
if: ${{ github.event.issue.pull_request && (contains(github.event.label.name, 'approved') || inputs.issue_number != '') }}
19+
20+
permissions:
21+
pull-requests: write
22+
23+
# https://github.com/cli/cli/issues/6274
24+
repository-projects: read
25+
26+
steps:
27+
- run: |
28+
gh pr review \
29+
${{ inputs.issue_number != '' && inputs.issue_number || github.event.issue.number }} \
30+
--approve
31+
32+
gh pr edit \
33+
${{ inputs.issue_number != '' && inputs.issue_number || github.event.issue.number }} \
34+
--remove-label "state: in review"
35+
env:
36+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
37+
GH_REPO: ${{ github.repository }}

0 commit comments

Comments
 (0)