| body | Note-worthy description of changes in release | no | — |
| body_path | Path to load note-worthy description of changes in release from | no | — |
| name | Gives the release a custom name. Defaults to tag name | no | — |
| tag_name | Gives a tag name. Defaults to github.ref_name. refs/tags/<name> values are normalized to <name>. | no | — |
| draft | Keeps the release as a draft. Defaults to false. When reusing an existing draft release, set this to true to keep it draft; omit it to publish after upload. On immutable-release repositories, use this for prereleases that upload assets and publish the draft later. | no | — |
| prerelease | Identify the release as a prerelease. Defaults to false | no | — |
| preserve_order | Upload artifacts sequentially in the provided order. This does not control the final display order GitHub uses for release assets. | no | — |
| files | Newline-delimited list of path globs for asset files to upload. Escape glob metacharacters when matching literal filenames that contain them. `~/...` expands to the runner home directory. On Windows, both \ and / path separators are accepted. GitHub may normalize raw asset filenames that contain special characters; the action restores the asset label when possible, but the final download name remains GitHub-controlled. | no | — |
| working_directory | Base directory to resolve 'files' globs against. Defaults to the workspace root used by the action step. | no | — |
| overwrite_files | Overwrite existing files with the same name. Defaults to true | no | true |
| fail_on_unmatched_files | Fails if any of the `files` globs match nothing. Defaults to false | no | — |
| repository | Repository to make releases against, in <owner>/<repo> format | no | — |
| token | Authorized GitHub token or PAT. Defaults to github.token when omitted. A non-empty explicit token overrides GITHUB_TOKEN. Passing an empty string treats the token as unset. | no | ${{ github.token }} |
| target_commitish | Commitish value that determines where the Git tag is created from. Can be any branch or commit SHA. When creating a new tag for an older commit, `github.token` may not have permission to create the ref; use a PAT or another token with sufficient contents permissions if you hit 403 `Resource not accessible by integration`. | no | — |
| discussion_category_name | If specified, a discussion of the specified category is created and linked to the release. The value must be a category that already exists in the repository. If there is already a discussion linked to the release, this parameter is ignored. | no | — |
| generate_release_notes | Whether to automatically generate the name and body for this release. If name is specified, the specified name will be used; otherwise, a name will be automatically generated. If body is specified, the body will be pre-pended to the automatically generated notes. | no | — |
| previous_tag | Optional. When generate_release_notes is enabled, use this tag as GitHub's previous_tag_name comparison base. If omitted, GitHub chooses the comparison base automatically. | no | "" |
| append_body | Append to existing body instead of overwriting it. Default is false. | no | — |
| make_latest | Specifies whether this release should be set as the latest release for the repository. Drafts and prereleases cannot be set as latest. Can be `true`, `false`, or `legacy`. Uses GitHub api default if not provided | no | — |