2017-05-12 1 views
0

Meine Pipeline bauen Klone 3 Git-Repositories. Wenn ich den Build über dieses Snippet abfrage, kann ich die lastBuiltRevision des ersten Git Clones erhalten, aber keines der anderen.Get LastBuiltRevision für jede scm in einer Pipeline beteiligt

Der Web-Benutzeroberfläche zeigt alle drei, so dass ich weiß, dass sie in den Daten vorhanden sind

def getLastBuiltRevisionForBuild(def jobName, def buildNo) { 
    def instance = Hudson.instance 
    def job = instance.getItemByFullName(jobName) 
    def data = job.getBuild("${buildNo}").getAction(hudson.plugins.git.util.BuildData.class) 
    return data.getLastBuiltRevision() 
} 

Wie kann ich letzte Revision gebaut erhalten, wenn ich mehrere Kassen in meiner Pipeline?

Antwort

0

Nicht getAction, sondern getActions, um das Datenobjekt für jeden Checkout zu erhalten. Dann können wir getRemoteUrls() verwenden, um herauszufinden, welche verwenden - eindeutig einige Fehlerprüfung wäre schön hier

def dumpLastBuiltRevisionsForMultipleRepositories(def jobName, def buildNo) { 
    def instance = Hudson.instance 
    def job = instance.getItemByFullName(jobName) 
    def build = job.getBuild("${buildNo}") 
    for (def data in build.getActions(hudson.plugins.git.util.BuildData.class)) { 
     println data.getRemoteUrls()[0] 
     println data.getLastBuiltRevision() 
    }  
} 
Verwandte Themen