草稿备注 API
他们可以开始讨论,也可以作为回复与现有讨论相关联。
草稿备注是合并请求的未决、未发表的评论。 他们可以:
- 开启讨论。
- 继续将极有讨论作为回复。
在发布之前,只有作者可以查看。
列出所有合并请求草稿备注
获取单个合并请求的所有草稿备注的列表。
GET /projects/:id/merge_requests/:merge_request_iid/draft_notes
参数 | 类型 | 是否必需 | 描述 |
---|---|---|---|
id |
integer or string | yes | 项目的 ID 或 URL 编码的路径 |
merge_request_iid |
integer | yes | 项目合并请求 IID |
[{
id: 5,
author_id: 23,
merge_request_id: 11,
resolve_discussion: false,
discussion_id: nil,
note: "Example title",
commit_id: nil,
line_code: nil,
position:
{
base_sha: nil,
start_sha: nil,
head_sha: nil,
old_path: nil,
new_path: nil,
position_type: "text",
old_line: nil,
new_line: nil,
line_range: nil
}
}]
curl --header "PRIVATE-TOKEN: <your_access_token>" \
"https://gitlab.example.com/api/v4/projects/14/merge_requests/11/draft_notes"
获取单个草稿备注
返回给定合并请求的单个草稿备注。
GET /projects/:id/merge_requests/:merge_request_iid/draft_notes/:draft_note_id
参数 | 类型 | 是否必需 | 描述 |
---|---|---|---|
id |
integer or string | yes | 项目的 ID 或 URL 编码的路径 |
draft_note_id |
integer | yes | 草稿备注的 ID |
merge_request_iid |
integer | yes | 项目合并请求的 IID |
{
id: 5,
author_id: 23,
merge_request_id: 11,
resolve_discussion: false,
discussion_id: nil,
note: "Example title",
commit_id: nil,
line_code: nil,
position:
{
base_sha: nil,
start_sha: nil,
head_sha: nil,
old_path: nil,
new_path: nil,
position_type: "text",
old_line: nil,
new_line: nil,
line_range: nil
}
}
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/14/merge_requests/11/draft_notes/5"
创建草稿备注
为特定合并请求创建草稿备注。
POST /projects/:id/merge_requests/:merge_request_iid/draft_notes
参数 | 类型 | 是否必需 | 描述 |
---|---|---|---|
id |
integer or string | yes | 项目的 ID 或 URL 编码的路径 |
merge_request_iid |
integer | yes | 项目合并请求 IID |
note |
string | yes | 备注内容 |
commit_id |
string | no | 关联草稿备注的提交 SHA |
in_reply_to_discussion_id |
integer | no | 草稿备注回复的讨论 ID |
resolve_discussion |
boolean | no | 应该解决相关讨论 |
position[base_sha] |
string | yes | 源分支上的基线 commit SHA。 |
position[head_sha] |
string | yes | 合并请求的 SHA ref HEAD。 |
position[start_sha] |
string | yes | 目标分支的 SHA ref commit。 |
position[new_path] |
string | yes (如果位置类型是 text ) |
修改之后的文件路径。 |
position[old_path] |
string | yes (如果位置类型是 text ) |
修改之后的文件路径。 |
position[position_type] |
string | yes | 位置引用的类型。允许值为 text 、image 或 file 。 file 极狐GitLab 16.4 引入。 |
position |
hash | no | 当创建差异注释时候的位置。 |
position[new_line] |
integer | no | 对 text 差异注释,变更之后的行数。 |
position[old_line] |
integer | no | 对 text 差异注释,变更之前的行数。 |
position[line_range] |
hash | no | 多行差异注释的行范围。 |
position[width] |
integer | no | 对 image 差异注释,图片的宽度。 |
position[height] |
integer | no | 对 image 差异注释,图片的高度。 |
position[x] |
float | no | 对 image 差异注释,X 轴的值。 |
position[y] |
float | no | 对 image 差异注释,Y 轴的值。 |
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/projects/14/merge_requests/11/draft_notes?note=note"
更改现存的草稿备注
为特定合并请求更改草稿备注。
PUT /projects/:id/merge_requests/:merge_request_iid/draft_notes/:draft_note_id
参数 | 类型 | 是否必需 | 描述 |
---|---|---|---|
id |
integer or string | yes | 项目的 ID 或 URL 编码的路径 |
draft_note_id |
integer | yes | 草稿备注 ID |
merge_request_iid |
integer | yes | 项目合并请求 IID |
note |
string | no | 备注内容 |
position[base_sha] |
string | yes | 源分支上的基线 commit SHA。 |
position[head_sha] |
string | yes | 合并请求的 SHA ref HEAD。 |
position[start_sha] |
string | yes | 目标分支的 SHA ref commit。 |
position[new_path] |
string | yes (如果位置类型是 text ) |
修改之后的文件路径。 |
position[old_path] |
string | yes (如果位置类型是 text ) |
修改之后的文件路径。 |
position[position_type] |
string | yes | 位置引用的类型。允许值为 text 、image 或 file 。 file 极狐GitLab 16.4 引入。 |
position |
hash | no | 当创建差异注释时候的位置。 |
position[new_line] |
integer | no | 对 text 差异注释,变更之后的行数。 |
position[old_line] |
integer | no | 对 text 差异注释,变更之前的行数。 |
position[line_range] |
hash | no | 多行差异注释的行范围。 |
position[width] |
integer | no | 对 image 差异注释,图片的宽度。 |
position[height] |
integer | no | 对 image 差异注释,图片的高度。 |
position[x] |
float | no | 对 image 差异注释,X 轴的值。 |
position[y] |
float | no | 对 image 差异注释,Y 轴的值。 |
curl --request PUT \
--header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/projects/14/merge_requests/11/draft_notes/5"
删除草稿备注
删除给定合并请求的现有草稿备注。
DELETE /projects/:id/merge_requests/:merge_request_iid/draft_notes/:draft_note_id
参数 | 类型 | 是否必需 | 描述 |
---|---|---|---|
draft_note_id |
integer | yes | 草稿备注的 ID |
id |
integer or string | yes | 项目的 ID 或 URL 编码的路径 |
merge_request_iid |
integer | yes | 项目合并请求的 IID |
curl --request DELETE \
--header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/projects/14/merge_requests/11/draft_notes/5"
发布草稿备注
为给定的合并请求发布现有草稿备注。
PUT /projects/:id/merge_requests/:merge_request_iid/draft_notes/:draft_note_id/publish
参数 | 类型 | 是否必需 | 描述 |
---|---|---|---|
draft_note_id |
integer | yes | 草稿备注的 ID |
id |
integer or string | yes | 项目的 ID 或 URL 编码的路径 |
merge_request_iid |
integer | yes | 项目合并请求的 IID |
curl --request PUT \
--header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/projects/14/merge_requests/11/draft_notes/5/publish"
发布所有待发布草稿备注
批量发布属于用户的给定合并请求的所有现有草稿备注。
POST /projects/:id/merge_requests/:merge_request_iid/draft_notes/bulk_publish
参数 | 类型 | 是否必需 | 描述 |
---|---|---|---|
id |
integer or string | yes | 项目的 ID 或 URL 编码的路径 |
merge_request_iid |
integer | yes | 项目合并请求 IID |
curl --request POST \
--header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/projects/14/merge_requests/11/draft_notes/bulk_publish"