Как выполнить контрольный пример в Azure Devops, используя REST API Azure DevOps Services? - PullRequest
0 голосов
/ 26 апреля 2019

Я хочу создать тестовый прогон в 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);

Этот код создает тествыполняется, но не запускает тестовый пример на соответствующем компьютере, он сохраняет тестовый запуск в состоянии «В процессе».

...