我正试图在已更改文件的特定行上进行讨论。
请求我提出:
await axios.post('https://gitlab.<project>/api/v4/projects/<project id>/merge_requests/103/discussions', {
body: 'test123',
'position[base_sha]': '9f4284ba82fc0667464ca8abaa76b334415278fc',
'position[start_sha]': '9f4284ba82fc0667464ca8abaa76b334415278fc',
'position[head_sha]': 'c6272616033ddcceb3ced2d37c0fd75a8cf5472f',
'position[position_type]': 'text',
'position[new_path]': 'LICENSE',
'position[new_line]': 80,
'position[old_path]': 'LICENSE',
'position[old_line]': null,
'position[line_range][start_line_code]': '0398ccd0f49298b10a3d76a47800d2ebecd49859_0_355',
'position[line_range][end_line_code]': '0398ccd0f49298b10a3d76a47800d2ebecd49859_0_355',
'position[line_range][start_line_type]': 'old',
'position[line_range][end_line_type]': 'old',
});
大多数主体值来自检查浏览器并查看gitlab在手动创建线程时提出的要求。
该请求导致一个简单的线程未出现在文件顶部,该文档没有很好地解释正文字段及其功能,因此我目前对此感到困惑。
我不确定这些字段是否正确,我从浏览器中看到的gitlab请求中提取了start_line_code
和end_line_code
:
'position[line_range][start_line_code]': '0398ccd0f49298b10a3d76a47800d2ebecd49859_0_355',
'position[line_range][end_line_code]': '0398ccd0f49298b10a3d76a47800d2ebecd49859_0_355',
'position[line_range][start_line_type]': 'old',
'position[line_range][end_line_type]': 'old',
线程的样子:
我希望它看起来像什么:
创建出现在文件顶部的线程的正确方法是什么?
答案 0 :(得分:1)
如果评论支持markdown,则将其自idk张贴在此处。
我最终做了:
const mergeRequestDiffs = <request merge request changes>
const position: {
...mergeRequestDiffs.diff_refs,
old_path: pathFromRootOfTheProject,
new_path: pathFromRootOfTheProject,
position_type: 'text',
new_line: line,
head_sha: line SHA,
}
<make discussion request with payload below i was using axios.post>
{
body: <some message>,
position,
}
在合并请求中实际上未更改文件时,我也遇到了问题。但从来没有深入研究过。由于我的团队删除了该功能。