Jenkinsから最新ビルドのビルドタイムスタンプを取得するにはどうすればよいですか?ビルド後のアクションの電子メールの件名にこの値を挿入します。
注:これはJenkins 1.597で変更されました。移行に関する詳細は here を参照してください
https://<your-jenkins>/env-vars.html
に移動すると、ビルド中に使用可能なすべてのグローバル環境変数を表示できるはずです。
https://<your-jenkins>/
をJenkins Webページへのアクセスに使用するURLで置き換えます(たとえば、http://localhost:8080/env-vars.html
のようになります)。
環境変数の1つは次のとおりです。
BUILD_ID
The current build id, such as "2005-08-22_23-59-59" (YYYY-MM-DD_hh-mm-ss)
Jenkinsの編集可能な電子メール通知を使用する場合、電子メールの件名行で${ENV, var="BUILD_ID"}
を使用できるはずです。
ビルドタイムスタンププラグインは、ビルドプロセスでTIMESTAMPS
を取得するためのベストアンサーになります。
以下の簡単な手順に従って、"BUILD_TIMESTAMP"
変数を有効にします。
ステップ1:
Manage Jenkins -> Plugin Manager -> Installed...
Search for "Build Timestamp Plugin".
Install with or without Restart.
ステップ2:
Manage Jenkins -> Configure System.
Search for 'Build Timestamp' section, then Enable the CHECKBOX.
Select the TIMEZONE, TIME format you want to setup with..Save the Page.
使用法:
When Configuring the Build with ANT or MAVEN,
Please declare a Global variable as,
E.G. btime=${BUILD_TIMESTAMP}
(use this in your Properties box in ANT or MAVEN Build Section)
use 'btime' in your Code to any String Variables etc..
Build Timestamp Plugin
を使用し、BUILD_TIMESTAMP
変数を使用してみてください。
この質問への回答が遅れていることは知っていますが、最近、プラグインをインストールせずにこの問題に対するより良い解決策を見つけました。フォーマットされたバージョン番号を作成し、作成された変数を使用してビルドの日付/時刻を表示できます。作成手順:ビルド環境->フォーマットされたバージョン番号を作成します。
環境変数名:BUILD_DATE
バージョン番号フォーマット文字列:$ {BUILD_DATE_FORMATTED}
それでおしまい。メールの件名行で上記で作成した変数を$ {ENV、var = "BUILD_DATE"}として使用すると、現在のビルドの日付/時刻が取得されます。
スクリプト(Unixスクリプト)から環境変数を生成します。
echo "BUILD_DATE=$(date +%F-%T)"
以下のこの答えは、許可の問題のためにジェンキンスに新しいプラグインをインストールできなかったため、私の問題を解決した「Description Setterプラグインの正規表現機能」を使用する別の方法を示しています。
これを行う1つの方法は、グローバル環境セクションでシェルスクリプトを使用することです。ここでは、UNIXタイムスタンプを使用していますが、シェルスクリプト構文互換の時間形式を使用できます。
pipeline {
agent any
environment {
def BUILDVERSION = sh(script: "echo `date +%s`", returnStdout: true).trim()
}
stages {
stage("Awesome Stage") {
steps {
echo "Current build version :: $BUILDVERSION"
}
}
}
}