Bamboo artifact definition syntax examples

Still need help?

The Atlassian Community is here for you.

Ask the community

Platform notice: Server and Data Center only. This article only applies to Atlassian products on the Server and Data Center platforms.

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

 

Problem

My artifact copy pattern is not selecting the right files.


Answer

An artifact is defined in Bamboo by the use of an Ant Copy Pattern and a location relative to the top of the build directory.

Many approaches can be used to select files to be included as an artifact so there are bound to be many ways to do this. 

At this time, we only provide functionality for the inclusive identification of files, not exclusion.


There are three parts to defining an artifact:

The Name will be how you can refer to the artifact in later stages.  

The Location. This is a way of applying the selection pattern to a location deeper in the build directory.  See the examples below. 

The Copy pattern. This is the regular expression that will determine what gets selected. 

EXAMPLES

The easiest way to define an artifact is to find a "location" as close as possible to the actual artifact elements and then use a simple pattern to select those files.  

Given a file structure below which is inside a PROJ-PLAN-JOB directory:


You can use the following artifact definitions to extract particular sets or combinations of files that will make up that artifact:


NameLocationCopy pattern
All the files that are Jars (no txt files) under ArtifactTestPROJ-PLAN-JOB/ArtifactTest**/*.jar
Everything under ArtifactTest, including subdirectories and their filesPROJ-PLAN-JOB/ArtifactTest**/*
All Files in the firstDir, but not subdirectoriesPROJ-PLAN-JOB/ArtifactTest/firstDirfirstDir/*
All Files and subdirectories within firstDirPROJ-PLAN-JOB/ArtifactTest/firstDirfirstDir/**
All Files in the filesDirPROJ-PLAN-JOB/ArtifactTest/firstDir/secondDir/filesDirfirstDir/secondDir/FilesDir/*
Only jars in the filesDirPROJ-PLAN-JOB/ArtifactTest/firstDir/secondDir/filesDirfirstDir/secondDir/FilesDir/*.jar


A good article that contains more examples can be found here:


Last modified on Mar 16, 2022

Was this helpful?

Yes
No
Provide feedback about this article
Powered by Confluence and Scroll Viewport.