Полагаю, вы проверили несколько документов и обнаружили, что прямого API не может позволить вам получить указанный упакованный идентификатор, верно? Кроме того, как сказал документ , имя пакета не может использоваться в этом API:
ФактическиУ вас очень близок к ответу. Просто добавьте фильтр во время работы Get Packages
. Но для этого нужно выполнить какой-либо сценарий в командной строке Powershell или в Powershell ISE, что является наиболее удобным для вас подходом. Вы также можете запустить приведенный ниже сценарий в конвейере Azure Devops, но сравнить его с выполнением в командной строке, это немного громоздко.
Запускать сценарий ниже в командной строке Powershell или PowershellISE :
$token = "{your PAT token}"
$url = 'https://feeds.dev.azure.com/{org name}/_apis/packaging/Feeds/{feed ID}/packages'
$token = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes(":$($token)"))
$response = Invoke-RestMethod -Uri $url -Headers @{Authorization = "Basic $token"} -Method Get
$results = $response.value | Where {$_.name -eq "{Package Name}"} #|
Write-Host "results = $($results | ConvertTo-Json -Depth 100)"
Примечание: В приведенном выше сценарии вам просто нужно заменить значение PAT token
, Organization name
и ваше package name
.
Затем вы получите информацию об указанном пакете и сможете скопировать идентификатор пакета из командной строки и применить его в другом месте:
Примечание: Приведенный выше сценарий также можно применять в задаче Powershell Azure Devops без каких-либо изменений.