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.

(Auto-migrated image: description temporarily unavailable)

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:

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
Updated on April 17, 2025

Still need help?

The Atlassian Community is here for you.