我在项目 A 中有一个 azure devops yaml 管道,试图在同一组织内的项目 B 中下载一个工件。它使用如下配置的 DownloadBuildArtifacts@0 任务:
- task: DownloadBuildArtifacts@0
inputs:
buildType: 'specific'
project: 'f0a63c0e-a678-44ea-92f4-490def403add'
pipeline: '38'
buildVersionToDownload: 'latest'
downloadType: 'single'
artifactName: 'drop'
downloadPath: '$(System.ArtifactsDirectory)/Common'
其中“f0a63c0e-a678-44ea-92f4-490def403add”是项目 B 的项目 ID,38 是在项目 B 中生成工件的构建管道定义 ID。在项目 B 中的管道中执行时可以正常工作。但失败并出现错误下面当我尝试从项目 A 中的管道运行相同的任务时。
##[error]Failed in getBuildId with error: Error: VS800075: The project with id 'vstfs:///Classification/TeamProject/f0a63c0e-a678-44ea-92f4-490def403add' does not exist, or you do not have permission to access it.
##[error]Error: VS800075: The project with id 'vstfs:///Classification/TeamProject/f0a63c0e-a678-44ea-92f4-490def403add' does not exist, or you do not have permission to access it.
Finishing: DownloadBuildArtifacts
项目 A 似乎无权访问项目 B。我在哪里以及如何设置这些权限?
更新:我按照这篇文章https://github.com/MicrosoftDocs/azure-devops-docs/issues/6790中的建议检查了“将工作授权范围限制为当前项目”选项,但它已被禁用。所以不确定还需要什么其他设置。