如何從提交散列獲取GitHub PR ID?在git控制檯或GitHub API中可能嗎?GitHub從提交散列提取請求ID
0
A
回答
1
使用GitHub API(V3)絕對有可能。要獲得PR ID,您需要使用GitHub Search Issues API並首先找到PR號碼,然後您可以使用PR號碼查找PR ID。請注意,拉取請求將包含合併請求ID和單獨的問題ID。
例如,假設您有一個提交sha - 7dd1bcf5f2f5eeed34cc2ec63053098fba302b6c
。要從這個沙發中找到PR ID,您可以執行以下操作:
步驟1:使用commit sha找到PR編號:使用Github搜索api- https://api.github.com/search/issues?q=sha:7dd1bcf5f2f5eeed34cc2ec63053098fba302b6c
。從JSON響應,現場「數」表示PR號(在本例中16)和「ID」代表問題ID(不是PR ID)
第2步:使用PR數量和回購的細節,找到PR ID。根據步驟1中收到的JSON響應,我們可以構建以下內容 - https://api.github.com/repos/lamassu/lamassu-admin/pulls/16
。在收到的JSON響應中,字段「ID」是所需的PR ID。
0
我花了很多時間調查它,這裏是結果。簡單SH行打印拉請求ID:
git ls-remote origin ‘pull/*/head’ | grep -F -f <(git rev-parse HEAD) | awk -F’/' ‘{print $3}’
而且在Jenkinsfile:
def gitCommitSHA = sh(returnStdout: true, script: 'git rev-parse HEAD').trim()
def allPRs = sh(returnStdout: true, script: "origin ‘pull/*/head’")
List result = allPRs.split('\n').findAll { it.contains(gitCommitSHA) && it.contains("refs/pull") }
if (result.size() ==1){
def str = result[0]
def prId = str.substring(str.indexOf("pull")+5,str.lastIndexOf("head")-1)
echo "Pull request id: ${prId}"
}
+0
謝謝。這對我非常有幫助。真的感謝 –
相關問題
- 1. github上的拉取請求 - 顯示從主大師重新提交的提交
- 2. Github拉請求沒有老提交
- 3. Github上提交併引入請求
- 4. 更新提交/拉請求Github清單
- 5. 在Github中合併一些提交請求提交
- 6. 如何從GitHub提取單個提交
- 7. Github日誌提取/拉取請求
- 8. 從提交消息獲取Git提交散列
- 9. 如何在GitHub上從5個提交請求中選擇2個提交?
- 10. Gitlab:從提交ID獲取合併請求
- 11. GitHub:我提出的請求?
- 12. 在github上創建單個提交的拉取請求
- 13. 使用Github接口進行單個提交拉取請求
- 14. Github拉取請求不包括'合併分支'提交
- 15. 從.git文件夾提取提交ID
- 16. 在GitHub上發送拉取請求,僅提供最新的提交
- 17. GIT中取由散列特定提交
- 18. 爲什麼我的GitHub pull請求顯示不是由我提交的提交?
- 19. GitHub垃圾收集提交請求中引用的懸掛提交嗎?
- 20. 在Github中,我如何將更改提交給克隆並提交拉請求?
- 21. 創建Github拉請求第一次提交和最後一次提交?
- 22. GitHub API提交
- 23. 提交github API
- 24. github上提交
- 25. 取消AJAX請求如果提交
- 26. Git:從提交請求中排除已提交的文件
- 27. 壁球提交拉請求
- 28. 多次提交Ajax請求
- 29. 提交POST請求到Piwik.php
- 30. 提交求職申請rails
歡迎StackOverflow的,請花一分鐘閱讀[如何問一個很好的問題(https://開頭計算器.com/help/how-to-ask) – LazerBanana