Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/95.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Azure devops 在TFS rest api的每次提交中修改的代码行。我该怎么去?_Azure Devops - Fatal编程技术网

Azure devops 在TFS rest api的每次提交中修改的代码行。我该怎么去?

Azure devops 在TFS rest api的每次提交中修改的代码行。我该怎么去?,azure-devops,Azure Devops,在TFS api中,只允许获取修改后的文件计数。但需要为rest调用中的每个提交添加/删除每个文件修改后的行计数。没有官方发布的rest api来实现这一点。但是您可以参考这些步骤来实现您的需求 获取提交的提交id。 步骤1获取父项值和存储库id如果您不知道,使用_links>Changes>href的URL获取_links>repository>href末尾的值可以获取文件路径 通过此POST请求项目名称获取文件差异]/\u api/\u versioncontrol/fileDiff?\u

在TFS api中,只允许获取修改后的文件计数。但需要为rest调用中的每个提交添加/删除每个文件修改后的行计数。

没有官方发布的rest api来实现这一点。但是您可以参考这些步骤来实现您的需求

获取提交的提交id。 步骤1获取父项值和存储库id如果您不知道,使用_links>Changes>href的URL获取_links>repository>href末尾的值可以获取文件路径 通过此POST请求项目名称获取文件差异]/\u api/\u versioncontrol/fileDiff?\u v=5&diffParameters=[data 1]&repositoryId=[repository id] [data 1]值是JSON数据删除空白

JSON喜欢:

{
"originalPath":"/index.html",
"originalVersion":"GC[a parent value, step 2]",
"modifiedPath":"/index.html(path: step 2)",
"modifiedVersion":"GC[commit id]",
"partialDiff":true,
"includeCharDiffs":true
}
结果包含以下内容:您需要计算changeType不等于0的项,2表示删除,1表示添加:

 {
      "changeType": 2,
      "mLine": 9,
      "mLines": [],
      "mLinesCount": 0,
      "oLine": 9,
      "oLines": [
        "    <!-- Polyfill(s) for older browsers -->"
      ],
      "oLinesCount": 1
    },
 {
      "changeType": 1,
      "mLine": 22,
      "mLines": [
        "      <div>2</div>"
      ],
      "mLinesCount": 1,
      "oLine": 23,
      "oLines": [],
      "oLinesCount": 0
    }

您可以通过使用捕获提交历史>提交>选择提交的请求URL。

没有官方发布的REST API来实现这一点。但是您可以参考这些步骤来实现您的需求

获取提交的提交id。 步骤1获取父项值和存储库id如果您不知道,使用_links>Changes>href的URL获取_links>repository>href末尾的值可以获取文件路径 通过此POST请求项目名称获取文件差异]/\u api/\u versioncontrol/fileDiff?\u v=5&diffParameters=[data 1]&repositoryId=[repository id] [data 1]值是JSON数据删除空白

JSON喜欢:

{
"originalPath":"/index.html",
"originalVersion":"GC[a parent value, step 2]",
"modifiedPath":"/index.html(path: step 2)",
"modifiedVersion":"GC[commit id]",
"partialDiff":true,
"includeCharDiffs":true
}
结果包含以下内容:您需要计算changeType不等于0的项,2表示删除,1表示添加:

 {
      "changeType": 2,
      "mLine": 9,
      "mLines": [],
      "mLinesCount": 0,
      "oLine": 9,
      "oLines": [
        "    <!-- Polyfill(s) for older browsers -->"
      ],
      "oLinesCount": 1
    },
 {
      "changeType": 1,
      "mLine": 22,
      "mLines": [
        "      <div>2</div>"
      ],
      "mLinesCount": 1,
      "oLine": 23,
      "oLines": [],
      "oLinesCount": 0
    }

您可以通过使用捕获提交历史记录>提交>选择提交的请求URL。

我不理解第三步。请您解释一下POST请求的URL和请求正文以及查询参数(如果有的话)。@bhuvaneswarikalimuthu没有请求正文,只是在查询参数中。我已经解释了参数?\uu v=5&diffParameters=[data 1]&repositoryId=[repository id],第一个data 1是JSON数据,我的答案中有示例,另一个参数是repository id。您不清楚的参数是什么?谢谢..正在工作..但TFS rest api参考中没有提到此api。您能建议我此api的启用范围吗。我尝试使用vso.code\u管理vso.code\u状态vso.project vso.work。但使用此令牌时出现401授权错误scope@bhuvaneswarikalimuthu是的,它不是一个发布的API,也没有在任何地方提到,我通过开发人员工具捕获了请求。我对“范围”不太清楚,你是怎么尝试的?我不明白第三步。请你解释一下POST请求的url和请求体以及查询参数(如果有的话)。@bhuvaneswarikalimuthu没有请求体,只是在查询参数中。我已经解释了参数?\uu v=5&diffParameters=[data 1]&repositoryId=[repository id],第一个data 1是JSON数据,我的答案中有示例,另一个参数是repository id。您不清楚的参数是什么?谢谢..正在工作..但TFS rest api参考中没有提到此api。您能建议我此api的启用范围吗。我尝试使用vso.code\u管理vso.code\u状态vso.project vso.work。但使用此令牌时出现401授权错误scope@bhuvaneswarikalimuthu是的,它不是一个发布的API,也没有在任何地方提到,我通过开发人员工具捕获了请求。我不太清楚“范围”,你是怎么尝试的?