2016-06-29 1 views
1

우선, 나는 문어 클라이언트를 완전히 처음 사용하기 전에 이것을 처음으로 사용했습니다.Octopus 클라이언트, C#의 프로젝트 이름에서 버전 가져 오기

그래서 저는 문어 프로젝트의 일부 프로젝트를 모니터링하는 웹 페이지에서 버전 번호를 업데이트하기 위해이 프로젝트에 착수했습니다. 문어 클라이언트를 둘러 보았고 어디서나 얻지 못했습니다. 내가 지금까지 가지고있는 최선입니다 :이 릴리스에서

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

내가 ProjectId 심지어 Version를 얻을 수 있습니다, 문제는 releases 강한 600이고 나는 단지 그 (15)을 찾고 있다는 점이다.

기존 코드는 로컬 파일의 버전을 구문 분석하는 데 사용되어 모든 작업이 완료되어야합니다. 또한 기존 코드는 ProjectId (Projects-27)이 아닌 "AWOBridge"와 같은 프로젝트의 실제 이름 만 처리합니다.

지금 당장 나의 유일한 옵션은 내가 갖고있는 이름을 문어 클라이언트의 ID와 연관시키기 위해 수동으로 keyList 또는 map을 작성하는 것입니다. 당연히이 코드는 확장 성이 없거나 좋은 코드 연습이 아닙니다. 의견.

누구나 문어 클라이언트와 함께 이름을 직접 사용하는 방법에 대한 아이디어가 있다면 그 버전 번호를 얻으면됩니다.

기다리는 동안 나는 문어 클라이언트로 내려갈 것입니다. 내가 너를 때리는 지 보자!

답변

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

대시 보드는 중대하다. 따라서 프로젝트, 릴리스, 배포 및 환경에 포함 된 모든 정보를 사용할 수 있습니다.

앞으로 도움이되기를 바랍니다.

관련 문제