Draft release notes on milestone close
This commit is contained in:
parent
1f6033f9db
commit
927d980c8f
|
@ -0,0 +1,51 @@
|
|||
name: Create draft release notes
|
||||
on:
|
||||
milestone:
|
||||
types: [closed]
|
||||
|
||||
jobs:
|
||||
draft_release_notes:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Get pull requests for milestone
|
||||
id: pullsA
|
||||
uses: actions/github-script@0.9.0
|
||||
with:
|
||||
github-token: ${{secrets.GITHUB_TOKEN}}
|
||||
script: |
|
||||
const options = github.pulls.list.endpoint.merge({
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
state: 'closed'
|
||||
})
|
||||
|
||||
const pullRequests = await github.paginate(options)
|
||||
|
||||
return pullRequests.filter(pullRequest => pullRequest.merged_at
|
||||
&& pullRequest.milestone
|
||||
&& pullRequest.milestone.number == ${{ github.event.milestone.number }})
|
||||
- name: Generate release notes text
|
||||
id: generate
|
||||
uses: actions/github-script@0.9.0
|
||||
with:
|
||||
github-token: ${{secrets.GITHUB_TOKEN}}
|
||||
script: |
|
||||
var draftText = "# Improvements \n\n# Changes \n\n"
|
||||
for (let pull of ${{ steps.pullsA.outputs.result }}) {
|
||||
draftText += "* " + pull.title + " #" + pull.number + " \n"
|
||||
}
|
||||
draftText += "\n# Fixes \n"
|
||||
return draftText
|
||||
- name: Create release notes draft
|
||||
uses: actions/github-script@0.9.0
|
||||
with:
|
||||
github-token: ${{secrets.GITHUB_TOKEN}}
|
||||
script: |
|
||||
await github.repos.createRelease({
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
tag_name: 'v' + '${{ github.event.milestone.title }}',
|
||||
name: '${{ github.event.milestone.title}}',
|
||||
draft: true,
|
||||
body: ${{ steps.generate.outputs.result }}
|
||||
})
|
Loading…
Reference in New Issue