Wie kann ich GitHub PR-ID von Commit-Hash erhalten? Es ist in der Git-Konsole oder GitHub API möglich?GitHub Pull-Request-ID aus Commit Hash
Antwort
Mit GitHub API (V3) ist es definitiv möglich. Um die PR ID zu erhalten, müssen Sie die GitHub Search Issues API verwenden und zuerst die PR Nummer finden und dann können Sie die PR Nummer verwenden, um die PR ID zu finden. Beachten Sie, dass eine Pull-Anforderung eine Pull-Request-ID und eine separate Issue-ID aufweist.
Angenommen, Sie haben eine Festschreibung sha - 7dd1bcf5f2f5eeed34cc2ec63053098fba302b6c
. Um die PR-ID von diesem sha finden Sie folgendes tun:
Schritt 1: Finden Sie die PR-Nummer die sha begehen: Sie verwenden die Github suchen API- https://api.github.com/search/issues?q=sha:7dd1bcf5f2f5eeed34cc2ec63053098fba302b6c
. Von der JSON-Antwort repräsentiert das Feld "Nummer" die PR-Nummer (in diesem Fall 16) und "ID" die Ausgabe-ID (nicht PR-ID)
Schritt 2: Verwenden Sie die PR-Nummer und die Repo-Details, um den PR zu finden ICH WÜRDE. Aus der in Schritt 1 erhaltenen JSON-Antwort können wir folgendes aufbauen: https://api.github.com/repos/lamassu/lamassu-admin/pulls/16
. In der empfangenen JSON-Antwort ist das Feld "ID" die erforderliche PR-ID.
Ich habe den Abstieg viel Zeit damit verbracht, es zu untersuchen und hier sind die Ergebnisse. Einfache sh Linie Pull-Request-ID drucken:
git ls-remote origin ‘pull/*/head’ | grep -F -f <(git rev-parse HEAD) | awk -F’/' ‘{print $3}’
Und in 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}"
}
danke. Es war so hilfreich für mich. Wirklich danke –
- 1. Get git commit von kurzen Hash mit Github API
- 2. Github - Github-Commit-Historie kopieren
- 3. Github-Commit-Anzahl
- 4. requieting github kommentieren commit
- 5. Github Commit History Navigation
- 6. Github Anonym Commit Geschichte
- 7. Wie suche ich commit in github
- 8. GitHub Desktop Commit ignoriert Dateien
- 9. Get Mercurial nächsten Commit Hash
- 10. GitHub mit falschem Head-Commit
- 11. Fehler beim Commit zu Github
- 12. Github: Zurücksetzen auf vorheriges Commit
- 13. einen Commit nach Github zurückschieben
- 14. Github Commit Nachricht Escape "@" Zeichen
- 15. Commit kann nicht von der Befehlszeile aus mit Github 2FA
- 16. github einzelne Datei aus dem Commit-Verlauf entfernen
- 17. Download Commit-Nachrichten aus dem Projekt in GitHub
- 18. Was ist der Tree-Hash eines bestimmten Commit-Hash?
- 19. github löschen Commit-Geschichte für bereits gelöscht Github Repo
- 20. github desktop merge commit verbergen Kommentare
- 21. Wie github-Seiten beim spezifischen Commit angezeigt werden?
- 22. Kennen Sie GIT-Hash vor dem Commit?
- 23. Finden Commit von Hash-SHA in Git
- 24. Include-Git-Commit-Hash in Jar-Version
- 25. Jenkins set github commit status funktioniert nicht
- 26. GitHub Fork ein Repo von früheren commit
- 27. GitHub und Commit-Referenz in Ausgabe
- 28. GitKraken commit to github mit userrname
- 29. Bearbeiten der Git-Commit-Nachricht in GitHub
- 30. Git commit nicht auf Github Webseite
Willkommen bei Stackoverflow, nehmen Sie bitte eine Minute zu lesen [Wie man eine gute Frage] (https: // Stackoverflow .com/help/how-to-ask) – LazerBanana