Update issues when Release Notes are published
This commit is contained in:
parent
47c8f37dca
commit
e8a360d7c8
|
@ -0,0 +1,58 @@
|
|||
name: Update issues on release
|
||||
on:
|
||||
release:
|
||||
types: [published]
|
||||
|
||||
jobs:
|
||||
update_issues:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Get milestone for release
|
||||
id: milestone
|
||||
uses: actions/github-script@0.9.0
|
||||
with:
|
||||
github-token: ${{secrets.GITHUB_TOKEN}}
|
||||
script: |
|
||||
const milestones = await github.issues.listMilestonesForRepo({
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
state: 'all'
|
||||
})
|
||||
|
||||
return milestones.data.find( milestone => milestone.title == "${{github.event.release.name}}" ).number
|
||||
- name: Get issues for milestone
|
||||
id: issues
|
||||
uses: actions/github-script@0.9.0
|
||||
with:
|
||||
github-token: ${{secrets.GITHUB_TOKEN}}
|
||||
script: |
|
||||
const list = await github.issues.listForRepo({
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
state: 'all',
|
||||
milestone: ${{steps.milestone.outputs.result}}
|
||||
})
|
||||
|
||||
// Pull requests are issues so filter them out
|
||||
return list.data.filter( issue => !issue["pull_request"] )
|
||||
- name: Comment and close issues
|
||||
uses: actions/github-script@0.9.0
|
||||
with:
|
||||
github-token: ${{secrets.GITHUB_TOKEN}}
|
||||
script: |
|
||||
for (let issue of ${{ steps.issues.outputs.result }}) {
|
||||
// This can be parallelized better by moving the await but it might trip rate limits
|
||||
await github.issues.createComment({
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
issue_number: issue.number,
|
||||
body: ':robot: This issue has been addressed in the latest release. See full details in the [Release Notes]( ${{ github.event.release.html_url }}).'
|
||||
})
|
||||
|
||||
await github.issues.update({
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
issue_number: issue.number,
|
||||
state: 'closed'
|
||||
})
|
||||
}
|
Loading…
Reference in New Issue