Need help with other JFrog products?

JFrog Enterprise+
JFrog Mission Control
JFrog Xray
JFrog Distribution
[JFrog Pipelines]
JFrog Bintray
JFrog Access
JFrog CLI


Using the latest JFrog Artifactory version? See the documentation here.

Skip to end of metadata
Go to start of metadata


Overview

Artifactory provides tight integration with Bamboo through the Bamboo Artifactory Plug-in. Beyond managing efficient deployment of your artifacts to Artifactory, the plug-in lets you capture information about artifacts deployed, dependencies resolved, environment data associated with the Bamboo build runs and more, that effectively facilitates fully traceable builds.

The Bamboo Artifactory Plug-in currently provides full support for Maven 3, Gradle, Ivy and NPM.  Generic download and upload using File Specs is also available.

Sources

The Bamboo Artifactory Plugin is an open-source project on GitHub which you can freely browse and fork.

Download

Plugin Compatibility:

The Bamboo Artifactory Plugin is fully tested for compatibility with the version of Bamboo that is current when the plugin is released. When a new version of Bamboo is released, the Marketplace lists the Bamboo Artifactory Plugin as incompatible, however, since we regularly update the plugin it is likely to maintain compatibility with patch or minor version upgrades of Bamboo. We recommend testing new Bamboo and plugins releases on a staging environment before upgrading the production environment.

Versions

Upgrading to version 2.x from version 1.x of the plugin requires new installation steps. Please refer to Installing the Plugin for more details.

VersionDownload linkCompatibility
3.0.1DownloadBamboo 6.10.x
2.7.2DownloadBamboo 6.9.x - 6.10.x
2.7.0DownloadBamboo 6.9.x
2.6.3DownloadBamboo 6.8.x - 6.9.x
2.6.2DownloadBamboo 6.5.x - 6.7.x
2.5.1DownloadBamboo 6.4.x
2.4.1Download

Bamboo 6.2.x - 6.3.x

2.2.0DownloadBamboo 6.1.x
2.1.1DownloadBamboo 6.0.x
2.1.0DownloadBamboo 5.14.x
1.13.0DownloadBamboo 5.14.x
1.11.2Download Bamboo 5.13.x
1.11.1Download Bamboo 5.12.x
1.10.3Download Bamboo 5.11.x
1.10.1 Download Bamboo 5.10.x
1.9.2 DownloadBamboo 5.9.x
1.7.7 Download Bamboo 5.8.x



Installing the Plugin

Requirements

  • Artifactory 2.2.5 or later. For best results and optimized communication, we recommend using the latest version of Artifactory.
  • Artifactory Pro is required for advanced features, such as License Control and enhanced Build Integration.
  • Maven 3.
  • Gradle 0.9 or later.
  • Ant and Ivy 2.1.0 or later.

Upgrading to Versions 2.x from Versions 1.x

If you are currently using a version of the plugin below 2.0.0 and would like to upgrade to version 2.0.0 or above, you need to migrate your Artifactory configuration data to the format expected by the type 2 plugin as described in the following steps:

1. If you are not already on version 1.13.0 of the plugin, upgrade to that version first.

2. From Bamboo Administration | Artifactory Plugin, click on the "Migrate data to v2" button.

3. Remove plugin version 1.13.0 and restart Bamboo.

4. You're now ready to install version 2.x according to the below instructions.

Installing Versions 2.x

From version 2.0.0, the Bamboo Artifactory Plugin is released as a type 2 plugin. You can read about installing type 2 plugins in the Bamboo documentation for Installing add-ons.

Installing Versions 1.x

Remove older versions

If you have an older version of the plug-in, be sure to remove it before upgrading to a newer one

For versions below 2.0.0, the plugin was released as a type 1 plugin and is deployed to Bamboo by placing the packaged plugin jar file into the $BAMBOO_INSTALLATION_HOME/atlassian-bamboo/WEB-INF/lib folder and restarting Bamboo.

For more details please refer to the Bamboo documentation for Installing Plugins type 1 add-ons.

Configuration

To use the Bamboo Artifactory plug-in you need to set up your Artifactory server(s) in Bamboo's server configuration. You can then set up a project builder to deploy artifacts and build-info to a repository on one of the configured Artifactory servers.

Configuring System-wide Artifactory Server(s)

To make Artifactory servers available to project configurations, they must be defined under Bamboo Administration | Manage Apps | Artifactory Plugin.  

Press New Artifactory Server to add a new server, fill in the required fields and press save.

Bamboo Artifactory Server Configuration

Configuring Artifactory Tasks

The Artifactory Generic Resolve Task

The Artifactory Generic Resolve task allows downloading files from Artifactory using File Specs. It allows collecting build-info, which can be later published to Artifactory using by the Artifactory Publish Build Info task.

  1. Before version 2.2.0, specifying artifact patterns was possible through Legacy Patterns, which became deprecated in version 2.2.0.
  2. Tasks which were created before version 2.7.0, publish the build-info to Artifactory directly, and not by the Publish Build Info task.


The Artifactory Generic Deploy Task

The Artifactory Generic Deploy task allows uploading files to Artifactory using File Specs. It allows collecting build-info, which can be later published to Artifactory using bu the Artifactory Publish Build Info task.

  1. Before version 2.2.0, specifying artifact patterns was possible through Legacy Patterns, which became deprecated in version 2.2.0.
  2. Tasks which were created before version 2.7.0, publish the build-info to Artifactory directly, and not by the Publish Build Info task.




The Collect Build Issues task

The build-info collected by the various Artifactory tasks, can also include the issues which were handled as part of the build. The list of issues is automatically collected by Bamboo from the git commit messages. This requires the project developers to use a consistent commit message format, which includes the issue ID and issue summary, for example:
BAP-1364 - Replace tabs with spaces
The list of issues can be then viewed in the Builds UI in Artifactory, along with a link to the issue in the issues tracking system.
The information required for collecting the issues is provided through a JSON configuration. This configuration can be provided as a file or as a JSON string.
Here's an example for issues collection configuration.


{
    "version": 1,
    "issues": {
        "trackerName": "JIRA",
        "regexp": "(.+-[0-9]+)\\s-\\s(.+)",
        "keyGroupIndex": 1,
        "summaryGroupIndex": 2,
        "trackerUrl": "http://my-jira.com/issues",
        "aggregate": "true",
        "aggregationStatus": "RELEASED"
    }
}

Configuration file properties:

Property name

Description

aggregate

Set to true, if you wish all builds to include issues from previous builds.

aggregationStatus

If aggregate is set to true, this property indicates how far in time should the issues be aggregated. In the above example, issues will be aggregated from previous builds, until a build with a RELEASE status is found. The RELWASE status is set to a build when a it is promoted using the Build Promotion functionality in added by the Bamboo Artifactory Plugin.
keyGroupIndex

The capturing group index in the regular expression used for retrieving the issue key. In the example above, setting the index to "1" retrieves BAP-1364 from this commit message:

BAP-1364 - Replace tabs with spaces

regexp

A regular expression used for matching the git commit messages. The expression should include two capturing groups - for the issue key (ID) and the issue summary. In the example above, the regular expression matches the commit messages as displayed in the following example:

BAP-1364 - Replace tabs with spaces

summaryGroupIndex

The capturing group index in the regular expression for retrieving the issue summary. In the example above, setting the index to "2" retrieves the sample issue from this commit message:

BAP-1364 - Replace tabs with spaces

trackerNameThe name (type) of the issue tracking system. For example, JIRA. This property can take any value.
trackerUrlThe issue tracking URL. This value is used for constructing a direct link to the issues in the Artifactory build UI.
VersionThe schema version is intended for internal use. Do not change!

The Publish Build Info task

The Publish Build Info task has been added in version 2.7.0. The task publishes the build-info collected by previous Artifactory tasks in the plan, if they are configured to collect build-info. For plans which include the Publish Build info task, the link to the published build-info is available in the Build Results area.


Plan tasks which were created before version 2.7.0, publish the build-info to Artifactory without the use of the Publish Build Info task.


The Artifactory Xray Scan Task

The Bamboo Artifactory Plugin is integrated with JFrog Xray through JFrog Artifactory allowing you to have build artifacts scanned for vulnerabilities and other issues. If issues or vulnerabilities are found, you may choose to fail a build job. This integration requires JFrog Artifactory v4.16 and above and JFrog Xray v1.6 and above.

For Xray to scan builds, you need to configure a Watch with the right filters that specify which artifacts and vulnerabilities should trigger an alert, and set a Fail Build Job Action for that Watch. You can read more about CI/CD integration with Xray here.

Next, add the Artifactory Xray Scan task to your plan and configure it.

To scan a build with Xray, the build-info must be already published to Artifactory. You should therefore make sure that one or more of the previous plan tasks is configured to collect build info and that the build-info is published to Artifactory.

Using File Specs

File Spec are specified in JSON format. They are used in the Generic Resolve and Generic Deploy tasks and in Bamboo Deployment tasks, File Specs are used in the Artifactory Download task, to specify the dependencies to be resolved from Artifactory or artifacts to be deployed to it.
You can use File Specs in one of the following ways:

  1. Manage them in your SCM, and then during the build, have them pulled to the workspace with the other sources. If you choose this option, you should select the "File" option in the "Upload spec source" or "Download spec source" field and specify the relative path to the File Spec in your workspace.
  2. Save the File Spec JSON as part of the job configuration. If you choose this option, you should select the "Job configuration" option in the "Upload spec source" or "Download spec source" field and specify the File Spec JSON content in your workspace in the "File path" field.

You can read the File Spec schema here.

Deployment Projects

The Bamboo Artifactory Plugin also supports Bamboo Deployment projects (read more about Deployment projects here).

  • The Artifactory Download task downloads artifacts from Artifactory. The artifacts to be downloaded are defined using File Specs.
  • The Artifactory Deployment task collects the build artifacts which are shared by the build plan associated with the deployment task, and uploads them to Artifactory. In addition, artifacts which were downloaded by Artifactory Download task are also available for deployment.

The "Artifacts Download" Task

The Artifacts Download task must be prior to the Artifactory Deployment task in the Deployment job flow.


Running a Build

Once you have completed setting up a project builder you can run it. The Artifactory plug-in commences at the end of the build and:

  1. Deploys all artifacts to the selected target repository in one go (as opposed to the deploy at the end of each module build, used by Maven/Ivy).
  2. Deploys the Artifactory build-info to the selected server, which provides full traceability of the build in Artifactory, with links back to the build in Bamboo.

Attaching Searchable Parameters

You can define parameters that should be attached to build info and artifacts that are deployed by the plugin.

To define a parameter, under Administration go to Build Resources | Global Variables, fill in a Key/Value pair and click Save.

The available parameter types are:

  • buildInfo.property.* - All properties starting with this prefix will be added to the root properties of the build-info.
  • artifactory.deploy.* - All properties starting with this prefix will be attached to any produced artifacts that are deployed.
Using a Properties File

Instead of defining properties manually, you can point the plug-in to a properties file.

To do so, define a property named buildInfoConfig.propertiesFile and set its value to the absolute path of the properties file.

Attaching Searchable Parameters

The given path and file should be present on the machine that is running the build agent, not the server.

Overriding Plan values using Bamboo Variables

The Artifactory Plugin supports overriding various in the plan configuration like Deployer credentials, Resolver credentials, repositories etc. 

If you wish to override any of the values specified in the table below, you need to configure them as Bamboo variables either through the UI or append then to the REST URL request as a query parameters.

When assigning any value to these Bamboo variables, it will override the job configuration.

 

Example with REST
curl -ubamboo-user:bamboo-password -XPOST 
"http://<BAMBOO HOST>:8085/rest/api/latest/queue/MVN-JOB?stage&executeAllStages&bamboo.variable.artifactory.override.deployer.username=new_username&bamboo.variable.artifactory.override.deployer.password=new_password"

In the example above, we use CURL to remotely invoke a Bamboo plan. We set the Deployer username and Deployer password for this specific request.

Note that we add the "bamboo.varaible" prefix to the query parameters.

Note that the sent values will be applied only if the specific task support them. For example: currently Artifactory Gradle tasks do not support Resolver credentials, hence those values will be ignored if sent.

Parameter nameDescriptionSupported jobs

artifactory.override.deployer.username


Deployer usernameMaven, Gradle, Ivy, Generic deploy

artifactory.override.deployer.password


Deployer passwordMaven, Gradle, Ivy, Generic deploy

artifactory.override.resolver.username


Resolver usernameMaven, Generic resolve

artifactory.override.resolver.password


Resolver passwordMaven, Generic resolve

artifactory.override.resolve.repo


Resolve repositoryMaven, Gradle

artifactory.override.deploy.repo


Deploy repositoryMaven, Gradle, Ivy, Generic deploy

artifactory.task.override.jdk

If set to true, check the value of artifactory.task.override.jdk.env.var.

If that variable is populated with an environment variable,

use the value of that environment variable as the Build JDK path.

If artifactory.task.override.jdk.env.var is not defined, use the value of JAVA_HOME for the Build JDK.

Maven, Gradle, Ivy

artifactory.task.override.jdk.env.var

Stores the name of another environment variable whose value should be used for the build JDK.Maven, Gradle, Ivy

Release Management

The Artifactory Plugin provides a powerful feature for release management and promotion. For details please refer to Bamboo Artifactory Plugin - Release Management.


Release Notes

 Click to see change log details
3.0.1 (16 Jan 2020)
  1. Bug fixes ( BAP-494 - Getting issue details... STATUS , BAP-495 - Getting issue details... STATUS ).
3.0.0 (23 Dec 2019)
  1. Artifactory npm task.  BAP-487 - Getting issue details... STATUS
  2. Build Issues-Collection task.  BAP-486 - Getting issue details... STATUS
  3. HTTP proxy support in Artifactory tasks.  BAP-204 - Getting issue details... STATUS
  4. Gradle 6 support.  BAP-493 - Getting issue details... STATUS
  5. Removed deprecated APIs.  BAP-484 - Getting issue details... STATUS
  6. Bug fixes ( BAP-492 - Getting issue details... STATUS , BAP-488 - Getting issue details... STATUS BAP-491 - Getting issue details... STATUS ).
2.7.2 (9 Sep 2019)
  1. Bug fix - Downloads using file specs may fail, if Artifactory's S3 Redirect feature is enabled.  BAP-477 - Getting issue details... STATUS
2.7.1 (30 Jul 2019)
  1. Bug fix - Releasing from plan branch broken. BAP-475 - Getting issue details... STATUS
2.7.0 (22 Jul 2019)
  1. Support aggregating build-info from multiple tasks. New tasks created since this version can publish build-info only by the use of the new Publish Build Info task. BAP-473 - Getting issue details... STATUS
  2. Bug fix - Gradle Artifactory Executable is not part of the plan requirements. BAP-474 - Getting issue details... STATUS
2.6.3 (2 May 2019)
  1. Compatibility with Bamboo 6.8.1. BAP-470 - Getting issue details... STATUS

  2. NPE when using different plans in one task with release management and picking wrong plan. BAP-469 - Getting issue details... STATUS

2.6.2 (28 Oct 2018)
  1. When adding a new Generic Deploy task a javascript error appears. BAP-453 - Getting issue details... STATUS

  2. The vcs.url property is not displayed properly in Artifactory. BAP-452 - Getting issue details... STATUS

2.6.1 (14 Oct 2018)
  1. Gradle, Maven and Ivy builds no longer support JDK 7

  2. Bamboo Deployment Project - Support deployment using FileSpecs BAP-443 - Getting issue details... STATUS

  3. Artifactory FileSpec from file ignores variable BAP-447 - Getting issue details... STATUS
  4. Concurrency issue in parallel deployment of artifacts using FileSpecs BAP-450 - Getting issue details... STATUS
  5. Matrix Parameters are not passed correctly BAP-446 - Getting issue details... STATUS
2.5.1 (26 June 2018)
  1. Gradle skips deployment to Artifactory when "Project uses the Artifactory Gradle Plugin" option is unchecked ( BAP-442 - Getting issue details... STATUS )
2.5.0 (18 June 2018)
  1. Support for build scan with JFrog Xray ( BAP-426 - Getting issue details... STATUS )
  2. Files uploaded to Artifactory using Files Specs are now uploaded in parallel using three threads ( BAP-433 - Getting issue details... STATUS )
  3. Large files downloads from Artifactory are now downloaded concurrently (using range request) ( BAP-427 - Getting issue details... STATUS )
  4. Bug fixes ( BAP-441 - Getting issue details... STATUS , BAP-432 - Getting issue details... STATUS , BAP-430 - Getting issue details... STATUS , BAP-425 - Getting issue details... STATUS , BAP-423 - Getting issue details... STATUS )
2.4.2 (3 June 2018)
  1. Compatibility with Bamboo 6.5.x ( BAP-439 - Getting issue details... STATUS )
2.4.1 (21 Jan 2018)
  1. Bug fix (BAP-422)
2.4.0 (17 Jan 2018)
  1. Support Download from Artifactory in Deployment Plans (BAP-413)
  2. Compatibility with Bamboo 6.3.x (BAP-415, BAP-419, BAP-421)
  3. Bug fixes (BAP-399, BAP-401, BAP-403, BAP-404, BAP-408, BAP-409, BAP-410, BAP-411, BAP-412, BAP-413, BAP-414, BAP-417)
2.3.0 (10 Oct 2017)
  1. Support pattern exclusion in File Specs (BAP-391)
  2. File specs AQL optimizations (BAP-395)
  3. Dependencies repositories have been added to the plugin's maven descriptor (BAP-397)
  4. Bug fixes (BAP-385, BAP-390, BAP-396)
2.2.0 (6 Aug 2017)
  1. File Specs support for the Generic Resolve and Generic Deploy Tasks (BAP-377)
  2. Upgrade JGit (BAP-381)
  3. Bug fixes (BAP-378, BAP-379, BAP-380, BAP-382, BAP-383, BAP-384, BAP-387)
2.1.1 (22 Jun 2017)
  1. Compatibility with Bamboo 6.0.x (BAP-376)
2.1.0 (20 Apr 2017)
  1. Artifactory Release Management API changes (BAP-374)
  2. Bug fixes(BAP-372, BAP-373)
2.0.2 (16 Feb 2017)
  1. Compatibility with Bamboo 5.15.x (BAP-370)
2.0.1 (29 Jan 2017)
  1. Bug fix (BAP-369)
1.10.2 (22 Sep 2016)
  1. Bug fixes (BAP-360, BAP-359)
1.10.1 (7 Apr 2016)
  1. Bug fixes (BAP-345)
1.10.0 (25 Feb 2016)
  1. Compatibility with Bamboo 5.10.x (BAP-336)
  2. Coordinate the deployment order of artifacts according to module info in the Gradle task (BAP-294)
  3. Bug fix (BAP-303)
1.9.2 (22 Dec 2015)
  1. Bug fixes (BAP-330, BAP-331)
1.9.1 (13 Dec 2015)
  1. Bug fix (BAP-312)
1.9.0 (26 Nov 2015)
  1. Support sending parameters when invoking Bamboo Artifactory tasks remotely. (BAP-281, BAP-232)
  2. New "Push to Maven Central" (BAP-284)
  3. Bug fixes (BAP-313, BAP-306, BAP-290, BAP-288)
1.8.2 (27 Oct 2015)
  1. Bug fixes (BAP-289, BAP-292, BAP-302)
1.8.1 (4 Aug 2015)
  1. Bug fix (BAP-282)
1.8.0 (15 Jun 2015)
  1. Add push to Bintray support (BAP-257)
  2. Make Artifactory Upload Task available for Deployment projects (BAP-264)
  3. Ability not to promote the version on Gradle Release Staging  (BAP-258)
  4. Bug fixes (BAP-270, BAP-269, BAP-267, BAP-266, BAP-261, BAP-260, BAP-254, BAP-246)
1.7.7 (30 Mar 2015)
  1. Support for Bamboo 5.8.x (BAP-249)
1.7.6 (14 Jan 2015)
  1. Support for Bamboo 5.7.x (BAP-230)
  2. Compatibility with Maven 3.2.5 (BAP-244)
  3. Enable overriding the Build JDK value using Bamboo variables (BAP-240)
  4. Bug fix (BAP-241)
1.7.5 (10 Nov 2014)
  1. Support Atlassian Stash source control management (BAP-206)
  2. Artifactory generic Resolve task (BAP-207)
  3. Maven 3 tasks - Record Implicit Project Dependencies and Build-Time Dependencies (BAP-225)
1.7.4 (12 Aug 2014)
  1. Support for Bamboo 5.6 (BAP-218)
  2. Bug fix (BAP-219)
1.7.3 (29 Jul 2014)
  1. Add support for Gradle 2.0 (GAP-153)
  2. Bug fix (BAP-212)
1.7.2 (25 Jun 2014)
  1. Bug fixes  (BAP-196BAP-208BAP-166)
1.7.1 (26 MAY 2014)
  1. A new check box that gives the ability to ignore artifacts that are not deployed according to include/exclude patterns. (BAP-180)
1.7.0 (06 Apr 2014)
  1. Fix Support for Bamboo 5.4+
  2. Supporting Git Shared Credentials in Release Management functionality (BAP-189
  3. Adding Version Control Url property to the Artifactory Build Info JSON. (BAP-200)
  4. Bug fixes ( BAP-197)
1.6.2 (24 Nov 2013)
  1. Fix Support for Bamboo 5.2
  2. Add Artifactory BlackDuck integration
  3. Bug fixes (BAP-182 BAP-184 BAP-186 BAP-184)
1.6.1 (03 Oct 2013)
  1. Support form Bamboo 5.1.1
  2. Bug fixes 1.6.1
1.6.0 (16 Jul 2013)
  1. Support form Bamboo 5.0
1.5.6 (03 Sep 2013)
  1. Support form Bamboo 4.2
1.5.5 (03 Sep 2012)
  1. Support for include/exclude captured environment variables (BAP-143)
  2. Bug fixes (MAP-41 MAP-40 GAP-129 BAP-148 IAP-32)
1.5.4 (25 Jun 2012)
  1. Support Bamboo 4.1.
  2. Bug fixes. (JIRA)
1.5.3 (02 Apr 2012)
  1. Support Bamboo 4.0.
1.5.2 (02 Apr 2012)
  1. Support Perforce for release management. (BAP-133)
  2. Bug fixes. (JIRA)
1.5.1 (05 Jan 2012)
  1. Compatible release plugin for version 3.4.2. (BAP-116)
  2. Support for Gradle properties deployment. (BAP-117)
  3. Uniqueicon for each Artifactory task type.
  4. Setting Bamboo job requirements correctly for all builder types. (BAP-125)
1.5.0 (11 Dec 2011)
  1. Compatible with bamboo version 3.3.x.
  2. Compatible with Gradle 1.0-milestone-6.
1.4.2 (19 Sep 2011)
  1. Bug fix (BAP-91)
1.4.1 (01 Aug 2011) 
  1. Support for Bamboo 3.2.x
  2. Bug fix (BAP-90)
1.4.0 (14 Jul 2011)
  1. Introducing Release Management capabilities.
  2. Generic Build Info support for all job types.
  3. Bug fixes.
1.3.2 (14 Jun 2011)
  1. Bug fix (BAP-65)
1.3.1 (13 Jun 2011)
  1. Bug fix (BAP-64)
1.3.0 (30 May 2011)
  1. Support for Bamboo 3.1.x
1.2.0 (2 Mar 2011)
  1. Support for Bamboo 3.x
1.1.0 (2 Jan 2011)
  1. Gradle Support - Gradle builds are now fully supported with the new Gradle builder
  2. Ivy builds now support custom Ivy patterns for artifacts and descriptors
  3. Support for Bamboo 2.7.x
1.0.3 (21 Nov 2010)
  1. Add Include/exclude pattern for artifacts deployment
  2. Bug fix (BAP-26)
1.0.2 (7 Nov 2010)
  1. Control for including published artifacts when running license checks
  2. Limiting license checks to scopes
  3. Control for turning off license discovery when running license checks



  • No labels