Ich möchte ein Skript schreiben, um die Erstellung von Feature-Verzweigungen für Hotfixes zu automatisieren. Um dies zu tun, muss ich herausfinden, wie ich das letzte Commit im aktuellen Build sehen konnte.In der Jenkins-API gibt es eine Möglichkeit, den Git-Commit des letzten Builds zu finden?
Gibt es eine Möglichkeit, das letzte Commit von der Jenkins-API zu erhalten?
git checkout -b hotfix <commit>
Ist die 'lastBuiltRevision' auf den Commit Hash verweisen, die in den * vorigen * Jenkins bauen gebaut wurden? Ich bin auf der Suche nach einer Möglichkeit, festzustellen, ob meine Pipeline die bereitzustellende Anwendung neu erstellen soll, oder einen vorhandenen Build aus einer vorherigen Ausführung zu übernehmen. Wir verwenden Pipelines, die das Git-Plugin noch nicht unterstützt, ansonsten würde ich das 'GIT_LAST_COMMIT' verwenden, das vom Plugin bereitgestellt wird. Also frage ich mich, ob ich die aktuelle Version mit der 'lasBuiltRevision' vergleichen und ob sie sich unterscheiden kann. Ich könnte vielleicht nach 'Started by Github Push by' suchen, aber ich denke, das könnte weniger zuverlässig sein. –
Die 'lastBuiltRevision' bezieht sich auf das letzte Commit, das vom Build erstellt wurde, auf den der URI zeigt (in diesem Fall' lastBuilt'). Sie können die XML-API auf diese Weise verwenden, um das Problem zu umgehen. Aber während Sie trotzdem groovy schreiben, könnten Sie eine Hilfsfunktion wie folgt verwenden: 'def getLastSuccesfulSHA1() { def b = currentBuild.rawBuild.getPreviousSuccessfulBuild() return b.getAction (hudson.plugins.git.util.BuildData. Klasse) .lastBuiltRevision.sha1String } ' – jil