【发布时间】:2022-01-23 21:21:17
【问题描述】:
我有一个包含变量列表的主 ADO 管道,我还有一个在主管道完成后将被触发的第二个管道。在第二个管道中,我尝试调用 Azure Rest API 以从主管道中获取所有变量,然后在第二个管道中的后续作业中使用。
我的 PowerShell 脚本如下所示:
steps:
- powershell: |
$uri = "https://dev.azure.com/$(System.CollectionUri)/$(System.TeamProject)/_apis/pipelines/1288/runs?api-version=6.1-preview.1"
Invoke-RestMethod -Method Get -Uri "$uri" -UseDefaultCredentials
这给了我一个错误提示:找不到资源。
我想我只是误解了如何使用这个 API。如何从特定管道中检索所有变量?
【问题讨论】:
-
在我的代码中确实如此,编辑了帖子以反映。实际上错误响应是它找不到资源。我知道 uri 中的变量是正确的,因为我在另一个管道中使用它们。可能是我需要一个令牌还是标题?
-
如果您使用的是
$(System.CollectionUri),那么您不需要在此之前包含 uri 字符串的部分;它已经具有类似https://dev.azure.com/fabrikamfiber/的值 -
如果我删除
$(System.CollectionUri),我会收到同样的错误,说它找不到,但我也只是硬编码了值和管道传递,但它从 ADO 主页返回 html。
标签: powershell azure-devops yaml azure-pipelines azure-powershell