Include body parameter for release
Fixes #4 This adds the ability to include the body parameter when creating the release. - name: Checkout code uses: actions/checkout@master - name: Create Release id: create_release uses: actions/create-release@master with: tag_name: ${{ github.ref }} release_name: Release ${{ github.ref }} body: Release body This also supports a multiline body: - name: Create Release id: create_release uses: actions/create-release@master with: tag_name: ${{ github.ref }} release_name: Release ${{ github.ref }} body: | This is a multiline body with more than one line Or if you want the contents of a file: - name: Read CHANGELOG id: changelog run: | echo "::set-output name=body::$(cat CHANGELOG.md)" - name: Create Release id: create_release uses: actions/create-release@master with: release_name: Release ${{ github.ref }} body: ${{ steps.changelog.outputs.body }} One decision I made in favor of less code was to send an empty body when there was non present. If it would be preferred to send nothing in the request for the `body` attribute I could instead compose the parameters with an optional body attribute: releaseParams = { owner, repo, tag_name: tag, name: releaseName, draft, prerelease }; if (body) releaseParams.body = body; const createReleaseResponse = await github.repos.createRelease( releaseParams );
This commit is contained in:
@@ -37,6 +37,7 @@ describe('Create Release', () => {
|
||||
.fn()
|
||||
.mockReturnValueOnce('refs/tags/v1.0.0')
|
||||
.mockReturnValueOnce('myRelease')
|
||||
.mockReturnValueOnce('myBody')
|
||||
.mockReturnValueOnce('false')
|
||||
.mockReturnValueOnce('false');
|
||||
|
||||
@@ -47,6 +48,7 @@ describe('Create Release', () => {
|
||||
repo: 'repo',
|
||||
tag_name: 'v1.0.0',
|
||||
name: 'myRelease',
|
||||
body: 'myBody',
|
||||
draft: false,
|
||||
prerelease: false
|
||||
});
|
||||
@@ -57,6 +59,7 @@ describe('Create Release', () => {
|
||||
.fn()
|
||||
.mockReturnValueOnce('refs/tags/v1.0.0')
|
||||
.mockReturnValueOnce('myRelease')
|
||||
.mockReturnValueOnce('myBody')
|
||||
.mockReturnValueOnce('true')
|
||||
.mockReturnValueOnce('false');
|
||||
|
||||
@@ -67,6 +70,7 @@ describe('Create Release', () => {
|
||||
repo: 'repo',
|
||||
tag_name: 'v1.0.0',
|
||||
name: 'myRelease',
|
||||
body: 'myBody',
|
||||
draft: true,
|
||||
prerelease: false
|
||||
});
|
||||
@@ -77,6 +81,7 @@ describe('Create Release', () => {
|
||||
.fn()
|
||||
.mockReturnValueOnce('refs/tags/v1.0.0')
|
||||
.mockReturnValueOnce('myRelease')
|
||||
.mockReturnValueOnce('myBody')
|
||||
.mockReturnValueOnce('false')
|
||||
.mockReturnValueOnce('true');
|
||||
|
||||
@@ -87,16 +92,40 @@ describe('Create Release', () => {
|
||||
repo: 'repo',
|
||||
tag_name: 'v1.0.0',
|
||||
name: 'myRelease',
|
||||
body: 'myBody',
|
||||
draft: false,
|
||||
prerelease: true
|
||||
});
|
||||
});
|
||||
|
||||
test('Release with empty body is created', async () => {
|
||||
core.getInput = jest
|
||||
.fn()
|
||||
.mockReturnValueOnce('refs/tags/v1.0.0')
|
||||
.mockReturnValueOnce('myRelease')
|
||||
.mockReturnValueOnce('') // <-- The default value for body in action.yml
|
||||
.mockReturnValueOnce('false')
|
||||
.mockReturnValueOnce('false');
|
||||
|
||||
await run();
|
||||
|
||||
expect(createRelease).toHaveBeenCalledWith({
|
||||
owner: 'owner',
|
||||
repo: 'repo',
|
||||
tag_name: 'v1.0.0',
|
||||
name: 'myRelease',
|
||||
body: '',
|
||||
draft: false,
|
||||
prerelease: false
|
||||
});
|
||||
});
|
||||
|
||||
test('Outputs are set', async () => {
|
||||
core.getInput = jest
|
||||
.fn()
|
||||
.mockReturnValueOnce('refs/tags/v1.0.0')
|
||||
.mockReturnValueOnce('myRelease')
|
||||
.mockReturnValueOnce('myBody')
|
||||
.mockReturnValueOnce('false')
|
||||
.mockReturnValueOnce('false');
|
||||
|
||||
@@ -114,6 +143,7 @@ describe('Create Release', () => {
|
||||
.fn()
|
||||
.mockReturnValueOnce('refs/tags/v1.0.0')
|
||||
.mockReturnValueOnce('myRelease')
|
||||
.mockReturnValueOnce('myBody')
|
||||
.mockReturnValueOnce('false')
|
||||
.mockReturnValueOnce('false');
|
||||
|
||||
|
||||
Reference in New Issue
Block a user