Skip to content

Commit 170a443

Browse files
committed
Initial creation of the Release Notes Action
0 parents  commit 170a443

File tree

1 file changed

+42
-0
lines changed

1 file changed

+42
-0
lines changed

action.yml

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
name: "FileOnQ GitHub Release Notes"
2+
description: "GitHub release notes and changelog generator using Gren"
3+
author: "FileOnQ"
4+
inputs:
5+
token:
6+
description: 'token to use for authentication for GitHub APIs'
7+
required: true
8+
username:
9+
description: 'username to use for creating gren release'
10+
required: true
11+
organization:
12+
description: 'GitHub Organization Name'
13+
required: true
14+
repository:
15+
description: 'Name of the repository'
16+
required: true
17+
version_number:
18+
description: 'tag name'
19+
required: true
20+
options: # Add the gren options here
21+
description: 'Add the gren options here; e.g. " --override --ignore-tags-with="preview"'
22+
required: false
23+
default: ''
24+
25+
runs:
26+
using: "composite"
27+
steps:
28+
- run: npm install github-release-notes -g
29+
shell: pwsh
30+
- run: gren release --username=${{ inputs.username }} --token=${{ inputs.token }} --repo=${{ inputs.repository }} ${{ inputs.options }}"
31+
shell: pwsh
32+
- run: |
33+
$release = Invoke-WebRequest -URI https://api.github.com/repos/${{ inputs.organization }}/${{ inputs.repository }}/releases/tags/v${{ inputs.version_number }} -Method GET -Headers @{"Accept"="application/vnd.github.v3+json"} -UseBasicParsing
34+
$releaseContent = ConvertFrom-Json $release.Content
35+
$generateNotes = Invoke-WebRequest -URI https://api.github.com/repos/${{ inputs.organization }}/${{ inputs.repository }}/releases/generate-notes -Method POST -Headers @{"Authorization"="Bearer ${{ inputs.token }}"; "Accept"="application/vnd.github.v3+json"} -Body '{"tag_name":"${{ inputs.version_number }}"}' -UseBasicParsing
36+
$generateNotesContent = ConvertFrom-Json $generateNotes.Content
37+
$body = $releaseContent.Body + $generateNotesContent.Body
38+
echo $body
39+
$uri = "https://api.github.com/repos/${{ inputs.organization }}/${{ inputs.repository }}/releases/" + $releaseContent.id
40+
$json = ConvertTo-Json @{"body"=$body} -Compress
41+
$response = Invoke-RestMethod -URI $uri -Method PATCH -Headers @{"Authorization"="Bearer ${{ inputs.token }}"; "Accept"="application/vnd.github.v3+json"} -Body $json -UseBasicParsing -ContentType "text/plain; charset=utf-8"
42+
shell: pwsh

0 commit comments

Comments
 (0)