fix: issue가 없을 경우 정말로 처리해줌 #4
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Close Issue When PR Closed | |
on: | |
pull_request: | |
types: | |
- closed | |
jobs: | |
close-issue: | |
name: close issue automatically | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/github-script@v6 | |
with: | |
github-token: ${{ secrets.ADD_TO_PROJECT_PAT }} | |
script: | | |
// 현재 pr 날린 브랜치 이름 | |
const branch_name = context.payload.pull_request.head.ref; | |
// 브랜치 이름에 포함된 이슈 번호 | |
const issue_num = branch_name.match(/#(\d+)/)[1]; | |
// 이슈 번호로 해당 이슈 받아오기 | |
const issue = await github.rest.issues.get({ | |
owner: context.repo.owner, | |
repo: context.repo.repo, | |
issue_number: issue_num | |
}); | |
const issue_data = issue.data; | |
const issue_body = issue_data.body; | |
const issue_nums = [issue_num]; | |
issue_body | |
?.match(/#(\d+)/g) | |
?.forEach(issue => { | |
issue_nums.push(issue.replace('#', '')) | |
}); | |
// 이슈들을 닫아줌. | |
issue_nums?.forEach(issue_num => { | |
github.rest.issues.update({ | |
owner: context.repo.owner, | |
repo: context.repo.repo, | |
issue_number: issue_num, | |
state: 'closed' | |
}); | |
}); |