невозможно удалить тестовые примеры в azure DevOps через сценарии PowerShell - PullRequest
1 голос
/ 26 мая 2020

Я проверил Как удалить несколько тестовых примеров в Azure DevOps

У меня это не работает.

Используя только сценарии PowerShell, я хочу удалить несколько тестовых случаев в одном go в Azure DevOps. В настоящее время портал позволяет удалять только по одному.

Я пробовал, как показано ниже, и выдает исключения.

$url = "https://dev.azure.com/testarulmouzhie/testDemo_Project/_apis/test/testcases/21?api-version=5.0-preview.1"
Invoke-RestMethod -Uri $url -Method Delete -ContentType application/json

он выдает ошибку, как показано ниже - enter image description here

Даже пробовал с новой версией api, появляется такая же ошибка -

$url = "https://dev.azure.com/testarulmouzhie/testDemo_Project/_apis/test/testcases/21?api-version=5.1-preview.1"
Invoke-RestMethod -Uri $url -Method Delete -ContentType application/json

Прикрепил ошибку для ref-

Invoke-RestMethod :
Azure DevOps
Service Status Support @AzureDevOps
At line:1 char:1
+ Invoke-RestMethod -Uri $url -Method Delete -ContentType application/json
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-RestMethod], WebExc
   eption
    + FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeRestMethodCommand

Может ли кто-нибудь помочь решить это? Заранее спасибо.

Для ссылки в любом случае простые вызовы GET rest api работают нормально. Я пробовал ниже одного, и они работают нормально.

$AzureDevOpsPAT = "a2wzly2bsirXXXXXXXXXXXXXXXXXXXXXXXXXXX"
$OrganizationName = "testarulmouzhie"

$AzureDevOpsAuthenicationHeader = @{Authorization = 'Basic ' + [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(":$($AzureDevOpsPAT)")) }

$UriOrga = "https://dev.azure.com/$($OrganizationName)/" 
$uriAccount = $UriOrga + "_apis/projects?api-version=5.1"

Invoke-RestMethod -Uri $uriAccount -Method get -Headers $AzureDevOpsAuthenicationHeader

Даже использовал скрипач и пытался записывать журналы ошибок - тоже прикрепил их enter image description here enter image description here

Ответы [ 2 ]

2 голосов
/ 27 мая 2020

невозможно удалить тестовые примеры в azure DevOps через сценарии PowerShell

Похоже, у вас нет лицензии Test Plan на использование REST API Test Cases - Удалите .

Azure Планы тестирования используют уровень доступа под названием Basi c + Планы тестирования , вам нужна лицензия Basi c + Планы тестирования для управления тестом планы и комплекты тестов и др. c. Перейдите по следующей ссылке:

Разрешения и доступ для ручного тестирования

enter image description here

Вот два способа обеспечения у вас есть нужная лицензия.

1) Пользователю назначается лицензия расширения для менеджера тестирования - https://marketplace.visualstudio.com/items?itemName=ms.vss-testmanager-web

2) У пользователя есть VS Enterprise или Test Professional подписка

Вы можете сделать это, зайдя в центр тестирования и попытавшись добавить тестовые примеры прямо туда с тем же пользователем (учетная запись, создающая PAT), который используется в REST API.

Проверить эта ветка для некоторых деталей.

Надеюсь, это поможет.

1 голос
/ 28 мая 2020

А, я думаю, вы пропустили заголовок авторизации в своем delete Invoke API

Пожалуйста, включите -Headers $ AzureDevOpsAuthenicationHeader как показано ниже

--give below your pat access token

$AzureDevOpsPAT = "ukcvd42u5rXXXXXXXXXXXXXXXXXXX";
$AzureDevOpsAuthenicationHeader = @{Authorization = 'Basic ' + [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(":$($AzureDevOpsPAT)")) };
$url = "https://dev.azure.com/testarulmouzhie/testDemo_Project/_apis/test/testcases/21?api-version=5.0-preview.1"
Invoke-RestMethod -Uri $url -Method Delete -ContentType application/json -Headers $AzureDevOpsAuthenicationHeader;

Как предложил Лео, это также может быть с лицензией, так как же проверить свою лицензию на тестовые примеры?

enter image description here

...