ノートAPI
ノートはコメントです:
- スニペット
- イシュー
- マージリクエスト
- エピック
これにはシステムノートも含まれます。システムノートとは、オブジェクトの変更に関するメモのことです(例えば、担当者が変更されると、GitLab はシステムノートを投稿します)。
リソースイベント
いくつかのシステムノートはこのAPIの一部ではなく、別のイベントとして記録されます:
ノートのページネーション
デフォルトでは、APIの結果はページ分割されているため、GET
リクエストは一度に20件の結果を返します。
ページ分割についての詳細はこちらをご覧ください。
レート制限
不正使用を避けるために、1 分間にCreate
リクエストできるユーザー数を制限することができます。レート制限に関する注意事項」を参照してください。
イシュー
プロジェクトのイシューをリストアップします。
1つのイシューに関するすべてのノートの一覧を取得します。
GET /projects/:id/issues/:issue_iid/notes
GET /projects/:id/issues/:issue_iid/notes?sort=asc&order_by=updated_at
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数または文字列。 | yes | プロジェクトのIDまたはURLエンコードされたパス |
issue_iid | 整数。 | yes | イシューのIID |
sort | 文字列です。 | いいえ |
asc 、またはソートされたイシュー・ノートを返しますdesc 。デフォルトは desc
|
order_by | 文字列です。 | いいえ |
created_at 、updated_at のフィールド順にイシューを返します。デフォルトはcreated_at
|
[
{
"id": 302,
"body": "closed",
"attachment": null,
"author": {
"id": 1,
"username": "pipin",
"email": "admin@example.com",
"name": "Pip",
"state": "active",
"created_at": "2013-09-30T13:46:01Z"
},
"created_at": "2013-10-02T09:22:45Z",
"updated_at": "2013-10-02T10:22:45Z",
"system": true,
"noteable_id": 377,
"noteable_type": "Issue",
"project_id": 5,
"noteable_iid": 377,
"resolvable": false,
"confidential": false,
"internal": false
},
{
"id": 305,
"body": "Text of the comment\r\n",
"attachment": null,
"author": {
"id": 1,
"username": "pipin",
"email": "admin@example.com",
"name": "Pip",
"state": "active",
"created_at": "2013-09-30T13:46:01Z"
},
"created_at": "2013-10-02T09:56:03Z",
"updated_at": "2013-10-02T09:56:03Z",
"system": true,
"noteable_id": 121,
"noteable_type": "Issue",
"project_id": 5,
"noteable_iid": 121,
"resolvable": false,
"confidential": true,
"internal": true
}
]
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/issues/11/notes"
単一のイシュー・ノートを取得します。
特定のプロジェクトのイシューに関するメモを返します。
GET /projects/:id/issues/:issue_iid/notes/:note_id
パラメータを指定します:
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数または文字列。 | yes | プロジェクトのIDまたはURLエンコードされたパス |
issue_iid | 整数。 | yes | プロジェクトのイシューのIID |
note_id | 整数。 | yes | イシューノートのID |
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/issues/11/notes/1"
イシュー・ノートの新規作成
1つのプロジェクトのイシューに新しいノートを作成します。
POST /projects/:id/issues/:issue_iid/notes
パラメータを指定します:
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数または文字列。 | yes | プロジェクトのIDまたはURLエンコードされたパス。 |
issue_iid | 整数。 | yes | イシューのIID。 |
body | 文字列です。 | yes | メモの内容。1,000,000文字まで。 |
confidential | boolean | いいえ |
非推奨:GitLab 16.0で削除され、internal に名前が変更される予定です。 ノートの機密フラグ。デフォルトはfalseです。 |
internal | boolean | いいえ | ノートの内部フラグ。両方のパラメータが送信された場合、confidential を上書きします。デフォルトはfalse。 |
created_at | 文字列です。 | いいえ | ISO 8601形式の日付時刻文字列。1970-01-01以降でなければなりません。例:2016-03-11T03:45:40Z (管理者またはプロジェクト/グループオーナーの権限が必要です) |
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/issues/11/notes?body=note"
既存のイシュー・ノートの変更
イシューの既存のノートを修正します。
PUT /projects/:id/issues/:issue_iid/notes/:note_id
パラメータを指定します:
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数または文字列。 | yes | プロジェクトのIDまたはURLエンコードされたパス。 |
issue_iid | 整数。 | yes | イシューのIID。 |
note_id | 整数。 | yes | ノートのID。 |
body | 文字列です。 | いいえ | メモの内容。1,000,000文字まで。 |
confidential | boolean | いいえ | 非推奨:GitLab 16.0で削除予定。ノートの機密フラグ。デフォルトはfalseです。 |
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/issues/11/notes/636?body=note"
イシューノートを削除
既存のイシューのノートを削除します。
DELETE /projects/:id/issues/:issue_iid/notes/:note_id
パラメータを指定します:
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数または文字列。 | yes | プロジェクトのIDまたはURLエンコードされたパス |
issue_iid | 整数。 | yes | イシューのIID |
note_id | 整数。 | yes | ノートのID |
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/issues/11/notes/636"
スニペット
スニペット・ノートAPIは、プロジェクトレベルのスニペット向けであり、個人のスニペット向けではありません。
すべてのスニペットノートを表示
一つのスニペットに対する全てのノートのリストを取得します。スニペットノートはユーザーがスニペットに投稿できるコメントです。
GET /projects/:id/snippets/:snippet_id/notes
GET /projects/:id/snippets/:snippet_id/notes?sort=asc&order_by=updated_at
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数または文字列。 | yes | プロジェクトのIDまたはURLエンコードされたパス |
snippet_id | 整数。 | yes | プロジェクトスニペットのID |
sort | 文字列です。 | いいえ | スニペットノートをasc またはdesc 順序で desc ソートして返しますdesc 。デフォルトは desc
|
order_by | 文字列です。 | いいえ | スニペットノートをcreated_at またはupdated_at フィールド順に並べたものを返します。デフォルトはcreated_at
|
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/snippets/11/notes"
単一のスニペットノートを取得します。
指定されたスニペットの単一ノートを返します。
GET /projects/:id/snippets/:snippet_id/notes/:note_id
パラメータを指定します:
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数または文字列。 | yes | プロジェクトのIDまたはURLエンコードされたパス |
snippet_id | 整数。 | yes | プロジェクトスニペットのID |
note_id | 整数。 | yes | スニペットノートのID |
{
"id": 302,
"body": "closed",
"attachment": null,
"author": {
"id": 1,
"username": "pipin",
"email": "admin@example.com",
"name": "Pip",
"state": "active",
"created_at": "2013-09-30T13:46:01Z"
},
"created_at": "2013-10-02T09:22:45Z",
"updated_at": "2013-10-02T10:22:45Z",
"system": true,
"noteable_id": 377,
"noteable_type": "Issue",
"project_id": 5,
"noteable_iid": 377,
"resolvable": false,
"confidential": false,
"internal": false
}
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/snippets/11/notes/11"
スニペットノートの新規作成
1つのスニペットに対して新しいノートを作成します。スニペットノートはスニペットに対するユーザーのコメントです。コンテナに絵文字のリアクションだけを含むノートを作成した場合、GitLabはこのオブジェクトを返します。
POST /projects/:id/snippets/:snippet_id/notes
パラメータを指定します:
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数または文字列。 | yes | プロジェクトのIDまたはURLエンコードされたパス |
snippet_id | 整数。 | yes | スニペットのID |
body | 文字列です。 | yes | メモの内容。1,000,000文字まで。 |
created_at | 文字列です。 | いいえ | ISO 8601形式の日付時刻文字列。例:2016-03-11T03:45:40Z (管理者またはプロジェクト/グループオーナーの権限が必要です) |
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/snippet/11/notes?body=note"
既存のスニペットノートの変更
既存のスニペットノートを修正します。
PUT /projects/:id/snippets/:snippet_id/notes/:note_id
パラメータを指定します:
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数または文字列。 | yes | プロジェクトのIDまたはURLエンコードされたパス |
snippet_id | 整数。 | yes | スニペットのID |
note_id | 整数。 | yes | スニペットノートのID |
body | 文字列です。 | yes | メモの内容。1,000,000文字まで。 |
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/snippets/11/notes/1659?body=note"
スニペットノートの削除
既存のスニペットノートを削除します。
DELETE /projects/:id/snippets/:snippet_id/notes/:note_id
パラメータを指定します:
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数または文字列。 | yes | プロジェクトのIDまたはURLエンコードされたパス |
snippet_id | 整数。 | yes | スニペットのID |
note_id | 整数。 | yes | ノートのID |
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/snippets/52/notes/1659"
マージリクエスト
すべてのマージリクエストノートを一覧表示します。
一つのマージリクエストのすべてのノートのリストを取得します。
GET /projects/:id/merge_requests/:merge_request_iid/notes
GET /projects/:id/merge_requests/:merge_request_iid/notes?sort=asc&order_by=updated_at
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数または文字列。 | yes | プロジェクトのIDまたはURLエンコードされたパス |
merge_request_iid | 整数。 | yes | プロジェクトマージリクエストのIID |
sort | 文字列です。 | いいえ | マージリクエストノートをasc またはdesc 順序で desc ソートして返します。desc デフォルトは desc
|
order_by | 文字列です。 | いいえ |
created_at またはupdated_at フィールド順にマージリクエストノートを返します。デフォルトはcreated_at
|
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/merge_requests/11/notes"
単一のマージリクエストノートを取得します。
指定したマージリクエストのメモを返します。
GET /projects/:id/merge_requests/:merge_request_iid/notes/:note_id
パラメータを指定します:
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数または文字列。 | yes | プロジェクトのIDまたはURLエンコードされたパス |
merge_request_iid | 整数。 | yes | プロジェクトマージリクエストのIID |
note_id | 整数。 | yes | マージリクエストノートのID |
{
"id": 301,
"body": "Comment for MR",
"attachment": null,
"author": {
"id": 1,
"username": "pipin",
"email": "admin@example.com",
"name": "Pip",
"state": "active",
"created_at": "2013-09-30T13:46:01Z"
},
"created_at": "2013-10-02T08:57:14Z",
"updated_at": "2013-10-02T08:57:14Z",
"system": false,
"noteable_id": 2,
"noteable_type": "MergeRequest",
"project_id": 5,
"noteable_iid": 2,
"resolvable": false,
"confidential": false,
"internal": false
}
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/merge_requests/11/notes/1"
マージリクエストノートの新規作成
一つのマージリクエストに新しいノートを作成します。ノートはマージリクエストの特定の行には添付されません。より詳細な制御を行う他のアプローチについては、 Commits API のPost comment to commitや Discussions API のCreate a new thread in the merge request diffを参照してください。
コンテナに絵文字のリアクションのみを含むノートを作成した場合、GitLab はこのオブジェクトを返します。
POST /projects/:id/merge_requests/:merge_request_iid/notes
パラメータを指定します:
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数または文字列。 | yes | プロジェクトのIDまたはURLエンコードされたパス |
merge_request_iid | 整数。 | yes | プロジェクトマージリクエストのIID |
body | 文字列です。 | yes | メモの内容。1,000,000文字まで。 |
created_at | 文字列です。 | いいえ | ISO 8601形式の日付時刻文字列。例:2016-03-11T03:45:40Z (管理者またはプロジェクト/グループオーナーの権限が必要です) |
merge_request_diff_head_sha | 文字列です。 | いいえ |
/merge クイックアクションに必要です。APIリクエストが送信された後にマージリクエストが更新されていないことを確認するための、先頭コミットのSHA。 |
既存のマージリクエストノートの変更
マージリクエストの既存のノートを修正します。
PUT /projects/:id/merge_requests/:merge_request_iid/notes/:note_id
パラメータを指定します:
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数または文字列。 | yes | プロジェクトのIDまたはURLエンコードされたパス |
merge_request_iid | 整数。 | yes | プロジェクトマージリクエストのIID |
note_id | 整数。 | いいえ | ノートのID |
body | 文字列です。 | yes | メモの内容。1,000,000文字まで。 |
confidential | boolean | いいえ | 非推奨:GitLab 16.0で削除予定。ノートの機密フラグ。デフォルトはfalseです。 |
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/merge_requests/11/notes/1?body=note"
マージリクエストノートの削除
マージリクエストの既存のノートを削除します。
DELETE /projects/:id/merge_requests/:merge_request_iid/notes/:note_id
パラメータを指定します:
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数または文字列。 | yes | プロジェクトのIDまたはURLエンコードされたパス |
merge_request_iid | 整数。 | yes | マージリクエストの IID |
note_id | 整数。 | yes | ノートのID |
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/merge_requests/7/notes/1602"
エピック
エピックノート一覧
1つのエピックに関するすべてのノートのリストを取得します。エピックノートとは、ユーザーがエピックに投稿できるコメントです。
GET /groups/:id/epics/:epic_id/notes
GET /groups/:id/epics/:epic_id/notes?sort=asc&order_by=updated_at
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数または文字列。 | yes | グループのIDまたはURLエンコードされたパス |
epic_id | 整数。 | yes | グループのエピックID |
sort | 文字列です。 | いいえ | エピックノートをasc またはdesc 順番に desc ソートして返しますdesc 。デフォルトは desc
|
order_by | 文字列です。 | いいえ |
created_at またはupdated_at フィールド順にエピックノートを返します。デフォルトはcreated_at
|
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/5/epics/11/notes"
単一のエピックノートを取得
指定されたエピックに関する単一のノートを返します。
GET /groups/:id/epics/:epic_id/notes/:note_id
パラメータを指定します:
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数または文字列。 | yes | グループのIDまたはURLエンコードされたパス |
epic_id | 整数。 | yes | エピックID |
note_id | 整数。 | yes | ノートのID |
{
"id": 302,
"body": "Epic note",
"attachment": null,
"author": {
"id": 1,
"username": "pipin",
"email": "admin@example.com",
"name": "Pip",
"state": "active",
"created_at": "2013-09-30T13:46:01Z"
},
"created_at": "2013-10-02T09:22:45Z",
"updated_at": "2013-10-02T10:22:45Z",
"system": true,
"noteable_id": 11,
"noteable_type": "Epic",
"project_id": 5,
"noteable_iid": 11,
"resolvable": false,
"confidential": false,
"internal": false
}
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/5/epics/11/notes/1"
エピックノートの新規作成
1つのエピックに対して新しいノートを作成します。エピックノートとは、ユーザーがエピックに投稿できるコメントです。コンテナに絵文字のリアクションのみを含むノートを作成した場合、GitLabはこのオブジェクトを返します。
POST /groups/:id/epics/:epic_id/notes
パラメータを指定します:
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
body | 文字列です。 | yes | メモの内容。1,000,000文字まで。 |
epic_id | 整数。 | yes | エピックID |
id | 整数または文字列。 | yes | グループのIDまたはURLエンコードされたパス |
confidential | boolean | いいえ |
非推奨:GitLab 16.0で削除される予定で、internal に名前が変更されます。 ノートの機密フラグ。デフォルトはfalse 。 |
internal | boolean | いいえ | ノートの内部フラグ。両方のパラメータが送信された場合、confidential を上書きします。デフォルトはfalse 。 |
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/5/epics/11/notes?body=note"
既存のエピックノートの変更
既存のエピックノートを修正します。
PUT /groups/:id/epics/:epic_id/notes/:note_id
パラメータを指定します:
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数または文字列。 | yes | グループのIDまたはURLエンコードされたパス |
epic_id | 整数。 | yes | エピックID |
note_id | 整数。 | yes | ノートのID |
body | 文字列です。 | yes | メモの内容。1,000,000文字まで。 |
confidential | boolean | いいえ | 非推奨:GitLab 16.0で削除予定。ノートの機密フラグ。デフォルトはfalseです。 |
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/5/epics/11/notes/1?body=note"
エピックノートの削除
既存のエピックノートを削除します。
DELETE /groups/:id/epics/:epic_id/notes/:note_id
パラメータを指定します:
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数または文字列。 | yes | グループのIDまたはURLエンコードされたパス |
epic_id | 整数。 | yes | エピックID |
note_id | 整数。 | yes | ノートのID |
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/5/epics/52/notes/1659"