Azure devops 在TFS rest api的每次提交中修改的代码行。我该怎么去?
在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喜欢: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
{
"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,也没有在任何地方提到,我通过开发人员工具捕获了请求。我不太清楚“范围”,你是怎么尝试的?