web-dev-qa-db-ja.com

Jenkinsパイプラインプラグイン:ビルドの説明を設定する

現在、古い学校のJenkinsジョブを使用してハッキングされている現在のビルドパイプラインを、Jenkinsパイプラインプラグインを使用し、プロジェクトリポジトリからJenkinsfileをロードする新しいジョブに置き換えようとしています。

レガシージョブが行ったことの1つは、ビルドの検索が容易になるように Description setter plugin を使用してMercurialハッシュ、ユーザー名、現在のバージョンを含めるようにビルドの説明を設定することでした。

Jenkinsパイプラインプラグインでこの動作を複製/エミュレートする方法はありますか?

36
jjst

ちょうどそれを考え出した。パイプラインジョブは、書き込み可能なプロパティを持つcurrentBuildグローバル変数を公開します。説明の設定は次の方法で実行できます。

currentBuild.description = "my new description"

パイプラインスクリプトの任意の場所。詳細はこちら DZoneチュートリアル

71
jjst

@jjstからの回答は、「スクリプトパイプライン」でビルドの説明を設定する方法を説明しています。宣言型パイプラインでも同じことができますが、script { }ブロック内に配置する必要があります。 Cloudbeesの記事に関するコメント からの例:

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

これはjjstが答えを書いたときではなかったかもしれませんが、最新のジェンキンとプラグインを使用して、トップのメインパイプラインの外側でこれを設定できます。これは、スクリプト設定を埋め込み、特別な手順などを行う必要がないことを意味します

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

または

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