2016-06-29 3 views
1

まず、私はタコクライアントに全く新しいので、これを投稿する直前に初めて使用しました。Octopusクライアント、C#でプロジェクト名からバージョンを取得

私は、タコのデプロイされたプロジェクトの一部を監視しているウェブページ上のバージョン番号を更新するためにこのプロジェクトに着いた。私はタコのクライアントの周りを見て、実際にはどこにも得ていない。私がこれまで持っている最高のがある:私はProjectIdとさえVersionを得ることができ、これらのリリースから

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

、問題はreleasesが600強く、私はそれらの15を探していますということです。

既存のコードは、ローカルファイルからバージョンを解析するために使用していたので、すべてがウィンドウの外にあります。また、既存のコードは、 "AWSubridge"のようなプロジェクトの実際の名前だけを扱い、ProjectIdは "Projects-27"ではありません。

私の唯一の選択肢は、キーリストまたはマップを手動で書き込んで、私が持っている名前とタコのクライアントのIDを関連付けることです。もちろん、これは非常に拡張性がないか、意見。

誰かがタコのクライアントで名前を直接使用する方法を知っていて、そのバージョン番号を取得したら、私は非常にそれを訴えます。

私は待っている間にタコのクライアントに降りてきます。私はあなたにそれを打つかどうかを見てみましょう!

答えて

3

私はあなたにそれを打つ!

誰かが同じ問題を抱えている場合は、ここで回答を残しておきます。

私は私が必要なものを手に入れるdashboardを使用して終了:それはウェブダッシュボードを示しているすべての情報が含まれているため

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); 

ダッシュボードは素晴らしいです。したがって、プロジェクト、リリース、デプロイメント、環境を、それらに含まれるすべての情報とともに使用することができます。

これは将来的に誰かに役立つことを願っています!

関連する問題