Two GitHub steps work with releases. GitHub · Create a release — A release for a tag, with notes. GitHub · Upload a release asset — Attaches a file from an earlier step to a release — a build, a PDF, anything people download from the release page.

Who can do this

Workspace Admins and Editors, on every plan. Viewers see the steps' settings but cannot change them.

Before you start

A GitHub connection whose token has the repository and Contents: Read and write (classic: repo) — see Connect GitHub. To upload an asset, an earlier step that brings the file into the run.

Steps

Create a release:

  1. Select + where the step should go. In the step picker, open Apps, select GitHub, then Create a release. Or search GitHub.
  2. In Connection, choose your GitHub connection.
  3. In Repository, choose the repository — for example consulace/billing-service.
  4. In Tag, the tag — v1.4.0. If the tag does not exist yet, GitHub makes it.
  5. Optional: in Name, the release's title. Empty uses the tag.
  6. Optional: in Notes, what changed — GitHub's Markdown works.
  7. Optional: in From branch, the branch a new tag is made from. Empty uses the default branch. An existing tag stays where it is.
  8. Optional: switch on Draft to keep it unpublished, or Pre-release to mark it as not ready for production. Both are off unless you switch them on.
  9. Select Run this step to try it. This publishes a real release, unless Draft is on.

Upload a release asset:

  1. In the step picker, under GitHub, select Upload a release asset, and choose the Connection and Repository.
  2. In Release tag, the tag of the release — v1.4.0, or {{ $json.tag }} from Create a release. A draft is found by the tag it will have, so you can attach files before publishing it.
  3. Under File, select Add a file and drag in the file from an earlier step — A file from an earlier step.
  4. Optional: in Name, the name it shows with on the release — Optional — the file's own name otherwise.
  5. Select Run this step to try it.

Output

Create a release:

Field What it is
id GitHub's id for the release.
tag Its tag — v1.4.0.
url The release's page on GitHub.
uploadUrl GitHub's upload address for its assets.
draft true for a draft.

Upload a release asset: id, name, size in bytes, and url — the address people download it from.

Good to know

  • Upload a release asset finds the release by its tag, and only a published one. GitHub does not find a draft by its tag, so upload to a release made without Draft, or publish it first.
  • One name, one asset. A release cannot hold two assets with the same name; give a different Name, or delete the old asset in GitHub first.
  • A tag can have only one release. Creating a second release for the same tag fails.
  • Files up to 250 MB pass between steps in Bizomate.
  • Publishing a release also starts any workflow with the GitHub · New release trigger on that repository — see Start a workflow from GitHub events.

If something goes wrong

What you see Why What to do
GitHub refused: Validation Failed — already_exists. Create a release: the tag already has a release. Upload a release asset: the release already has an asset with that name. Use another tag, or another Name.
GitHub refused: Not Found. (Upload a release asset) No published release has that tag — it is a draft, mistyped, or in another repository. Check the tag, and publish the release.
File is not a file from an earlier step. File holds no file in that run. Drag in a file from Data from earlier steps.
Tag is empty when the step ran — an earlier step may not have given the value it names. (or Release tag is empty …) The tag came out empty. Check the values it reads.
GitHub refused: Resource not accessible by personal access token. Check the connection's details on Connections. The token lacks Contents: Read and write. Add the permission in GitHub.