2017-09-20 24 views
1

我想分配git的承諾散列的變量定義在詹金斯管道如下如何分配git的承諾散在詹金斯變量文件

GIT_COMMIT_HASH = sh "(git log -n 1 --pretty=format:'%H')" 

這將打印在詹金斯構建日誌提交哈希但它未能賦值。

當我嘗試打印使用

steps{ 
    script { 
       GIT_COMMIT_HASH = sh "(git log -n 1 --pretty=format:'%H')" 

       echo "**************************************************" 
       echo "${GIT_COMMIT_HASH}" 
       echo "**************************************************" 
    } 
} 

這將導致空

請問有什麼可以指派該值的價值?

回答

3

您必須告訴sh腳本將stdout返回到您的腳本,而不是將其轉儲到stdout。

GIT_COMMIT_HASH = sh (script: "git log -n 1 --pretty=format:'%H'", returnStdout: true) 
+1

它不是要去工作即時得到一個錯誤 SH:語法錯誤:意外字(預期「)」) – Kalanamith

+0

你必須有一些輸入錯誤。我猜你錯過了一個逗號。 –

+1

鍵入確切的東西,它根本不工作 – Kalanamith