2016-03-22 6 views

Antwort

3

Sie haben nicht angegeben, welche API Sie bevorzugen würden. Aber angenommen API Jenkins XML, es wäre so etwas wie:

http://myjenkins/job/myJobName/lastBuild/api/xml?xpath=//lastBuiltRevision/SHA1 
+0

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. –

+0

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

Verwandte Themen