ile belirli bir yapı nasıl elde edilir TFS'den belirli bir yapı oluşturmaya çalışıyorum ama bu oldukça zor.TFS API'sı
IBuildServer buildServer = (IBuildServer)Server.GetService(typeof(IBuildServer));
IBuildDefinition def = buildServer.GetBuildDefinition(TeamProject, BuildDefinition);
var queuedBuild = buildServer.QueueBuild(def);
QueueBuild IQueuedBuild döner ve ben böyle bir şey yapmak umuyordum: Elimden bazı farklı bir değere sahip olacağını Yani
return queuedBuild.Build.BuildNumber
Böyle bir yapı tetikleyen bir MVC uygulaması vardır doğru yapıyı geri almak için yapı sunucusunu sorgulamak için kullanın. Ne yazık ki İnşa bu yöntemden çıkıldığında null olmayabilir ya da olmayabilir, bu yüzden bir yok.
inşa Sonra bu yöntemi
public string GetBuildStatus(string TeamProject, string BuildDefinition, string BuildNumber)
{
string status = string.Empty;
IBuildDetailSpec buildDetailSpec = buildServer.CreateBuildDetailSpec(TeamProject, BuildDefinition);
buildDetailSpec.MaxBuildsPerDefinition = 1;
buildDetailSpec.Status = BuildStatus.InProgress | BuildStatus.None;
buildDetailSpec.QueryOrder = BuildQueryOrder.FinishTimeDescending;
IBuildQueryResult queryResult = buildServer.QueryBuilds(buildDetailSpec);
if (queryResult.Builds.Length > 0)
{
status = queryResult.Builds[0].Status.ToString();
}
return status;
}
Bu bir dereceye kadar çalışır ancak birden varsa ben inşa eğer ben bu yoklama yönteminde bilmenin bir yolu var kuyrukta inşa anket sıraya sonra İlk yöntemde sıraya koydum. İlk yöntemde Sıraya Alınmış belirli yapıyı geri almak için neler yapabileceğimi bilen var mı?
Teşekkürler! Bir yapı bir ajan bekliyor sıraya alındı edilirse
Yoklama yöntemine girdiğimde Uri'yi tanımıyorsam, hangi yapının aradığımı nasıl anlarım? – dparsons
Yaptığınız ilk yöntemde yapı numarasını döndürmek yerine, 'Build.Uri' – DaveShaw
döndürün. QueuedBuild'in Build özelliği, başlattığım yapıdan başka bir yapı olması durumunda boştur. – dparsons