当使用 Azure Devops 功能(例如创建新的 Repo 或启动管道)时,是否有任何方法可以通过 Powershell 在没有访问令牌的情况下对用户进行身份验证?我发现的唯一其他解决方案是 Azure CLI,尽管我更喜欢调用 Web API 调用。
实际上,您确实可以在不使用 PAT(个人访问令牌)的情况下对 Azure DevOps REST API 进行身份验证,但如果没有任何访问令牌则无法对其进行身份验证。即使您使用用户帐户进行身份验证,本质上它也会生成一个访问令牌来进行身份验证。
根据您的要求,如果您想使用 powershell 来验证 REST API,您可以使用下面的脚本。
确保您已安装Azpowershell 模块,并使用在您的 devops 组织中具有权限的用户帐户通过 登录Connect-AzAccount。
这是启动管道的示例Runs - Run Pipeline。此示例使用 Azure AD 访问令牌进行身份验证,请注意不要更改499b84ac-1321-427f-aa17-267ca6975798脚本中的 ,它是 DevOps REST API 的众所周知的资源 id,它对我有用。
$token = (Get-AzAccessToken -ResourceUrl "499b84ac-1321-427f-aa17-267ca6975798").Token
$URL = 'https://dev.azure.com/orgname/testpro1/_apis/pipelines/52/runs?api-version=6.0-preview.1'
$header = @{
'Authorization' = 'Bearer ' + $token
'Content-Type' = 'application/json'
}
$body = @"
{
"resources": {
"repositories": {
"self": {
"refName": "refs/heads/main"
}
}
}
}
"@
Invoke-RestMethod -Method Post -Uri $URL -Headers $header -Body $body | ConvertTo-Json
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4888 次 |
| 最近记录: |