2016-05-23 19 views
2

Ich versuche, ein TeamCity-Build über die REST-API mit einem bestimmten Git-Commit auszuführen. Das Erstellen eines neuen Builds über die API erfordert eine TeamCity-Modifikations-ID, keine Git-Commit-Referenz.Konvertierung eines TeamCity VCS-Commits in Modifikations-ID

Wie kann ich einen Git-Commit in eine TeamCity-Modifikations-ID konvertieren? Die nächste, die ich bisher gefunden habe, ruft /app/rest/changes?fields=change:(version,webUrl), die eine Liste von <change /> Nodes und Parsing die ModId von der WebUrl-Eigenschaft, aber ich bin nicht sicher, wie dies über TeamCity Locators, um nur die bestimmte Commit, die ich brauche, zu filtern .

Antwort

1

Ich entdeckte, dass dies erreicht werden kann, indem der Endpunkt wie folgt aufgerufen: /httpAuth/app/rest/changes?locator=version:<version>&fields=change:(version,id).

Dies wird eine Änderung Array zurück, ein einzelnes changeset enthält - die version Taste wird die VCS-Version auf, und die id Schlüssel TeamCitys Änderungs-ID sein, die in einen weiteren Anrufe eingespeist werden können dann auswählen, passen zu Warteschlange baut mit bestimmten Änderungssätzen usw.