Managing build artifacts
You can list, retrieve, update, and delete any build artifacts with the Bitrise API.
If you add the Deploy to bitrise.io
Step to your Workflow, once the build has run, you can access the build artifacts in the build's Artifacts tab on bitrise.io.
Artifact retention for 365 days
Artifacts older than 365 days are permanently deleted.
You can also manage the generated artifacts with the Bitrise API.
Build retention for 200 days
On the Builds page of your app, we only show builds from the last 200 days. The same limit applies if you are searching for specific builds on the page. This
limitation also applies to most API calls: the GET/apps/{app-slug}/builds
endpoint and related endpoints can only return builds from the last 200 days.
However, there are two methods to get a build that is older than 200 days:
-
If you know the exact build URL, you can access the build.
-
You can use the
GET/apps/{app-slug}/archived-builds
API endpoint: Listing the archived builds of an app.
Endpoint |
Function |
Required role on the app's team |
---|---|---|
Listing build artifacts |
Any |
|
GET/apps/{app-slug}/builds/{build-slug}/artifacts/{artifact-slug} |
Retrieving data of a specific build artifact |
Any |
PATCH/apps/{app-slug}/builds/{build-slug}/artifacts/{artifact-slug} |
Updating a build artifact |
Owner, Admin, or Developer |
DELETE/apps/{app-slug}/builds/{build-slug}/artifacts/{artifact-slug} |
Deleting a build artifact |
Owner, Admin, or Developer |
Listing build artifacts
Required role
You must have a tester/QA, developer, admin, or owner role on the app's team to list build artifacts using the API.
For a complete list of user roles and role cheatsheets, check User roles on project teams.
To be able to use build artifact endpoints, you have to first list all artifacts that belong to an app’s build. The response will list all artifacts along with their slug which you will need later.
The required parameters are:
-
app slug
-
build slug
You can use the generated build artifact slug/s from the response output with other build artifact endpoints where the build artifact slug is a required parameter.
Request:
curl -X GET "https://api.bitrise.io/v0.1/apps/87a5991e180d91a9/builds/b234f959745082e0/artifacts" -H "accept: application/json" -H "Authorization: THE-ACCESS-TOKEN"
Response:
{ "data": [ { "title": "another_app-debug.apk", "artifact_type": "android-apk", "is_public_page_enabled": true, "slug": "92e0b6ecae87b832", "file_size_bytes": 1574799 }, { "title": "app-debug.apk", "artifact_type": "android-apk", "is_public_page_enabled": true, "slug": "54ae701761c4f956", "file_size_bytes": 1574793 } ], "paging": { "total_item_count": 2, "page_item_limit": 50 } }
Retrieving a specific build artifact's data
Required role
You must have a tester/QA, developer, admin, or owner role on the app's team to retrive a specific build's artifact data using the API.
For a complete list of user roles and role cheatsheets, check User roles on project teams.
You can retrieve detailed data of a specific build's artifacts with the artifacts endpoint. The response shows the filename, the artifact type, the download URL, and the file size.
The required parameters are:
-
app slug
-
build slug
-
artifact slug
Request:
curl -X GET "https://api.bitrise.io/v0.1/apps/87a5991e180d91a9/builds/b234f959745082e0/artifacts/92e0b6ecae87b832" -H "accept: application/json" -H "Authorization: THE-ACCESS-TOKEN"
Response:
{ "data": { "title": "another_app-debug.apk", "artifact_type": "android-apk", "expiring_download_url": "https://bitrise-prod-build-storage.s3.amazonaws.com/builds/b234f959745082e0/artifacts/7626902/another_app-debug.apk?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIAIV2YZWMVCNWNR2HA%2F20190426%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20190426T131627Z&X-Amz-Expires=600&X-Amz-SignedHeaders=host&X-Amz-Signature=9f1af26787f34b5cf0cbc18b2372313607b1e3c0203a9ce7e42da884a6ddf70f", "is_public_page_enabled": true, "slug": "92e0b6ecae87b832", "public_install_page_url": "https://www.bitrise.io/artifact/7626902/p/8e5b2c62abe28fecef09b271de767920", "file_size_bytes": 1574799 } }
By default, the value of the is_public_page_enabled
input is set to true
. This way the public_install_page_url
becomes available and you can view some basic information about the artifact via this URL. You can also download the artifact using
the download URL from the response output.
Disabling the public install page of an artifact
Required role
You must have a developer, admin, or owner role on the app's team to disable the public install page of an artifact using the API.
For a complete list of user roles and role cheatsheets, check User roles on project teams.
You can update the is_public_page_enabled
parameter of your APK and IPA files. Please note this parameter’s value is set to true
by default so you can only disable it with this endpoint.
The required parameters are:
-
app slug
-
build slug
-
artifact slug
Request:
curl -X PATCH "https://api.bitrise.io/v0.1/apps/87a5991e180d91a9/builds/b234f959745082e0/artifacts/54ae701761c4f956" -H "accept: application/json" -H "Authorization: THE-ACCESS-TOKEN" -H "Content-Type: application/json" -d "{ \"is_public_page_enabled\": false}"
Response:
{ "data": { "title": "app-debug.apk", "artifact_type": "android-apk", "expiring_download_url": "https://bitrise-prod-build-storage.s3.amazonaws.com/builds/b234f959745082e0/artifacts/7626904/app-debug.apk?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIAIV2YZWMVCNWNR2HA%2F20190503%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20190503T082800Z&X-Amz-Expires=600&X-Amz-SignedHeaders=host&X-Amz-Signature=7251fcbc0574ffac60b3f1d4a8c398658e49f0b86fb3cfec1500bde125738abc", "is_public_page_enabled": false, "slug": "54ae701761c4f956", "public_install_page_url": "", "file_size_bytes": 1574793 } }
If you check the build’s Artifacts
tab, you will see that the Public install page
toggle is disabled.
Deleting a build artifact
Required role
You must have a developer, admin, or owner role on the app's team to delete a build artifact using the API.
For a complete list of user roles and role cheatsheets, check User roles on project teams.
You can delete an app’s specific build artifact.
The required parameters are:
-
app slug
-
build slug
-
artifact slug
Request:
curl -X DELETE "https://api.bitrise.io/v0.1/apps/87a5991e180d91a9/builds/b234f959745082e0/artifacts/54ae701761c4f956" -H "accept: application/json" -H "Authorization: THE-ACCESS-TOKEN"
Response:
{ "data": { "title": "app-debug.apk", "artifact_type": "android-apk", "expiring_download_url": null, "is_public_page_enabled": true, "slug": "54ae701761c4f956", "public_install_page_url": "", "file_size_bytes": 1574793 } }
A Step is a block of script execution that encapsulates a build task on Bitrise: the code to perform that task, the inputs and parameters you can define for the task, and the outputs the task generates.
A Workflow is a collection of Steps, Environment Variables, and other configurations. When Bitrise starts a build, it runs one or more Workflows according to the configuration defined in the bitrise.yml
file.