正式なドキュメントは英語版であり、この日本語訳は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]文字列はい(ポジションタイプがtextの場合)変更後のファイルパス。
position[old_path]文字列はい(ポジションタイプが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]文字列はい(ポジションタイプがtextの場合)変更後のファイルパス。
position[old_path]文字列はい(ポジションタイプが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"