Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Append to Job properties

My job parameters defined in job-dsl.groovy are overwritten by those defined in pipeline.

I am using job-dsl-plugin and Jenkins pipeline to generate Jenkins job for each git branch. Sine my code is stored in gitLab they require gitLab integration. I am providing that using gitlab-plugin. The problem is with the 'gitLabConnection' it looks like it can be only applied from inside the Jenkins pipeline.

So if in job-dsl I would do:

branches.each { branch ->
String safeBranchName = branch.name.replaceAll('/', '-')
if (safeBranchName ==~ "^release.*")
{
    return
}

def branch_folder = "${basePath}/${safeBranchName}"
folder branch_folder

pipelineJob("$branch_folder/build") {
    logRotator {
        numToKeep 20
    }
    parameters {
        stringParam("BRANCH_NAME", "${safeBranchName}", "")

        stringParam("PROJECT_NAME", "${basePath}", "")
    {
}

And then in my Jenkins pipeline I would add the 'gitLabConnection'

node('node_A') {
properties([
    gitLabConnection('gitlab.internal')
])

stage('clean up') {
    deleteDir()
}
///(...)

I have to do it like:

node('node_A') {
properties([
    gitLabConnection('gitlab.internal'),
    parameters([
        string(name: 'BRANCH_NAME', defaultValue: BRANCH_NAME, description: ''),
        string(name: 'PROJECT_NAME', defaultValue: PROJECT_NAME, description: '')
    ])
])

stage('clean up') {
    deleteDir()
}
///(...)

So that my BRANCH_NAME and PROJECT_NAME are not overwritten. Is there another way to tackle this ? Is it possible to append the 'gitLabConnection('gitlab.internal')' to the properties in the Jenkins pipeline ?

like image 375
Krystian Marek Avatar asked Dec 06 '25 18:12

Krystian Marek


1 Answers

Unfortunately it doesn't seem like there is a way to do this yet. There's some discussion about this at https://issues.jenkins-ci.org/browse/JENKINS-43758 and I may end up opening a feature request to allow people to "append to properties"

like image 99
Brandon Squizzato Avatar answered Dec 08 '25 23:12

Brandon Squizzato



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!