Skip to content

Commit 71f8479

Browse files
authored
Merge pull request #29 from OpenKetchupSource/feat/23
feat: PR이 닫힐 때 체크리스트가 완료된 경우 링크된 이슈 자동 닫기 기능 추가
2 parents 34a6ec1 + cbab86b commit 71f8479

1 file changed

Lines changed: 22 additions & 12 deletions

File tree

.github/workflows/auto-merge-develop-pr.yml

Lines changed: 22 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,33 @@
1-
name: Auto Merge PR from Develop to Main
1+
name: Close Linked Issues if Checklist Complete
22

33
on:
44
pull_request:
5-
branches:
6-
- main
7-
types: [opened, synchronize, reopened]
5+
types: [closed]
86

97
permissions:
10-
contents: write
11-
pull-requests: write
8+
issues: write
9+
pull-requests: read
10+
contents: read
1211

1312
jobs:
14-
auto-merge:
15-
if: github.event.pull_request.head.ref == 'develop'
13+
close-linked-issues:
14+
if: github.event.pull_request.merged == true
1615
runs-on: ubuntu-latest
16+
1717
steps:
18-
- name: Enable auto-merge
19-
uses: peter-evans/enable-pull-request-automerge@v3
18+
- name: Check if checklist is fully complete
19+
id: checklist
20+
run: |
21+
BODY="${{ github.event.pull_request.body }}"
22+
UNCHECKED=$(echo "$BODY" | grep -c '\[ \]')
23+
if [ "$UNCHECKED" -eq 0 ]; then
24+
echo "checklist-complete=true" >> $GITHUB_OUTPUT
25+
else
26+
echo "checklist-complete=false" >> $GITHUB_OUTPUT
27+
fi
28+
29+
- name: Close linked issues if checklist is complete
30+
if: steps.checklist.outputs.checklist-complete == 'true'
31+
uses: peter-evans/close-issue@v3
2032
with:
2133
token: ${{ secrets.GITHUB_TOKEN }}
22-
merge-method: merge
23-
pull-request-number: ${{ github.event.pull_request.number }}

0 commit comments

Comments
 (0)