簡體   English   中英

在Jenkins聲明式管道中將git committer的名稱設置為環境變量

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM