bash - Azure Devops 使用存储库名称获取 repositoryId

标签 bash azure-devops azure-pipelines azure-devops-rest-api azure-devops-pipelines

我正在编写一个 BASH 脚本,它在其中创建一个 azure 存储库,然后推送代码。发布此步骤后,它将继续并通过 Azure 存储库中的 azure-pipeline.yaml 文件创建一个 azure 管道。

在这一步,我们需要传递存储库 ID 以创建管道,但这里的问题是我不能将其保留为用户输入,因为它将在脚本本身中创建,现在我感到震惊这个。

有什么方法可以直接在脚本中从新创建的存储库中获取存储库 ID?

https://dev.azure.com/{{organization}}/{{project}}/_apis/pipelines?api-version=6.0-preview.1
{
    "folder": "Folder-Name",
    "name": "Pipeline-Name",
    "configuration": {
        "type": "yaml",
        "path": "azure-pipelines.yml",
        "repository": {
            "id": "Repo-ID",
            "name": "Repo-Name",
            "type": "azureReposGit"
        }
    }
}

最佳答案

是的,当您创建存储库(使用 Repositories - Create api)时,您会在响应中获得存储库 ID:

{
  "id": "5febef5a-833d-4e14-b9c0-14cb638f91e6",
  "name": "AnotherRepository",
  "url": "https://dev.azure.com/fabrikam/_apis/git/repositories/5febef5a-833d-4e14-b9c0-14cb638f91e6",
  "project": {
    "id": "6ce954b1-ce1f-45d1-b94d-e6bf2464ba2c",
    "name": "Fabrikam-Fiber-Git",
    "url": "https://dev.azure.com/fabrikam/_apis/projects/6ce954b1-ce1f-45d1-b94d-e6bf2464ba2c",
    "state": "wellFormed"
  },
  "remoteUrl": "https://dev.azure.com/fabrikam/Fabrikam-Fiber-Git/_git/AnotherRepository"
}

所以只需将其保存在变量中并在创建管道 api 中使用。

关于bash - Azure Devops 使用存储库名称获取 repositoryId,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67483599/

相关文章:

python - 将 bash 指向安装在 Windows 上的 python

azure - 203 使用 RestAPI 和不记名 token 列出来自 Azure DevOps 的 pat token 的非权威信息

git - 有没有办法从现有的 YAML 自动设置 azure devops 管道?

oauth - VSTS,创建构建定义得到 AllowScriptsAuthAccess 错误

azure - 有没有办法在 azure 管道构建中查看更多详细信息?

python -c 与 python -<< heredoc

bash while Break 跳出循环而不是循环?

linux - for循环中的Bash脚本kill命令

azure - 如何编辑将标志(--ipc=host)传递给azure管道中的docker run -d -p?

azure - 变量作为模板参数输入