https://github.com/buildstash/azure-devops-extension
Azure Pipelines extension, provides a task for simple uploading of build artifacts into Buildstash
https://github.com/buildstash/azure-devops-extension
azure azure-devops azure-devops-extensions azure-devops-pipelines azure-pipelines azure-pipelines-extensions build build-artifacts buildstash
Last synced: 29 days ago
JSON representation
Azure Pipelines extension, provides a task for simple uploading of build artifacts into Buildstash
- Host: GitHub
- URL: https://github.com/buildstash/azure-devops-extension
- Owner: Buildstash
- License: mit
- Created: 2025-06-26T22:19:18.000Z (12 months ago)
- Default Branch: master
- Last Pushed: 2025-06-29T23:55:56.000Z (12 months ago)
- Last Synced: 2025-06-30T00:29:30.674Z (12 months ago)
- Topics: azure, azure-devops, azure-devops-extensions, azure-devops-pipelines, azure-pipelines, azure-pipelines-extensions, build, build-artifacts, buildstash
- Language: JavaScript
- Homepage: https://marketplace.visualstudio.com/items?itemName=Buildstash.buildstash-tasks
- Size: 114 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Buildstash Azure DevOps Extension
This Azure DevOps extension allows you to upload build artifacts to Buildstash.
Buildstash is a platform for software teams to manage all their past builds, organize, share with team members, and steer through to deployment or publishing.
## Features
- Upload software builds, for any platform
- Attach associated metadata to builds - such as git commit, Azure Pipelines run data, etc
- Once stored in Buildstash, builds can be be powerfully organized, shared, and more
## Installation
Install the extension to your Azure DevOps organization via the marketplace at https://marketplace.visualstudio.com/items?itemName=Buildstash.buildstash-tasks
Add the Buildstash upload task to your pipeline script, using the example below.
Add the application specific API key as a secret variable for your pipeline, with name BUILDSTASH_API_KEY.
Note: You will need to have an active Buildstash account and API key for your application, sign up at [buildstash.com](https://buildstash.com)
## Usage
Add the "Upload to Buildstash" task to your Azure DevOps pipeline:
```yaml
- task: BuildstashUpload@1
displayName: Upload to Buildstash
inputs:
apiKey: $(BUILDSTASH_API_KEY)
structure: 'file'
primaryFilePath: 'example.exe'
versionComponent1Major: '1'
versionComponent2Minor: '0'
versionComponent3Patch: '1'
versionComponentExtra: 'beta'
versionComponentMeta: '2024.12.02'
customBuildNumber: '12345'
platform: 'windows'
stream: 'default'
# Optional build associations
labels: |
to-review
signed
architectures: |
x64
x86
# Optional CI info
ciBuildDuration: '15m30s'
# Optional VC info
vcHostType: 'git'
vcHost: 'github'
vcRepoName: $(Build.Repository.Name)
vcRepoUrl: $(Build.Repository.Uri)
vcBranch: $(Build.SourceBranchName)
vcCommitSha: $(Build.SourceVersion)
vcCommitUrl: $(Build.Repository.Uri)/commit/$(Build.SourceVersion)
```
## Input Parameters
### Required
- **Primary File Path**: Path to the primary build artifact file to upload
- **Structure**: Structure type for the upload (`file` or `file+expansion`)
- **API Key**: Buildstash API key for authentication (should be passed in as a secret variable)
### Optional
- **Expansion File Path**: Path to the optional expansion file to upload (can be used to upload Android .obb files with a primary .apk)
- **Version Components**: Major, minor, patch version components, with optional extra and meta components
- **Custom Build Number**: Custom build number, in any preferred format
- **Version Control Information**: Host type, host, repository details, branch, commit information
- **Platform**: Platform name (must exactly match platform slug attached to your app)
- **Stream**: Stream name (must exactly match)
- **Notes**: Optional build notes
## Adjust Timeout
By default Azure DevOps will timeout jobs after 60 minutes.
This is probably fine, but if you are uploading a particularly massive build, or have a slow connection, you may wish to tweak this.
This is done on the job as below:
```yaml
jobs:
- job: Test
timeoutInMinutes: 60 # how long to run the job before automatically cancelling in minutes - increase if needed for large uploads
```
Refer to [Azure docs for more detail](https://learn.microsoft.com/en-us/azure/devops/pipelines/process/phases?view=azure-devops&tabs=yaml#timeouts).