Jenkins pipeline plugin: set the build description

此生再无相见时 提交于 2019-12-03 08:58:31

问题


I'm trying to replace our current build pipeline, currently hacked together using old-school Jenkins jobs, with a new job that uses the Jenkins pipeline plugin, and loads a Jenkinsfile from the project repository.

One thing that the legacy job did was set the build description to include the Mercurial hash, username and current version using the Description setter plugin, so that builds are easy to find.

Is there a way to replicate/emulate this behaviour with the Jenkins pipeline plugin?


回答1:


Just figured it out. The pipeline job exposes a currentBuild global variable with writable properties. Setting the description can be done with:

currentBuild.description = "my new description"

anywhere in the pipeline script. More information in this DZone tutorial.




回答2:


The answer from @jjst describes how to set the build description in "scripted pipelines". In declarative pipelines you can do the same, but need to place it inside a script { } block. Here an example taken from comments on the Cloudbees article:

pipeline {
    agent any
    stages {
        stage("1st stage") {
            steps {
                script {
                    currentBuild.displayName = "My custom build name"
                    currentBuild.description = "My custom build description"
                }
            }
        }
    }
}



回答3:


This may not have been the case when jjst wrote his answer but now with the latest jenkins and plugins you can set this outside the main pipeline at the top. This means you dont have to embed script setting and have special steps etc eg

currentBuild.description = "my new description"
pipeline {...

or

currentBuild.description = """
blah
blah
blah
"""
pipeline {


来源:https://stackoverflow.com/questions/36501203/jenkins-pipeline-plugin-set-the-build-description

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!