2016-11-17 6 views
0

Ich verstehe den HTTPClient und GET-Prozess. Was ich hier zu finden versuche, ist die korrekte URL/Syntax, damit dies mit Team City funktioniert.Wie programmierst du die Artefakte aus dem neuesten Team City Build mit C#?

Ich habe versucht, dies bei RestDocumentation jedoch

unter Verwendung der Beispiele zur Arbeit zu kommen, die sie benötigen alle eine buildID. Dies ist eine eindeutige Build-Nummer, die sich mit jedem Build ändert. Ich habe mehrere Kombinationen mit buildId=lastSuccesful versucht, aber ich kann einfach nicht scheinen, um die Syntax korrekt zu bekommen. Ich konnte einen Link erstellen, der ein bestimmtes Build erfolgreich herunterlädt, wenn es in einen Webbrowser eingefügt wird. Wenn ich jedoch versuche, es programmatisch zu bekommen, erhalte ich eine Ausnahme von 400 Unauthorized.

Ich denke, bevor ich die REST-API verwenden kann, muss ich mich irgendwie bei Team City anmelden?

Wie auch immer, dies ist wahrscheinlich eine ziemlich einfache Operation, ich bin einfach nicht in der Lage, die Schritte zu entschlüsseln, um es auszuführen.

Also, hier sind die Schritte, die ich denke, muss passieren, aber ich habe keine Ahnung, wie man sie erreicht.

  1. Programmatisch in Team City anmelden. (Dies funktioniert jetzt für mich)
  2. Holen Sie sich die BuildID des letzten erfolgreichen Build für mein Projekt. (HELP !!)
  3. Laden Sie die mit dem obigen Build verbundenen Artefakte herunter. (Dies funktioniert jetzt für mich)

Ich würde jede Hilfe bei der Durchführung der oben genannten sehr schätzen.

Danke !!

+1

Haben Sie die Authentifizierungsschritte durchgeführt: https://confluence.jetbrains.com/display/TCD10/REST+API#RESTAPI-RESTAuthentication – Hackerman

+0

Ausgezeichnet. Jetzt benutze ich guestAuth anstelle von httpAuth und ich kann die Artefakte von einem bestimmten Build herunterladen. (YAY !!!) Es bleibt jedoch immer noch das Problem, die Build-ID des letzten erfolgreichen Builds herauszufinden. Vielen Dank !! – Curtis

Antwort

0

Danke Hackerman für mich auf dem richtigen Weg !!

Also, wenn jemand interessiert ist, hier ist die Antwort ..

  1. Verwenden guestAuth statt HTTPAuth. Dies gibt Ihnen die Berechtigung.
  2. Die Build-Nummer des letzten erfolgreichen Builds abrufen. http://yourteamcityserver:8080/guestAuth/app/rest/buildTypes/id:yourprojectname/builds?count=1&status=SUCCESS

  3. Parsen Sie die Build-Nummer aus dem XML, das Sie zurück erhalten.

  4. Laden Sie Ihre Artefakte herunter (unter Angabe des Dateinamens des Artefakts). http://yourteamcityserver:8080/guestAuth/app/rest/builds/id:theIDthatYOUparsedINstep3/artifacts/yourartifactname.zip

Hoffnung das spart einige von Ihnen die Stunden verbrachte ich herauszufinden, wie das alles funktioniert.

Danke nochmal Hackerman !!!!

Verwandte Themen