簡體   English   中英

如何在Gerrit觸發的詹金斯管道作業中獲取提交的父ID

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

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