Azure devops 如何解决工件的发布管道部署问题?

Azure devops 如何解决工件的发布管道部署问题?,azure-devops,azure-pipelines,azure-pipelines-release-pipeline,azure-devops-rest-api,azure-repos,Azure Devops,Azure Pipelines,Azure Pipelines Release Pipeline,Azure Devops Rest Api,Azure Repos,我正在使用Azure DevOps REST API创建发布管道,并通过编程方式进行部署。触发部署API后,它会启动发行版,但无法下载工件。在artifact部分,我配置了azurerepos以在代理中下载代码。我得到以下错误 [错误1] TF401019:名称或标识符为21的Git存储库不存在,或者您没有所执行操作的权限 尝试 数字21是我尝试完成这项任务的次数。我不知道出了什么问题 为了创建发行版,我在请求正文中使用了以下详细信息 "definitionId": String(release

我正在使用Azure DevOps REST API创建发布管道,并通过编程方式进行部署。触发部署API后,它会启动发行版,但无法下载工件。在artifact部分,我配置了azurerepos以在代理中下载代码。我得到以下错误

[错误1] TF401019:名称或标识符为21的Git存储库不存在,或者您没有所执行操作的权限 尝试

数字21是我尝试完成这项任务的次数。我不知道出了什么问题

为了创建发行版,我在请求正文中使用了以下详细信息

"definitionId": String(release_definition_id),
"artifacts": [{
     "alias": releaseAlias,
     "instanceReference": {
         "definitionId": release_definition_id,
         "id": buildId,
         "sourceRepositoryId": azureRepoId,
         "sourceRepositoryType": "TfsGit",
         "sourceBranch": "master",
         "sourceVersion": azureRepoCommitId
      }
 }]
创建发行版时,它没有指向正确的存储库id。但我已在发行版定义中提供了所有正确的详细信息。

尝试使用以下格式:

{
  "definitionId": 11,
  "artifacts": [
    {
      "alias": "_BSC",
      "instanceReference": {
        "sourceBranch": "master",
        "sourceRepositoryId": "ee63d8d0-xxx-0bc08b6712be",
        "sourceRepositoryType": "TfsGit",
        "id": "34a0883b8c-xxxxx-b46c03958b0"
      }
    }
  ]
}

上述定义的关键点

alias
:如您所述,您在工件部分设置了
Azure Repos
。此处,此别名值应为您的
repos别名之一。例如,我的回购名称是
BSC
,因此我的回购别名是
\u BSC


id
:将定义的
sourceVersion
更改为
id
。然后将
提交id
放在这里

你能分享整个json/脚本吗?@shaykibaramczyk这是创建发布的完整请求主体。我是否缺少任何配置?谢谢@Merlin Liang-MSFT。我在官方文档中遵循这个官方文档,他们提到为
id
属性提供
buildId
值。在您的回答之后,我把它弄清楚并替换为我的提交id。它按预期工作。@kumareshbabons。医生似乎给出了令人困惑的方向。与您分享我在此类api配置方面的经验。只需从UI执行相同的操作,然后检查F12中的api记录。它永远不会让你犯错,哈:-)但不管怎样,知道它现在很好用真是太棒了。