Git Azure DevOps管道任务,用于更新文件和签入TFS

Git Azure DevOps管道任务,用于更新文件和签入TFS,git,powershell,tfs,azure-devops,azure-pipelines,Git,Powershell,Tfs,Azure Devops,Azure Pipelines,我正在使用Azure开发操作来触发构建和部署。我在GIT branch中有angular代码,将从该代码触发构建,并基于构建#我需要在TFS中更新一个文件并签入相同的文件 我添加了PowerShell任务以从GIT分支读取构建。但我不知道更新文件和在TFS分支中签入相同文件的进一步步骤 请建议使用PowerShell命令来完成上述任务 Azure DevOps管道任务,用于更新文件和签入TFS 您可以调用RESTAPI来更新文件,并使用powershell脚本在TFS分支中签入相同的文件 转到代

我正在使用Azure开发操作来触发构建和部署。我在GIT branch中有angular代码,将从该代码触发构建,并基于构建#我需要在TFS中更新一个文件并签入相同的文件

我添加了PowerShell任务以从GIT分支读取构建。但我不知道更新文件和在TFS分支中签入相同文件的进一步步骤

请建议使用PowerShell命令来完成上述任务

Azure DevOps管道任务,用于更新文件和签入TFS

您可以调用RESTAPI来更新文件,并使用powershell脚本在TFS分支中签入相同的文件

  • 转到代理阶段并选择允许脚本访问OAuth令牌。见:

  • 在生成管道中添加PowerShell任务,以获取分支上的最新提交您要更新文件并签入:

    GET https://{instance}/{collection}/{project}/_apis/git/repositories/{repositoryId}/commits?api-version=5.0&branch={BranchName}&$top=1
    
  • 通过REST API在TFS分支中更新文件并签入相同的文件:

    POST https://{instance}/{collection}/{project}/_apis/git/repositories/{repositoryId}/pushes?api-version=5.0
    
  • 正文(应用程序/json):

    作为测试结果:

    注:

    • 如果文件内容包含引号(\“test\”),则需要分析引号, 与其他特别章程相同
    • 使用获取
      repositoryId

    希望这有帮助。

    此问题有任何更新吗?你解决这个问题了吗?如果没有,你能告诉我关于这个问题的最新信息吗?谢谢。刚才看到你的回复,我会试着让你知道。现在结果如何?下面的答案是否解决了您的问题,如果是,您可以接受它作为一个答案,这样它可以帮助其他社区成员谁得到相同的问题,我们可以存档此线程,谢谢。如果没有,请告诉我们您是否需要进一步的帮助。我厌倦了在Powershell中运行下面的命令,但它说的是未知命令“GET https://{instance}/{collection}/{project}/{u api/git/repositories/{repositoryId}/commissions?api version=5.0&branch={BranchName}&$top=1”请让我知道确切的命令。您似乎不熟悉API,我会在有时间时为您提供完整的代码。
    {
      "refUpdates": [
        {
          "name": "refs/heads/$(BranchName)",
          "oldObjectId": "[step 2 commit ID]"
        }
      ],
      "commits": [
        {
          "comment": "Added a few more items to the task list.",
          "changes": [
            {
              "changeType": "edit",
              "item": {
                "path": "/tasks.md"
              },
              "newContent": {
                "content": "# Tasks\n\n* Item 1\n* Item 2\n* Item 3\n* Item 4\n\nIf you need to add more, update this file and add them!",
                "contentType": "rawtext"
              }
            }
          ]
        }
      ]
    }