通过javascript Appication更新位于VSTS存储库中的文件

时间:2018-12-20 11:21:02

标签: javascript azure-devops vss-web-extension-sdk

我已经使用JavaScript开发了VSTS扩展程序,其中使用“ vss-web-extension-sdk” npm包从VSTS存储库中读取文件(CSV文件)。

以下方法提供文件内容

 async getItemContent(filepath,dataRepository,dataProject) {
        let raw = await this.gitRestClient.getItemContent(dataRepository, filepath, dataProject);
        return this.decoder.decode(raw);
    }

这是我的演示存储库。

enter image description here

此处输入参数为

文件路径-“ data / a.csv”

dataRepository-“ TestRepo”

dataProject-“ BuildDemoProject”

读取csv文件工作正常。现在,我想更新文件并发送回存储库。

更新1:

我找到了一种使用GitHttpClient Api推送更改的方法,如下所示。

https://docs.microsoft.com/en-us/azure/devops/extend/reference/client/api/tfs/versioncontrol/gitrestclient/githttpclient2_2?view=vsts#createpush()

https://docs.microsoft.com/en-us/rest/api/azure/devops/git/pushes/create?view=azure-devops-rest-5.0#update_a_file

请求参数是

{
  "refUpdates": [
    {
      "name": "refs/heads/master",
      "oldObjectId": "fd1062428e0567cfbfcc28ac59d4bea077ce81c1"
    }
  ],
  "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"
          }
        }
      ]
    }
  ]
}

现在我的查询是请求参数中“ oldObjectId”的值。

0 个答案:

没有答案