我正在尝试使用此端点使用 GitLab api 在文件的特定行上创建关于合并请求的讨论说明:https : //docs.gitlab.com/ee/api/discussions.html#create-new-合并请求线程
部分有效载荷要求 line_code
| 属性 | 类型 | 必需的 | 描述 |
|---|---|---|---|
| 位置[line_range][开始][line_code] | 细绳 | 是的 | 起始行的行代码 |
当我发出 POST 时,我收到以下回复:
"message": "400 (Bad request) \"Note {:line_code=>[\"can't be blank\", \"must be a valid line code\"], :position=>[\"is incomplete\"]}\" not given"
Run Code Online (Sandbox Code Playgroud)
这是什么line_code?它是某种计算值吗?这里的文档相当模糊。
当我为 merge_request 上的所有当前注释发出 GET 时,我可以看到一些注释有这个line_code(见下文)。我试图弄清楚如何为新笔记创造价值。
{
"id": 89,
"type": "DiffNote",
"body": "4",
"attachment": null,
"author": {
"id": 6,
"name": "brian c",
"username": "bc",
"state": "active",
"avatar_url": "https://www.gravatar.com/avatar/f590a9cf57136732dd0cb5z9b1563390?s=80&d=identicon",
"web_url": "http://gitlab.mycompany.us/thisIsMe"
},
"created_at": "2021-01-11T21:46:23.861Z",
"updated_at": "2021-01-11T21:46:23.861Z",
"system": false,
"noteable_id": 21,
"noteable_type": "MergeRequest",
"position": {
"base_sha": "3bf8094f0d54fc70a66698bd582f25c77243de3b",
"start_sha": "3bf8094f0d54fc70a66698bd582f25c77243de3b",
"head_sha": "a10e73cf84eae38286df56f4b58fa221d7eefc44",
"old_path": "b.txt",
"new_path": "b.txt",
"position_type": "text",
"old_line": null,
"new_line": 4,
"line_range": {
"start": {
"line_code": "aceba96ffdf13ce4cd4171c0248420cc03108ef0_0_4",
"type": "new",
"old_line": null,
"new_line": 4
},
"end": {
"line_code": "aceba96ffdf13ce4cd4171c0248420cc03108ef0_0_4",
"type": "new",
"old_line": null,
"new_line": 4
}
}
},
"resolvable": true,
"resolved": false,
"resolved_by": null,
"confidential": false,
"noteable_iid": 3,
"commands_changes": {}
},
Run Code Online (Sandbox Code Playgroud)
行代码是hash of the file name + underscore + old line number + underscore + new line number
文档是错误的。line_code仅当您使用position.line_range仅在添加跨越多行差异的差异注释时才需要。您不需要处理line_code单行差异注释。所以它不是必需的参数。您可以只使用position.old_line或position.new_line。
| 归档时间: |
|
| 查看次数: |
227 次 |
| 最近记录: |