首页 > 解决方案 > 是否可以更改 Azure DevOps API 中的项目名称?

问题描述

网上有几个示例展示了开发人员如何使用 Azure DevOps API 来获取工作项或启动构建。

但是,这些示例中的大多数(几乎所有示例)都与与代码没有直接关系的元数据相关。

我找不到显示如何在源代码控制下重命名项目、如何撤消挂起更改、如何取消删除已删除项目等的示例。

Azure DevOps API 是否也涵盖这些类型的自动化操作?例如,我可以通过不使用 Visual Studio 并仅通过调用 API 来更改给定项目的名称吗?

标签: azureapiazure-devops

解决方案


是否可以更改 Azure DevOps API 中的项目名称?

是的,有可能。

您可以使用 REST API Pushes - Create,它将更改推送到存储库:

POST https://dev.azure.com/{organization}/{project}/_apis/git/repositories/{repositoryId}/pushes?api-version=5.1

该文档还提供了重命名文件的示例:

请求正文:

{
  "refUpdates": [
    {
      "name": "refs/heads/$(BranchName)",
      "oldObjectId": "9a26002a878f4bb02eae59ffd2f4d881d0dac239"
    }
  ],
  "commits": [
    {
      "comment": "Renaming tasks.md to activetasks.md",
      "changes": [
        {
          "changeType": "rename",
          "sourceServerItem": "TestSample/TestSample/test.txt",
          "item": {
            "path": "TestSample/TestSample/testUpdate.txt"
          }
        }
      ]
    }
  ]
}

作为测试结果:

在此处输入图像描述

注意:oldObjectId请求正文中的可能是分支上的最新提交 id,您可以通过 REST API Commits - Get Commits获取它:

GET https://{instance}/{collection}/{project}/_apis/git/repositories/{repositoryId}/commits?api-version=5.0&branch={BranchName}&$top=1

希望这可以帮助。


推荐阅读