Importing data from Jenkins
The Jenkins Importer helps you to migrate projects deployed in Jenkins to Bamboo.
On this page:
Requirements & supported configurations
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.581 | 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.
Using the Jenkins importer
1. Start the importer
You must have administration priviliges to run the Jenkins Importer.
The Jenkins Importer is accessed from the welcome screen or Administration panel. To start the Jenkins Importer:
If running Bamboo for the first time
From the Bamboo Welcome screen:
- Click Import from...
- Select Import from Jenkins.
If already running Bamboo
From anywhere within the Bamboo interface:
- Click on the Administration tab at the top of the Bamboo interface
- Scroll down to the System side panel
- Click on Import from Jenkins.
The Locate Jenkins screen will appear.
2. Select Jenkins data for importing
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:
Importing from the Jenkins home location
From the Locate Jenkins interface:
- Click the Source of Jenkins home dropdown menu
- Select Location on the Bamboo server
- Enter the path to your Jenkins home directory in the text field
- Click Next.
Importing from an archived Jenkins home
From anywhere within the Bamboo interface:
- Click the Source of Jenkins home dropdown menu
- Select Upload a zip archive
- Click Choose Files. A file manager window will open. Us it to locate your zipped Jenkins home directory
- Click Next.
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:
- Make a copy of Jenkins home
- Remove/exclude the userContent directory
- Remove/exclude the builds directory
- Zip the archive.
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.
3. Configure Jenkins data for import
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:
- Locate the relevant Jenkins Import item on the selector screen
- Ensure the Import Jobs check box is checked
- Enter a Bamboo Job Name (or leave to accept the default name from Jenkins)
- Check the Enabled in Bamboo? check box. To disable an imported job, leave the box unchecked. Bamboo will not automatically run a disabled job.
By default, all jobs are selected for importing. To reject a Jenkins job for importation:
- Locate the relevant Jenkins Import item on the selector screen
- Uncheck the Import Jobs check box
Importing a Jenkins pipeline
To import a Jenkins pipeline, all of the associated jobs must be imported. The importing of individual jobs is described above.
Changing the imported Bamboo plan or job name
By default, the Jenkins Importer uses the Jenkins import item name as the default for the Bamboo name. To change the default name:
- Locate the relevant Jenkins Import item on the selector screen
- Enter a new name in the Bamboo Plan Name text field
Existing Bamboo plans
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.
Starting the import
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.
4. Review the importer results
The Importer Results screen shows the success outcome of the import activity for each import item. The three possible success outcomes are:
- Success
- Partial
- Fail
An example of Importer results is seen below.
Success
A 'success' result indicates that the Jenkins item was successfully imported into Bamboo. No additional work is required.
Partial
A 'partial' result indicates that the import was partially successful, however there may be unmapped configuration or other issues that require attention.
Fail
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.
The Import log
In the case of a fail or partial, additional information can be obtained from the Import log, which provides the following:
- The name of the attempted job import
- The severity if the problem/issue. Severity is rated as:
- Low – warning that might be interesting to the administrator such as how dependencies were imported
- Medium – unsupported publishers or other configurations that are non-crital to running the build
- High – unsupported repository or none of the build steps could be imported
- Fatal – un-handled error that prevents the job from importing at all
- A brief description of the problem/issue.
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.
Missing or incompatible plugins
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.
5. View the imported plans
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.
Getting Help
Support
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:
- Download the import log
- Go to https://support.atlassian.com and select Create New Issue
- Enter a detailed description of your problem within the support ticket
- Attach the import log and lodge your support ticket
- Wait to be notified of updates by Email