Dimon Buzz
Dimon Buzz

Reputation: 1318

How to use jenkins version number plugin in Jenkinsfile?

Trying this step in Jenkinsfile with "version number plugin" installed:

    stage("Build") {
        echo "Building..."
        TAG = ${BUILD_DATE_FORMATTED, "yyyyMMdd"}-develop-${BUILDS_TODAY}
        sh "docker build -t $IMAGE:$TAG ."
    }

And getting this error:

org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
WorkflowScript: 15: unexpected token: BUILD_DATE_FORMATTED @ line 15, column 15.
           TAG=${BUILD_DATE_FORMATTED, "yyyy-MM-dd"}-develop-${BUILDS_TODAY}
                 ^
1 error

What is correct way to use this plugin in Jenkinsfile?

Upvotes: 3

Views: 11250

Answers (3)

Sumith08
Sumith08

Reputation: 770

In stage use the script block to run for version numbering

stage("Build") {
    script {
        TAG = VersionNumber(versionNumberString: '${BUILD_DATE_FORMATTED, "yyyyMMdd"}-develop-${BUILDS_TODAY}')
        echo "Building..."
        sh "docker build -t $IMAGE:$TAG ."
     }
  }

Upvotes: 0

envalentine
envalentine

Reputation: 531

in Jenkinsfile.. try this

env.BN = VersionNumber([
        versionNumberString :'${BUILD_MONTH}.${BUILDS_TODAY}.${BUILD_NUMBER}', 
        projectStartDate : '2017-02-09', 
        versionPrefix : 'v1.'
    ])

Upvotes: 0

Marcos
Marcos

Reputation: 575

You need to use it as a step.

tag = VersionNumber (versionNumberString: '${BUILD_DATE_FORMATTED, "yyyyMMdd"}-develop-${BUILDS_TODAY}')

Take a look at https://your_jenkins_url.com/pipeline-syntax/ and check all the options for the VersionNumber step in the snipped generator.

Upvotes: 10

Related Questions