InsideDarkWeb.com

jenkins - gitparam jobdsl - branchFilter

I want to fill branchFilter automatically on Jenkins using JobDSL plugin and language.

This is the url of Jenkins Job DSL plugin:

https://jenkinsci.github.io/job-dsl-plugin/#path/javaposse.jobdsl.dsl.jobs.FreeStyleJob.parameters-gitParam

I want to select all branches but master. To do that I have written the following lines:

  //This Build is parametrized
  parameters {
      gitParam('branch') { // https://jenkinsci.github.io/job-dsl-plugin/#method/javaposse.jobdsl.dsl.helpers.BuildParametersContext.gitParam
          description('Git Branch')
          type('BRANCH')
          branchFilter("^(?!.*master).*$")
      }
  }

But when compiling it I get error that such method is not available.

Processing provided DSL script ERROR: (script, line 28) No signature
of method: javaposse.jobdsl.dsl.helpers.GitParamContext.branchFilter()
is applicable for argument types: (java.lang.String) values: [*]
Possible solutions: tagFilter(java.lang.String)

enter image description here

Is there any workaround to do this automatically on the script or we have to fulfill that field after job has been created?

DevOps Asked by joudaon on November 15, 2021

1 Answers

One Answer

This is how I did:

gitParameter {
            // The name of the parameter.
            name('SELECTED_BRANCH')
            // The type of the list of parameters: Tag - list of all commit tags in repository - returns Tag Name Branch - list of all branch in repository - returns Branch Name Revision - list of all revision sha1 in repository followed by its author and date - returns Tag SHA1
            type('PT_BRANCH')
            // In my case this is a variable pointing to the gitlab hook variable
            defaultValue('$gitlabAfter')
            // A description that will be shown to the user later.
            description('Select a git the configuration you want to deploy')
            // Name of branch to look in.
            branch('')
            // Regex used to filter displayed branches.
            // Whatever is captured in the group will be the name used as the value of the SELECTED_BRANCH
            branchFilter('origin/(config\/.*)')
            // This parameter is used to get tag from git.
            tagFilter('*')
            // Select how to sort the downloaded parameters.
            sortMode('NONE')
            // Which value is selected, after loaded parameters.
            selectedValue('NONE')
            // If in the task are defined multiple repositories, this option specifies which the repository is taken into account on getting data.
            useRepository("<my git url>.*")
            // When this option is enabled will show a text field.
            quickFilterEnabled(false)
            // Specify the number of items the list will display.
            // listSize(String value)
        }

As strange as it seems, some parameters shouldn't really be necessary, but the plugin requires them anyway, so that's why the config is verbose.

Also, pay attention that this one is gitParameter and not gitParam, yes, both exist, and they take different parameters.

For more information about the properties you can go here:

https://plugins.jenkins.io/git-parameter/

Answered by Renann on November 15, 2021

Add your own answers!

Related Questions

Spread pods over cluster

2  Asked on February 17, 2021 by again

       

Cheap alternative to Azure SQL database

4  Asked on February 7, 2021 by webdesignone

   

What exactly is a buildpack in DevOps?

1  Asked on January 26, 2021 by stevec

     

Terraform foreach multiple map variables

1  Asked on January 16, 2021 by stravze

 

How to fetch PublishedPort from inspect

0  Asked on January 11, 2021 by executable

   

How to backup Amazon Cognito?

3  Asked on January 8, 2021 by richard-slater

 

Dedicated/Separate Git Repo as Terraform Remote Backend

1  Asked on October 10, 2020 by haneef-ibn-ahmad

   

Graylog – docker swarm fields

0  Asked on September 29, 2020 by wer-bn

   

Ask a Question

Get help from others!

© 2021 InsideDarkWeb.com. All rights reserved.