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:
Christopher Sexton
2019-10-21 11:53:32 -04:00
parent 038c480249
commit becafb2f61
5 changed files with 44 additions and 2 deletions

View File

@@ -12,6 +12,7 @@ For more information on these inputs, see the [API Documentation](https://develo
- `tag_name`: The name of the tag for this release
- `release_name`: The name of the release
- `body`: Text describing the contents of the release
- `draft`: `true` to create a draft (unpublished) release, `false` to create a published one. Default: `false`
- `prerelease`: `true` to identify the release as a prerelease. `false` to identify the release as a full release. Default `false`
@@ -49,6 +50,10 @@ jobs:
with:
tag_name: ${{ github.ref }}
release_name: Release ${{ github.ref }}
body: |
Changes in this Release
- First Change
- Second Change
draft: false
prerelease: false
```