2016-06-29 7 views
1

Erste, ich bin völlig neu zu Oktopus-Client, verwendet es zum ersten Mal, bevor dies zu veröffentlichen.Octopus-Client, Version aus Projektname in C#

So wurde ich mit diesem Projekt gelandet, um die Versionsnummer auf einer Webseite zu aktualisieren, die einige unserer Octopus-Projekte überwacht. Ich habe mich im Octopus-Client umgesehen und bin nicht wirklich weit gekommen. Das Beste, was ich bisher habe, ist:

OctopusServerEndpoint endPoint = new OctopusServerEndpoint(server, apiKey); 
OctopusRepository repo = new OctopusRepository(endPoint); 
var releases = repo.Releases.FindAll(); 

Aus diesen Veröffentlichungen ich die ProjectId bekommen kann und auch die Version, das Problem ist, dass releases 600 stark und ich bin auf der Suche nur für 15 von ihnen.

Der vorhandene Code, den ich arbeiten muss verwendet, um die Version von lokalen Dateien zu analysieren, so dass alle aus dem Fenster ist. Auch der existierende Code behandelt nur die eigentlichen Namen der Projekte, wie "AWOBridge", nicht deren ProjectId, also "Projects-27".

Im Moment ist meine einzige Möglichkeit, eine KeyList oder Map manuell zu schreiben, um die Namen, die ich habe, mit den IDs im Octopus-Client zu korrelieren, was ich natürlich eher nicht, da es nicht sehr erweiterbar oder gute Code-Praxis ist Meinung.

Also wenn jemand eine Idee hat, wie man die Namen direkt mit Octopus-Client verwendet und die Versionsnummer davon erhält, würde ich es sehr schätzen.

Ich werde in Octopus-Client während des Wartens bekommen. Mal sehen, ob ich dich dazu geschlagen habe!

Antwort

3

Raten Sie, ich habe Sie geschlagen!

Ich lasse nur eine Antwort hier, wenn jemand das gleiche Problem hat.

endete ich die dashboard mit bis zu bekommen, was ich brauchte:

OctopusServerEndpoint endPoint = new OctopusServerEndpoint(server, apiKey); 
OctopusRepository repo = new OctopusRepository(endPoint); 
DashboardResource dash = repo.Dashboards.GetDashboard(); 
List<DashboardItemResource> items = dash.Items; 
DashboardItemResource item = new DashboardItemResource(); 
List<DashboardProjectResource> projs = dash.Projects; 
var projID = projs.Find(x => x.Name == projectName).Id; 
item = items.Find(x => x.ProjectId == projID && x.IsCurrent == true); 

Das Armaturenbrett ist sehr gut, da es, dass die Web-Dashboard zeigt alle Informationen enthält. So können Sie Project, Release, Deployment und Environment mit allen darin enthaltenen Informationen verwenden.

Hoffe das hilft jemandem in der Zukunft!

Verwandte Themen