Я хочу создать тестовый прогон в Devure через код, который будет выполнять мой автоматический тестовый пример на Агенте / машине.
Для этого я попытался использовать Rest API (подробности здесь - https://docs.microsoft.com/en-us/rest/api/azure/devops/?view=azure-devops-rest-5.0) для этого. Я использовал RestSharp для использования этих Rest API.
var client = new RestClient("https://dev.azure.com/{organization}/{project}");
client.Authenticator = new HttpBasicAuthenticator(username, password);
var request = new RestRequest("_apis/test/runs?api-version=1.0", Method.POST);
request.AddJsonBody(new RunResponce()
{
name = "OnDemandTestRun " + DateTime.UtcNow,
plan = new Plan() { id = "9" },
pointIds = new string[] { "3" },
automated = true,
dtlTestEnvironment = new DtlTestEnvironment() { id = "vstfs://dummy" },
filter = new Filter() { sourceFilter = "*.dll", testCaseFilter = "" },
});
var response = client.Execute(request);
var dserializer = new JsonDeserializer();
var jsonResp = dserializer.Deserialize<RunResponce>(response);
string id = jsonResp.id;
request = new RestRequest("_apis/test/runs/" + id + "?api-version=1.0", Method.PATCH);
request.AddJsonBody(new RunResponce()
{
build = new Build() { id = "4" },
releaseEnvironmentUri = "vstfs:///ReleaseManagement/Environment/29",
releaseUri = "vstfs:///ReleaseManagement/Release/22"
});
client.Execute(request);
Этот код создает тествыполняется, но не запускает тестовый пример на соответствующем компьютере, он сохраняет тестовый запуск в состоянии «В процессе».