正式なドキュメントは英語版であり、この日本語訳はAI支援翻訳により作成された参考用のものです。日本語訳の一部の内容は人間によるレビューがまだ行われていないため、翻訳のタイミングにより英語版との間に差異が生じることがあります。最新かつ正確な情報については、英語版をご参照ください。

ドラフトノートAPI

  • プラン: Free、Premium、Ultimate
  • 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated

このAPIを使用して、ドラフトノートを管理します。これらのノートは、マージリクエストに関する保留中の未公開コメントです。ドラフトノートはディスカッションを開始したり、既存のディスカッションへの返信として継続したりできます。

公開するまで、ドラフトノートは作成者のみに表示されます。

すべてのマージリクエストドラフトノートを一覧表示

単一のマージリクエストのすべてのドラフトノートのリストを取得します。

GET /projects/:id/merge_requests/:merge_request_iid/draft_notes
属性必須説明
id整数または文字列はいプロジェクトのIDまたはURLエンコードされたパス
merge_request_iid整数はいプロジェクトマージリクエストのIID
[
  {
    "id": 5,
    "author_id": 23,
    "merge_request_id": 11,
    "resolve_discussion": false,
    "discussion_id": null,
    "note": "Example title",
    "commit_id": null,
    "line_code": null,
    "position": {
      "base_sha": null,
      "start_sha": null,
      "head_sha": null,
      "old_path": null,
      "new_path": null,
      "position_type": "text",
      "old_line": null,
      "new_line": null,
      "line_range": null
    }
  }
]
curl --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "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整数または文字列はいプロジェクトのIDまたはURLエンコードされたパス
draft_note_id整数はいドラフトノートのID。
merge_request_iid整数はいプロジェクトマージリクエストのIID。
[
  {
    "id": 5,
    "author_id": 23,
    "merge_request_id": 11,
    "resolve_discussion": false,
    "discussion_id": null,
    "note": "Example title",
    "commit_id": null,
    "line_code": null,
    "position": {
      "base_sha": null,
      "start_sha": null,
      "head_sha": null,
      "old_path": null,
      "new_path": null,
      "position_type": "text",
      "old_line": null,
      "new_line": null,
      "line_range": null
    }
  }
]
curl --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "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整数または文字列はいプロジェクトのIDまたはURLエンコードされたパス
merge_request_iid整数はいプロジェクトマージリクエストのIID。
note文字列はいノートのコンテンツ。
commit_id文字列いいえドラフトノートを関連付けるコミットのSHA。
in_reply_to_discussion_id文字列いいえドラフトノートが返信するディスカッションのID。
resolve_discussionブール値いいえ関連付けられたディスカッションは解決されるはずです。
positionハッシュいいえ差分ノートを作成する際の位置。省略した場合、通常のディスカッションノートが作成されます。
position[base_sha]文字列はい(positionが指定されている場合)ソースブランチのベースコミットSHA。
position[head_sha]文字列はい(positionが指定されている場合)このマージリクエストのHEADを参照するSHA。
position[start_sha]文字列はい(positionが指定されている場合)ターゲットブランチのコミットを参照するSHA。
position[new_path]文字列はい(position typeがtextの場合)変更後のファイルパス。
position[old_path]文字列はい(position typeがtextの場合)変更前のファイルパス。
position[position_type]文字列はい(positionが指定されている場合)位置参照のタイプ。許可される値:textimage、またはfilefileは、GitLab 16.4で導入されました
position[new_line]整数いいえtext差分ノートの場合、変更後の行番号。
position[old_line]整数いいえtext差分ノートの場合、変更前の行番号。
position[line_range]ハッシュいいえ複数行の差分ノートの行範囲。
position[width]整数いいえimage差分ノートの場合、画像の幅。
position[height]整数いいえimage差分ノートの場合、画像の高さ。
position[x]浮動小数点数いいえimage差分ノートの場合、X座標。
position[y]浮動小数点数いいえ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整数または文字列はいプロジェクトのIDまたはURLエンコードされたパス
draft_note_id整数はいドラフトノートのID。
merge_request_iid整数はいプロジェクトマージリクエストのIID。
note文字列いいえノートのコンテンツ。
positionハッシュいいえ差分ノートを作成する際の位置。
position[base_sha]文字列はい(positionが指定されている場合)ソースブランチのベースコミットSHA。
position[head_sha]文字列はい(positionが指定されている場合)このマージリクエストのHEADを参照するSHA。
position[start_sha]文字列はい(positionが指定されている場合)ターゲットブランチのコミットを参照するSHA。
position[new_path]文字列はい(position typeがtextの場合)変更後のファイルパス。
position[old_path]文字列はい(position typeがtextの場合)変更前のファイルパス。
position[position_type]文字列はい(positionが指定されている場合)位置参照のタイプ。許可される値:textimage、またはfilefileは、GitLab 16.4で導入されました
position[new_line]整数いいえtext差分ノートの場合、変更後の行番号。
position[old_line]整数いいえtext差分ノートの場合、変更前の行番号。
position[line_range]ハッシュいいえ複数行の差分ノートの行範囲。
position[width]整数いいえimage差分ノートの場合、画像の幅。
position[height]整数いいえimage差分ノートの場合、画像の高さ。
position[x]浮動小数点数いいえimage差分ノートの場合、X座標。
position[y]浮動小数点数いいえ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整数はいドラフトノートのID。
id整数または文字列はいプロジェクトのIDまたはURLエンコードされたパス
merge_request_iid整数はいプロジェクトマージリクエストの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整数はいドラフトノートのID。
id整数または文字列はいプロジェクトのIDまたはURLエンコードされたパス
merge_request_iid整数はいプロジェクトマージリクエストの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整数または文字列はいプロジェクトのIDまたはURLエンコードされたパス
merge_request_iid整数はいプロジェクトマージリクエストの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"