[英]Setting git committer's name to environment variable in Jenkins declarative pipeline
在jenkins聲明式管道中,我試圖獲取git committer的名稱,然后將其設置為en環境變量。 參與部分工作正常,但是,無論我嘗試使用哪種語法,都行不通。
例如,我嘗試了script
塊:
script {
env.GIT_CULPRIT = sh('git log --format="%ae" | head -1 | awk -F"@" \'{print $1}\'')
echo "culprit: ${env.GIT_CULPRIT}"
}
輸出:
[管道]回聲元凶:null
嘗試過的environment
塊(在dir
塊內部):
environment {
env.GIT_CULPRIT = sh(script: 'git log --format="%ae" | head -1', returnStdout: true)
echo "culprit: ${env.GIT_CULPRIT}"
}
輸出:
WorkflowScript:33:缺少必需的參數:“ name” @第33行,第21列。環境{^
WorkflowScript:33:缺少必需的參數:“ value” @第33行,第21列。環境{^
在“ Jenkins管道-設置和使用環境變量 ”中,第二種方法應該可行。
除了:
上面的方法僅在環境部分位於“
stage
”內時有效,但對於WORKSPACE
在這些stage外將產生“null
”。
請注意,在步驟部分中,該環境變量被引用為${VAR}
,而不是${env.VAR}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.