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:
- Select + where the step should go. In the step picker, open Apps, select GitHub, then Create a release. Or search GitHub.
- In Connection, choose your GitHub connection.
- In Repository, choose the repository — for example consulace/billing-service.
- In Tag, the tag — v1.4.0. If the tag does not exist yet, GitHub makes it.
- Optional: in Name, the release's title. Empty uses the tag.
- Optional: in Notes, what changed — GitHub's Markdown works.
- Optional: in From branch, the branch a new tag is made from. Empty uses the default branch. An existing tag stays where it is.
- 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.
- Select Run this step to try it. This publishes a real release, unless Draft is on.
Upload a release asset:
- In the step picker, under GitHub, select Upload a release asset, and choose the Connection and Repository.
- 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. - Under File, select Add a file and drag in the file from an earlier step — A file from an earlier step.
- Optional: in Name, the name it shows with on the release — Optional — the file's own name otherwise.
- 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. |