[英]How to use GitHub commit message and commit id inside Jenkins pipeline?
[英]How to get parent ID for a commit in a gerrit triggered jenkins pipeline job
在管道代碼中,我需要檢索由gerrit觸發器觸發的jenkins管道作業中的提交的父ID。
我試圖從gerrit觸發器環境變量$ GERRIT_PATCHSET_REVISION中獲取父ID。
echo "$GERRIT_PATCHSET_REVISION^"
echo "${GERRIT_PATCHSET_REVISION}^"
echo "${env.GERRIT_PATCHSET_REVISION}^"
echo "$GERRIT_PATCHSET_REVISION^^"
echo "${GERRIT_PATCHSET_REVISION}^^"
echo "${env.GERRIT_PATCHSET_REVISION}^^"
實際結果:當前提交的SHA1值,GERRIT_PATCHSET_REVISION值后跟1或2個脫字號(“ ^”)
預期結果:父提交的SHA1值
Jenkins無法解釋和轉義“ ^”。 任何指針都會有很大幫助!
假設在bash中使用git rev-parse
而不是echo
:
firstparent=$(git rev-parse ${GERRIT_PATCHSET_REVISION}^)
echo ${firstparent}
要成功檢索父提交,補丁集修訂的提交對象必須可從本地git存儲庫中獲得。 如果代碼段在存儲庫外部運行,請使用git --git-dir=<path_to_repo_.git> rev-parse ${GERRIT_PATCHSET_REVISION}^
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.