[Bamboo Knowledge Base]
The Jenkins Importer helps you to migrate projects deployed via the Jenkins continuous integration tool to Bamboo.
While the importer assists and supports the migration of projects from Jenkins to Bamboo, a small amount of manual configuration may also be required.
Jenkins Version | Required Dependencies* | Jenkins Project Types | Repository Types | Build Steps | Notifications | Parameter Types | Other plugins |
---|---|---|---|---|---|---|---|
Jenkins 1.494 and later | Jenkins built-in job dependencies Pipelines plugin 1.3.3 Join plugin 1.15 | Freestyle Maven Matrix | Git 1.1.25 SVN 1.43 Mercurial CVS Perforce | Maven Ant 1.1 Script | Boolean Choice String Password | EnvInject plugin 1.73 JavaDoc 1.0 Wall Display plugin |
The Required Dependencies are the functional Jenkins plugins that the Bamboo Jenkins Importer requires to be present. These must be present in your Jenkins instance.
You must have administration privilidges to run the Jenkins Importer
The Jenkins Importer is accessed from the welcome screen or Administration panel. To start the Jenkins Importer:
From the Bamboo Welcome screen:
From anywhere within the Bamboo interface:
The Locate Jenkins screen will appear.
You may either import Jenkins data from its home location on the Bamboo server, or you may import from a zipped archive of your Jenkins home:
From the Locate Jenkins interface:
From anywhere within the Bamboo interface:
When creating your Jenkins zip archive, you need to remove or exclude the userContent and builds directory for each job from the archive before zipping:
Bamboo Jenkins Importer supports only ZIP file archives. Other archive formats such as tar and tar.gz are not currently supported.
Once you have selected your Jenkins data and clicked Next, the Jenkins job and pipeline selector will open.
The Job and Pipeline selector screen allows you to select and configure which Jenkins import items you would like to import into Bamboo. Import items include Jenkins pipelines and jobs, and the importer will identify how many items were found for processing:
The Jenkins Importer processes both Jenkins pipelines and jobs, but handles each differently:
Jenkins Import Item | Description | Bamboo Equivalent | Jenkins Importer Process |
---|---|---|---|
Pipeline | A group of associated jobs linked using a Jenkins pipeline | Plan |
|
Job | A stand alone build job | Job |
|
Importing a Jenkins job
To import a Jenkins job:
By default, all jobs are selected for importing. To reject a Jenkins job for importation:
To import a Jenkins pipeline, all of the associated jobs must be imported. The importing of individual jobs is described above.
By default, the Jenkins Importer uses the Jenkins import item name as the default for the Bamboo name. To change the default name:
Existing Bamboo plans are not overwritten when you use the Jenkins Importer. When importing Jenkins data, Bamboo creates a new project called 'Imported from Jenkins' to contain all of the newly imported plans.
When you have identified and selected all of the Jenkins import items that you require, click Next at the bottom of the screen. Bamboo will start to import the specified plans and a progress indicator screen will display:
Once importing has finished, the importer results screen will display.
The Importer Results screen shows the success outcome of the import activity for each import item. The three possible success outcomes are:
An example of Importer results is seen below.
A 'success' result indicates that the Jenkins item was successfully imported into Bamboo. No additional work is required.
A 'partial' result indicates that the import was partially successful, however there may be unmapped configuration or other issues that require attention.
A 'fail' result indicates that the importer was unable to import the Jenkins job or pipeline if the repository type is unsupported, none of the build steps could be converted to tasks or another unknown error occurred.
In the case of a fail or partial, additional information can be obtained from the Import log, which provides the following:
An example Import Log entry can be seen below:
-------------------------------------------------------------------------------------- Job name: SPLAN_DOCS SEVERITY: HIGH Unsupported configuration for plugin 'ClearCase UCM Plugin' --------------------------------------------------------------------------------------
It is possible that an import item has multiple problems/issues. Where this is the case, the Import Log will identify the severity and brief description for each problem/issue associated with an import item. An example Import Log entry detailing multiple problems/issues can be seen below:
-------------------------------------------------------------------------------------- Job name: DLINK_CODE_CHECK SEVERITY: HIGH Unsupported configuration for plugin 'ClearCase Plugin' SEVERITY: HIGH Requested plugin parameterized-trigger but we don't support it SEVERITY: HIGH Requested plugin downstream-ext but we don't support it SEVERITY: FATAL Scm cannot be imported --------------------------------------------------------------------------------------
The import log is accessed by clicking on the Import Log link associated with an import issue, or by clicking on the Download import log file button at the base of the Import Results screen.
From time to time, Bamboo may not support particular Jenkins functionality. When this occurs, a great place to look is the Atlassian Marketplace. The Marketplace contains over 120 add-ons and plugins for Bamboo, and you will more than likely find a plugin for your functionality there. If you can't find what you need in the Marketplace, then consult the 'Getting help' section below.
Once you have completed examining the importer results, click on View Plans to examine the imported plans in the Bamboo dashboard. An example of plans imported from Jenkins is seen below:
Imported plans can now be configured and managed using existing Bamboo methods.
Help with the Jenkins importer is never far away. The best way to get help is to raise a support ticket directly via the Atlassian support site.
To create a support ticket: