Artifacts in Bamboo Server
Platform Notice: Data Center Only - This article only applies to Atlassian products on the Data Center platform.
Note that this KB was created for the Data Center version of the product. Data Center KBs for non-Data-Center-specific features may also work for Server versions of the product, however they have not been tested. Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.
*Except Fisheye and Crucible
Summary
The information on this page is an extension to Locating important directories and files, which describes how Artifact Sharing and GlobalStorage are kept in the Bamboo's Home directory.
Solution
Shared/Unshared artifacts
When Configuring a job's build artifacts, you are able to make it consumable OR not by - the same plan, other plans, deployment environment. What defines this feature is the Shared in the Artifacts >> Create definition view, which Make the artifact available to be used in other builds and deployments.

Once having a successful build that produced an artifact, you can run the following SQL statement to check where the same can be found under the <bamboo-home>/artifacts
directory:
Bamboo 5.12 and newer versions
1
2
3
4
5
6
7
8
9
10
11
select BUILD.BUILD_TYPE,
FULL_KEY,
ARTIFACT.BUILD_NUMBER,
ARTIFACT.CHAIN_ARTIFACT as SHARED,
STORAGE_TAG
from BUILD
join ARTIFACT on BUILD.FULL_KEY = ARTIFACT.PLAN_KEY
join BRS_ARTIFACT_LINK on ARTIFACT.ARTIFACT_ID = BRS_ARTIFACT_LINK.ARTIFACT_ID
join BUILDRESULTSUMMARY on BUILDRESULTSUMMARY.BUILDRESULTSUMMARY_ID = BRS_ARTIFACT_LINK.PRODUCERJOBRESULT_ID
where GLOBALLY_STORED = FALSE
order by PLAN_KEY, BUILD_NUMBER, SHARED;
BUILD_ID | BUILD_TYPE | FULL_KEY | BUILD_NUMBER | SHARED | STORAGE_TAG |
---|---|---|---|---|---|
950273 | CHAIN | PROJ-ART | 1 | true | plan-950273 |
950273 | CHAIN | PROJ-ART | 2 | true | plan-950273 |
950273 | CHAIN | PROJ-ART | 3 | true | plan-950273 |
950275 | CHAIN_BRANCH | PROJ-ART0 | 1 | true | plan-950275 |
950275 | CHAIN_BRANCH | PROJ-ART0 | 2 | true | plan-950275 |
360449 | CHAIN | PROJ-PLAN | 1 | true | PROJ-PLAN |
360449 | CHAIN | PROJ-PLAN | 2 | true | PROJ-PLAN |
360449 | CHAIN | PROJ-PLAN | 4 | true | PROJ-PLAN |
360450 | JOB | PROJ-PLAN-JOB1 | 3 | false | (null) |
With the information above, you can check where the artifact is listed under the <bamboo-home>/artifacts
directory:
Directory structure | Comments |
---|---|
<bamboo-home>/artifacts/plan-950273/shared/build-00001/ | This SHARED artifact relates to build ran against MASTER plan branch. |
<bamboo-home>/artifacts/plan-950273/shared/build-00002/ | This SHARED artifact relates to build ran against MASTER plan branch. |
<bamboo-home>/artifacts/plan-950273/shared/build-00003/ | This SHARED artifact relates to build ran against MASTER plan branch. |
<bamboo-home>/artifacts/plan-950275/shared/build-00001/ | This SHARED artifact relates to build ran against FEATUTE plan branch. |
<bamboo-home>/artifacts/plan-950275/shared/build-00002/ | This SHARED artifact relates to build ran against FEATUTE plan branch. |
<bamboo-home>/artifacts/PROJ-PLAN/shared/build-00001/ | This SHARED artifact relates Artifacts generated from a bamboo version prior Bamboo v5.12.x. |
<bamboo-home>/artifacts/PROJ-PLAN/shared/build-00002/ | This SHARED artifact relates Artifacts generated from a bamboo version prior Bamboo v5.12.x. |
<bamboo-home>/artifacts/PROJ-PLAN/shared/build-00004/ | This SHARED artifact relates Artifacts generated from a bamboo version prior Bamboo v5.12.x. |
<bamboo-home>/artifatcs/PROJ-PLAN/JOB1/build-00003/ | This UNSHARED artifact relates Artifacts generated from a bamboo version prior Bamboo v5.12.x. |
ℹ️ Since Bamboo 5.14.4, the storageTag variable in the build results can be used to determine the artifact path.
The variable which can be used to get the storage tag is: "${bamboo.plan.storageTag}" (The storage tag is static and won't change for a plan).
Bamboo older than 5.12.x
1
2
3
4
5
6
7
8
9
select ARTIFACT.ARTIFACT_ID,
BUILDRESULTSUMMARY.BUILD_KEY,
ARTIFACT.BUILD_NUMBER,
ARTIFACT.CHAIN_ARTIFACT as SHARED
from ARTIFACT
join BRS_ARTIFACT_LINK on BRS_ARTIFACT_LINK.ARTIFACT_ID = ARTIFACT.ARTIFACT_ID
join BUILDRESULTSUMMARY on BUILDRESULTSUMMARY.BUILDRESULTSUMMARY_ID = BRS_ARTIFACT_LINK.PRODUCERJOBRESULT_ID
where GLOBALLY_STORED = FALSE
order by PLAN_KEY, BUILD_NUMBER;
ARTIFACT_ID | BUILD_KEY | BUILD_NUMBER | SHARED |
---|---|---|---|
8585217 | PROJ-PLAN-JOB1 | 1 | true |
8585218 | PROJ-PLAN-JOB1 | 2 | false |
With the information above, you can check where the artifact is listed under the <bamboo-home>/artifacts
directory:
Directory structure |
---|
<bamboo-home>/artifacts/PROJ-PLAN/shared/build-00001/ |
<bamboo-home>/artifatcs/PROJ-PLAN/JOB1/build-00002/ |
Plan directory information
If some of your tasks require direct access to build artifacts, you can enable REST endpoint to access this information. More details at page Plan directory information REST API
GlobalStorage
You may find a directory called globalStorage under "<bamboo-home>/artifacts
".
Directories under globalStorage are created when:
the shared artifact generated by a build has been consumed by a Deployment (Sharing artifacts from a build plan to a deployment environment) AND;
the build result that originally produced the shared artifact has been deleted (Deleting the results of a plan build) OR expired (Configuring global expiry or Configuring expiry of a plan's job build results).
These artifacts are moved to the globalStorage in case they are referenced by a Deployment version - so they are skipped from being removed.
1
2
3
4
5
6
7
select ARTIFACT.ARTIFACT_ID,
ARTIFACT.PLAN_KEY as BUILD_KEY,
ARTIFACT.BUILD_NUMBER,
ARTIFACT.CHAIN_ARTIFACT as SHARED
from ARTIFACT
where GLOBALLY_STORED = TRUE
order by PLAN_KEY, BUILD_NUMBER;
ARTIFACT_ID | BUILD_KEY | BUILD_NUMBER | SHARED |
---|---|---|---|
8585219 | PROJ-PLAN | 3 | true |
With the information above, you can check if the artifact is listed under "<bamboo-home>/artifacts
" directory:
ARTIFACT_ID | BUILD_KEY | BUILD_NUMBER | SHARED | Directory structure |
---|---|---|---|---|
8585219 | PROJ-PLAN | 3 | true | <bamboo-home>/artifacts/globalStorage/8585219/ |
To understand which Deployment Project, Environment and Releases are still referencing artifacts within globalStorage, you can use the below SQL query to get the ARTIFACT_ID
to map back to the contents of <bamboo-home>/artifacts/globalStorage
:
1
2
3
4
5
6
7
8
9
10
11
SELECT DP.Name as DeploymentProject, DE.name as Environment, version_name, A.plan_key as ArtifactSourceBuildPlan,
A.build_number as ArtifactSourceBuildNumber, A.artifact_id, a.artifact_size, a.globally_stored, a.link_type
FROM ARTIFACT A
JOIN DEPLOYMENT_VERSION_ITEM_BA DVIB ON A.ARTIFACT_ID = DVIB.ARTIFACT_ID
JOIN DEPLOYMENT_VERSION_ITEM DVI ON DVIB.VERSION_BAM_ARTIFACT_ITEM_ID = DVI.DEPLOYMENT_VERSION_ITEM_ID
JOIN DEPLOYMENT_VERSION DV ON DVI.DEPLOYMENT_VERSION_ID = DV.DEPLOYMENT_VERSION_ID
JOIN DEPLOYMENT_PROJECT DP ON DV.PROJECT_ID = DP.DEPLOYMENT_PROJECT_ID
JOIN DEPLOYMENT_RESULT DR ON DV.DEPLOYMENT_VERSION_ID = DR.VERSION_ID
JOIN DEPLOYMENT_ENVIRONMENT DE ON DE.ENVIRONMENT_ID = DR.ENVIRONMENT_ID
WHERE GLOBALLY_STORED IS TRUE
ORDER BY ARTIFACT_SIZE, ARTIFACT_ID
Was this helpful?