GitHub Actions
Send build artifacts from your GitHub Actions workflows into Buildstash
If you’re using GitHub Actions sending your build artifacts into Buildstash is easy.
Create your application API token
Create API token
In your application settings, navigate to the “Connections” tab, and select “New Token”.
Call the token anything you like - ideally something that helps you remember where it’s being used.
Safely store for use
Your new API token will be shown.
Note this is the only time the token will be shown, so be careful to record it securely (like in a password manager).
Add Buildstash action to your workflow
Install Buildstash action
Go to the Buildstash action page on the GitHub Marketplace
.
You can copy and paste the provided code into your workflow yaml script.
Add API key to your 'Actions secrets' for the repository
Take the Buildstash API key you created in the step above, and store it as a “Actions” secret.
Note, as you’ll be using an application-specific Buildstash API key (required to upload builds for particular app) you likely want to store this secret on your GitHub repository level, rather than workspace.
Tweak input values accordingly
Update the action inputs to pass in your project and run specific values.
See below for more detail on each input.
See your builds appear in Buildstash!
Successful GitHub Actions runs will now be sending your builds into Buildstash. Welcome to artifact management actually designed for apps.
Inputs
A breakdown of all required and optional inputs for the GitHub action.
Input Name | Required? | Description |
---|---|---|
api_key | Yes | Application specific API Key, should be stored and pass in as a secret |
structure | Yes | Structure type. Either `file` (for single file build) or `file+expansion` (for a primary build file with a single expansion file, i.e. apk + obb) |
primary_file_path | Yes | Path to the primary file to upload |
expansion_file_path | No | Path to an expansion file to be paired with primary (optional) |
version_component_1_major | Yes | Major version component |
version_component_2_minor | Yes | Minor version component |
version_component_3_patch | Yes | Patch version component |
version_component_extra | No | Extra version component (optional). Pre-release label like ‘beta’ or ‘alpha’ |
version_component_meta | No | Meta version component (optional). Can be used to add additional metadata to your version, such as data (`2025.01.01`) |
custom_build_number | No | Allows a flexible format custom build number if you have one. (Optional) |
ci_pipeline | No | CI pipeline name |
ci_run_id | No | CI run ID |
ci_run_url | No | CI run URL |
ci_build_duration | No | CI build duration |
vc_host_type | No | Version control host type |
vc_host | No | Version control host |
vc_repo_name | No | Repository name |
vc_repo_url | No | Repository URL |
vc_branch | No | Branch name |
vc_commit_sha | No | Commit SHA |
vc_commit_url | No | Commit URL |
platform | Yes | Platform string (generic,windows,macos,android,ios,quest,linux) |
stream | Yes | Stream - the exact name of the stream on your app this build will be sent to |
notes | No | Build notes (optional) |
Outputs
A breakdown of all required and optional inputs for the GitHub action.
Output Name | Description |
---|---|
build_id | Buildstash ID associated with the newly created build |
build_info_url | URL to view the build information on Buildstash |
download_url | URL to download the build on Buildstash (requires authentication in workspace and permission to access build) |