Jenkins 管道插件:设置构建描述

Jenkins pipeline plugin: set the build description

我正在尝试用一个使用 Jenkins 管道插件并从项目存储库加载 Jenkinsfile 的新作业来替换我们当前的构建管道,该管道目前使用老式的 Jenkins 作业组合在一起。

遗留工作所做的一件事是使用 Description setter plugin 将构建描述设置为包括 Mercurial 哈希、用户名和当前版本,这样构建就很容易找到。

有没有办法 replicate/emulate 使用 Jenkins 管道插件实现此行为?

刚刚弄明白了。管道作业公开了一个具有可写属性的 currentBuild 全局变量。可以通过以下方式设置描述:

currentBuild.description = "my new description"

管道脚本中的任意位置。 DZone tutorial.

中的更多信息

@jjst 的回答描述了如何在“脚本化管道”中设置构建描述。在声明式管道中,您可以执行相同的操作,但需要将其放在 script { } 块中。这是一个完整的工作示例,取自 comments on a Cloudbees article:

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

jjst 写他的答案时可能不是这种情况,但现在有了最新的 jenkins 和插件,您可以在顶部的主管道之外设置它。这意味着您不必嵌入脚本设置和特殊步骤等,例如

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

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

我不确定它有多旧,但我最近发现了 buildDescription 插件,它为您提供了一种设置构建描述的声明性方法。 安装后,非常简单:

steps {
  buildDescription 'my build'
}

控制台将显示步骤输出: New run description is 'my build'