If you’re using GitHub Actions sending your build artifacts into Buildstash is easy.

Create your application API token

1

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.

2

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

1

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.

2

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.

3

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.

4

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 NameRequired?Description
api_keyYesApplication specific API Key, should be stored and pass in as a secret
structureYesStructure 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_pathYesPath to the primary file to upload
expansion_file_pathNoPath to an expansion file to be paired with primary (optional)
version_component_1_majorYesMajor version component
version_component_2_minorYesMinor version component
version_component_3_patchYesPatch version component
version_component_extraNoExtra version component (optional). Pre-release label like ‘beta’ or ‘alpha’
version_component_metaNoMeta version component (optional). Can be used to add additional metadata to your version, such as data (`2025.01.01`)
custom_build_numberNoAllows a flexible format custom build number if you have one. (Optional)
ci_pipelineNoCI pipeline name
ci_run_idNoCI run ID
ci_run_urlNoCI run URL
ci_build_durationNoCI build duration
vc_host_typeNoVersion control host type
vc_hostNoVersion control host
vc_repo_nameNoRepository name
vc_repo_urlNoRepository URL
vc_branchNoBranch name
vc_commit_shaNoCommit SHA
vc_commit_urlNoCommit URL
platformYesPlatform string (generic,windows,macos,android,ios,quest,linux)
streamYesStream - the exact name of the stream on your app this build will be sent to
notesNoBuild notes (optional)

Outputs

A breakdown of all required and optional inputs for the GitHub action.

Output NameDescription
build_idBuildstash ID associated with the newly created build
build_info_urlURL to view the build information on Buildstash
download_urlURL to download the build on Buildstash (requires authentication in workspace and permission to access build)