December Updates for the Jenkins to Bitbucket Pipelines Migration Tool

 

Hello everyone!

We are excited to announce the December update for the Jenkins to Bitbucket Pipelines Migration Tool, featuring enhancements that support a wider range of plugins! This improvement is designed to make your transition from Jenkins to Bitbucket Pipelines even smoother and more comprehensive.

Jenkins Parallel Stages Mapping

We are also pleased to share that we now support mapping parallel stages from Jenkins into parallel steps in Bitbucket Pipelines. This addition will further enhance your ability to migrate complex Jenkins pipelines seamlessly.

Newly Supported Jenkins Plugins

We have expanded our support to include the following additional plugins:

  • deleteDir

  • error

  • mail

  • sleep

  • sshagent

  • sshCommand

  • sshGet

  • sshPut

  • sshRemove

  • sshScript

  • unzip

  • zip

Join the Conversation

We invite you to continue sharing your experiences and feedback with us. Your insights are invaluable as we strive to improve and expand the capabilities of our migration tool. Feel free to reach out with any questions or suggestions for further plugin support.

For more details, visit our open-source repository and check out our blog post.

Thank you for being a part of our community and helping us enhance this tool for everyone!

2 comments

jacky Solanki
I'm New Here
I'm New Here
Those new to the Atlassian Community have posted less than three times. Give them a warm welcome!
December 31, 2024

Hello Team,

I have reviewed the tool and found that it works well for converting simple pipelines into Bitbucket Pipelines. However, when I attempted to use it for a pipeline with a basic if-else conditional, it did not function as expected.

For your reference, I have included a sample conditional pipeline below:


pipeline {
agent any

stages {
stage('Build') {
steps {
echo 'Building the project...'
sh 'npm install'
}
}

stage('Test') {
steps {
script {
def shouldRunTests = true
if (shouldRunTests) {
echo 'Running tests...'
sh 'npm test'
} else {
echo 'Skipping tests.'
}
}
}
}

stage('Deploy') {
steps {
echo 'Deploying the project...'
sh 'npm run deploy'
}
}
}
}

Edmund Munday
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
January 6, 2025

Hi @jacky Solanki - thanks for the feedback.

The issue you're seeing is due to the usage of a "script" block within the Jenkins pipeline. Script blocks rely on Jenkins implementation of a native Groovy runtime and break outside of the declarative pipeline framework.

As we mentioned in the release blog for this functionality, we only support converting Jenkins pipelines that use the declarative Jenkins syntax.

Due to the flexibility of scripted pipelines it's effectively impossible for us to convert them to the purely declarative syntax of a Bitbucket Pipelines workflow.

Like jacky Solanki likes this

Comment

Log in or Sign up to comment
TAGS
AUG Leaders

Atlassian Community Events