- イシューのページネーション
- イシューの一覧
- リストグループのイシュー
- プロジェクトのイシューを一覧表示
- 単一のイシュー
- 単一プロジェクトのイシュー
- 新しいイシュー
- レート制限
- イシューの編集
- イシューの削除
- イシューの並び替え
- イシューの移動
- イシューのクローン
- イシューの登録
- イシューの配信停止
- To-Do 項目の作成
- イシューをエピックに昇格させる
- イシューの見積もり時間の設定
- イシューの見積もり時間をリセットします。
- イシューに費やした時間を追加します。
- イシューに費やされた時間のリセット
- 時間追跡統計の取得
- イシューに関連するマージリクエストのリスト
- マージ時に特定のイシューをクローズするマージリクエストのリスト
- イシューに関する参加者
- イシューに関するコメント
- ユーザーエージェントの詳細の取得
- イシュー状態イベントのリスト
- メトリック画像のアップロード
- メトリック画像のリスト
- メトリック画像の更新
- メトリクス画像の削除
イシューAPI
REST APIを使ってGitLabイシューとやり取りできます。
ユーザーが非公開プロジェクトのメンバーでない場合、そのプロジェクトに対するGET
リクエストは404
ステータスコードになります。
イシューのページネーション
デフォルトでは、APIの結果はページ分割されているため、GET
リクエストは一度に20件の結果を返します。
ページ分割についての詳細はこちらをご覧ください。
references.relative
属性は、リクエストされたイシューのグループやプロジェクトに対する相対属性です。イシューがプロジェクトから取得される場合、relative
形式はshort
形式と同じです。グループやプロジェクトを越えてリクエストされた場合は、full
形式と同じになります。イシューの一覧
認証ユーザーがアクセスできるすべてのイシューを取得します。デフォルトでは、現在のユーザーが作成したイシューのみを返します。すべてのイシューを取得するには、パラメータscope=all
を使ってください。
GET /issues
GET /issues?assignee_id=5
GET /issues?author_id=5
GET /issues?confidential=true
GET /issues?iids[]=42&iids[]=43
GET /issues?labels=foo
GET /issues?labels=foo,bar
GET /issues?labels=foo,bar&state=opened
GET /issues?milestone=1.0.0
GET /issues?milestone=1.0.0&state=opened
GET /issues?my_reaction_emoji=star
GET /issues?search=foo&in=title
GET /issues?state=closed
GET /issues?state=opened
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
assignee_id | 整数。 | いいえ | 指定されたユーザーid に割り当てられたイシューを返します。assignee_username と排他的です。None は未割り当てのイシューを返します。Any は担当者を持つイシューを返します。 |
assignee_username | 文字列配列 | いいえ | 指定されたusername に割り当てられたイシューを返します。と似てassignee_id おり、相互に排他的 assignee_id です。 GitLab CEでは、assignee_username 配列は単一の値のみを含む必要があります。そうでない場合は、無効なパラメータエラーが返されます。 |
author_id | 整数。 | いいえ | 指定されたユーザーid によって作成されたイシューを返します。author_username と排他的です。scope=all またはscope=assigned_to_me と組み合わせます。 |
author_username | 文字列です。 | いいえ | 指定されたusername によって作成されたイシューを返します。.NETと似てauthor_id いますが、互いに排他的 author_id です。 |
confidential | boolean | いいえ | 機密または公開イシューをフィルタリングします。 |
created_after | datetime | いいえ | 指定された時刻以降に作成されたイシューを返します。ISO 8601 フォーマット (2019-03-15T08:00:00Z ) で指定します。 |
created_before | datetime | いいえ | 指定された時刻以前に作成されたイシューを返します。ISO 8601フォーマット (2019-03-15T08:00:00Z ) で期待されるもの |
due_date | 文字列です。 | いいえ | 返却期限のないイシュー、返却期限を過ぎたイシュー、返却期限が今週、今月、または2週間前から来月までのイシューを返却します。利用可能:0 (期限なし)、any 、today 、tomorrow 、overdue 、week 、month 、next_month_and_previous_two_weeks 。 |
epic_id
| 整数。 | いいえ |
None はエピックに関連しないイシューを返します。Any はエピックに関連するイシューを返します。(GitLab 13.6 で導入されました)
|
health_status
| 文字列です。 | いいえ | 指定されたhealth_status を持つイシューを返します(GitLab 15.4で導入)。GitLab 15.5以降では、None はヘルスステータスが割り当てられていないイシューを返し、Any はヘルスステータスが割り当てられているイシューを返します。 |
iids[] | 整数配列。 | いいえ | 与えられたiid
|
in | 文字列です。 | いいえ |
search 属性のスコープを変更します。title ,description , またはカンマで連結した文字列。デフォルトはtitle,description
|
issue_type | 文字列です。 | いいえ | 指定した種類のイシューにフィルタをかけます。issue ,incident ,test_case のいずれか。(GitLab 13.12 で導入)
|
iteration_id
| 整数。 | いいえ |
None はイテレーションに属さないイシューを返します。Any はイテレーションに属するイシューを返します。iteration_title と排他的です_(GitLab 13.6 で導入)_。 |
iteration_title iteration_title
| 文字列です。 | いいえ | 指定されたタイトルのイテレーションに割り当てられたイシューを返します。iteration_id . iteration_id と似てiteration_id いますが、互いに排他的 iteration_id です_(GitLab 13.6 で導入)_。 |
labels | 文字列です。 | いいえ | ラベル名のカンマ区切りリスト。None はラベルのないすべてのイシューをリストします。Any は少なくとも1つのラベルを持つすべてのイシューをリストします。 No+Label (非推奨) はラベルのないすべてのイシューをリストします。定義済みの名前は大文字と小文字を区別しません。 |
milestone | 文字列です。 | いいえ | マイルストーンのタイトルです。None にはマイルストーンのないイシューがすべてリストアップされます。Any にはマイルストーンが割り当てられているイシューがすべてリストアップされます。None またはAny を使用することは今後推奨されません。代わりにmilestone_id 属性を使用してください。milestone とmilestone_id は相互に排他的です。 |
milestone_id | 文字列です。 | いいえ | 指定されたタイムボックス値 (None ,Any ,Upcoming ,Started ) を持つマイルストーンに割り当てられたイシューを返します。None はマイルストーンが割り当てられていないすべてのイシューをリストアップします。Any はマイルストーンが割り当てられているすべてのイシューをリストアップします。Upcoming は将来期限が到来するマイルストーンに割り当てられたすべてのイシューをリストアップします。Started は開始された未解決のマイルストーンに割り当てられたすべてのイシューをリストアップします。milestone とmilestone_id は相互に排他的です。(GitLab 14.3 で導入されました)
|
my_reaction_emoji | 文字列です。 | いいえ |
emoji None は、リアクションが与えられていないイシューを返します。Any は、少なくとも1つのリアクションが与えられたイシューを返します。 |
non_archived | boolean | いいえ | アーカイブされていないプロジェクトのイシューのみを返します。false の場合、アーカイブされたプロジェクトとアーカイブされていないプロジェクトの両方のイシューを返します。デフォルトはtrue です_(GitLab 13.0 で導入)_。 |
not | ハッシュ | いいえ | 指定されたパラメータに一致しないイシューを返します。を受け付けます:assignee_id assignee_username ,author_id ,author_username ,iids ,iteration_id ,iteration_title ,labels ,milestone ,milestone_id andweight . |
order_by | 文字列です。 | いいえ |
created_at 、due_date 、label_priority 、milestone_due 、popularity 、priority 、relative_position 、title 、updated_at 、weight のいずれかのフィールドで並べ替えられたイシューを返します。デフォルトはcreated_at 。 |
scope | 文字列です。 | いいえ | 指定されたスコープのイシューを返します:created_by_me assigned_to_me またはall 。デフォルトはcreated_by_me です。 |
search | 文字列です。 | いいえ |
title 、イシューを検索します。description
|
sort | 文字列です。 | いいえ |
asc 、またはソートされたイシューを返しますdesc 。デフォルトは desc
|
state | 文字列です。 | いいえ |
all イシュー、あるいはopened またはclosed
|
updated_after | datetime | いいえ | 指定された時刻以降に更新されたイシューを返します。ISO 8601 フォーマット (2019-03-15T08:00:00Z ) で期待されるもの |
updated_before | datetime | いいえ | 指定された時刻以前に更新されたイシューを返します。ISO 8601 フォーマット (2019-03-15T08:00:00Z ) で期待されるもの |
weight
| 整数。 | いいえ | 指定されたweight を持つイシューを返します。None は、ウェイトが割り当てられていないイシューを返します。Any は、ウェイトが割り当てられているイシューを返します。 |
with_labels_details | boolean | いいえ |
true の場合、レスポンスはlabelsフィールドの各ラベルの詳細を返します::name :color ,:description ,:description_html ,:text_color .デフォルトはfalse です。description_html 属性は GitLab 12.7 で導入されました。 |
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/issues"
応答例
[
{
"state" : "opened",
"description" : "Ratione dolores corrupti mollitia soluta quia.",
"author" : {
"state" : "active",
"id" : 18,
"web_url" : "https://gitlab.example.com/eileen.lowe",
"name" : "Alexandra Bashirian",
"avatar_url" : null,
"username" : "eileen.lowe"
},
"milestone" : {
"project_id" : 1,
"description" : "Ducimus nam enim ex consequatur cumque ratione.",
"state" : "closed",
"due_date" : null,
"iid" : 2,
"created_at" : "2016-01-04T15:31:39.996Z",
"title" : "v4.0",
"id" : 17,
"updated_at" : "2016-01-04T15:31:39.996Z"
},
"project_id" : 1,
"assignees" : [{
"state" : "active",
"id" : 1,
"name" : "Administrator",
"web_url" : "https://gitlab.example.com/root",
"avatar_url" : null,
"username" : "root"
}],
"assignee" : {
"state" : "active",
"id" : 1,
"name" : "Administrator",
"web_url" : "https://gitlab.example.com/root",
"avatar_url" : null,
"username" : "root"
},
"type" : "ISSUE",
"updated_at" : "2016-01-04T15:31:51.081Z",
"closed_at" : null,
"closed_by" : null,
"id" : 76,
"title" : "Consequatur vero maxime deserunt laboriosam est voluptas dolorem.",
"created_at" : "2016-01-04T15:31:51.081Z",
"moved_to_id" : null,
"iid" : 6,
"labels" : ["foo", "bar"],
"upvotes": 4,
"downvotes": 0,
"merge_requests_count": 0,
"user_notes_count": 1,
"due_date": "2016-07-22",
"web_url": "http://gitlab.example.com/my-group/my-project/issues/6",
"references": {
"short": "#6",
"relative": "my-group/my-project#6",
"full": "my-group/my-project#6"
},
"time_stats": {
"time_estimate": 0,
"total_time_spent": 0,
"human_time_estimate": null,
"human_total_time_spent": null
},
"has_tasks": true,
"task_status": "10 of 15 tasks completed",
"confidential": false,
"discussion_locked": false,
"issue_type": "issue",
"severity": "UNKNOWN",
"_links":{
"self":"http://gitlab.example.com/api/v4/projects/1/issues/76",
"notes":"http://gitlab.example.com/api/v4/projects/1/issues/76/notes",
"award_emoji":"http://gitlab.example.com/api/v4/projects/1/issues/76/award_emoji",
"project":"http://gitlab.example.com/api/v4/projects/1",
"closed_as_duplicate_of": "http://gitlab.example.com/api/v4/projects/1/issues/75"
},
"task_completion_status":{
"count":0,
"completed_count":0
}
}
]
GitLab Premium または Ultimate のユーザーが作成したイシューには、weight
プロパティが含まれています:
[
{
"state" : "opened",
"description" : "Ratione dolores corrupti mollitia soluta quia.",
"weight": null,
...
}
]
GitLab Premium または Ultimate のユーザーが作成したイシューには、epic
プロパティが含まれています:
{
"project_id" : 4,
"description" : "Omnis vero earum sunt corporis dolor et placeat.",
"epic_iid" : 5, //deprecated, use `iid` of the `epic` attribute
"epic": {
"id" : 42,
"iid" : 5,
"title": "My epic epic",
"url" : "/groups/h5bp/-/epics/5",
"group_id": 8
},
...
}
GitLab Premium または Ultimate のユーザーが作成したイシューには、iteration
プロパティが含まれています:
{
"iteration": {
"id":90,
"iid":4,
"sequence":2,
"group_id":162,
"title":null,
"description":null,
"state":2,
"created_at":"2022-03-14T05:21:11.929Z",
"updated_at":"2022-03-14T05:21:11.929Z",
"start_date":"2022-03-08",
"due_date":"2022-03-14",
"web_url":"https://gitlab.com/groups/my-group/-/iterations/90"
}
...
}
GitLab Ultimate のユーザーが作成したイシューには、health_status
プロパティが含まれます:
[
{
"state" : "opened",
"description" : "Ratione dolores corrupti mollitia soluta quia.",
"health_status": "on_track",
...
}
]
assignee
カラムは非推奨です。GitLab EE APIに準拠するため、シングルサイズの配列assignees
。リストグループのイシュー
グループのイシューの一覧を取得します。
グループが非公開の場合、作成者の認証が必要です。これを行うには、個人アクセストークンを使用するのが好ましい方法です。
GET /groups/:id/issues
GET /groups/:id/issues?assignee_id=5
GET /groups/:id/issues?author_id=5
GET /groups/:id/issues?confidential=true
GET /groups/:id/issues?iids[]=42&iids[]=43
GET /groups/:id/issues?labels=foo
GET /groups/:id/issues?labels=foo,bar
GET /groups/:id/issues?labels=foo,bar&state=opened
GET /groups/:id/issues?milestone=1.0.0
GET /groups/:id/issues?milestone=1.0.0&state=opened
GET /groups/:id/issues?my_reaction_emoji=star
GET /groups/:id/issues?search=issue+title+or+description
GET /groups/:id/issues?state=closed
GET /groups/:id/issues?state=opened
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
assignee_id | 整数。 | いいえ | 指定されたユーザーid に割り当てられたイシューを返します。assignee_username と排他的です。None は未割り当てのイシューを返します。Any は担当者を持つイシューを返します。 |
assignee_username | 文字列配列 | いいえ | 指定されたusername に割り当てられたイシューを返します。と似てassignee_id おり、相互に排他的 assignee_id です。 GitLab CEでは、assignee_username 配列は単一の値のみを含む必要があります。そうでない場合は、無効なパラメータエラーが返されます。 |
author_id | 整数。 | いいえ | 指定されたユーザーid によって作成されたイシューを返します。author_username と排他的です。scope=all またはscope=assigned_to_me と組み合わせます。 |
author_username | 文字列です。 | いいえ | 指定されたusername によって作成されたイシューを返します。.NETと似てauthor_id いますが、互いに排他的 author_id です。 |
confidential | boolean | いいえ | 機密または公開イシューをフィルタリングします。 |
created_after | datetime | いいえ | 指定された時刻以降に作成されたイシューを返します。ISO 8601 フォーマット (2019-03-15T08:00:00Z ) で指定します。 |
created_before | datetime | いいえ | 指定された時刻以前に作成されたイシューを返します。ISO 8601フォーマット (2019-03-15T08:00:00Z ) で期待されるもの |
due_date | 文字列です。 | いいえ | 返却期限のないイシュー、返却期限を過ぎたイシュー、返却期限が今週、今月、または2週間前から来月までのイシューを返却します。利用可能:0 (期限なし)、any 、today 、tomorrow 、overdue 、week 、month 、next_month_and_previous_two_weeks 。 |
epic_id
| 整数。 | いいえ |
None はエピックに関連しないイシューを返します。Any はエピックに関連するイシューを返します。(GitLab 13.6 で導入されました)
|
id | 整数/文字列 | yes | 認証されたユーザーが所有するグループのグローバルIDまたはURLエンコードされたパス |
iids[] | 整数配列。 | いいえ | 与えられたiid
|
issue_type | 文字列です。 | いいえ | 指定した種類のイシューにフィルタをかけます。issue ,incident ,test_case のいずれか。(GitLab 13.12 で導入)
|
iteration_id
| 整数。 | いいえ |
None はイテレーションに属さないイシューを返します。Any はイテレーションに属するイシューを返します。iteration_title と排他的です_(GitLab 13.6 で導入)_。 |
iteration_title iteration_title
| 文字列です。 | いいえ | 指定されたタイトルのイテレーションに割り当てられたイシューを返します。iteration_id . iteration_id と似てiteration_id いますが、互いに排他的 iteration_id です_(GitLab 13.6 で導入)_。 |
labels | 文字列です。 | いいえ | ラベル名のカンマ区切りリスト。None はラベルのないすべてのイシューをリストします。Any は少なくとも1つのラベルを持つすべてのイシューをリストします。 No+Label (非推奨) はラベルのないすべてのイシューをリストします。定義済みの名前は大文字と小文字を区別しません。 |
milestone | 文字列です。 | いいえ | マイルストーンのタイトルです。None 、マイルストーンのないすべてのイシューがリストされます。Any 、マイルストーンが割り当てられているすべてのイシューがリストされます。 |
my_reaction_emoji | 文字列です。 | いいえ |
emoji None は、リアクションが与えられていないイシューを返します。Any は、少なくとも1つのリアクションが与えられたイシューを返します。 |
non_archived | boolean | いいえ | アーカイブされていないプロジェクトのイシューを返します。デフォルトはtrueです_(GitLab 12.8で導入)_。 |
not | ハッシュ | いいえ | 指定されたパラメータに一致しないイシューを返します。を受け付けます:labels milestone ,author_id ,author_username ,assignee_id ,assignee_username ,my_reaction_emoji ,search 、in
|
order_by | 文字列です。 | いいえ |
created_at ,updated_at ,priority ,due_date ,relative_position ,label_priority ,milestone_due ,popularity ,weight フィールドで並べ替えられたイシューを返します。デフォルトはcreated_at
|
scope | 文字列です。 | いいえ | 指定されたスコープのイシューを返します:created_by_me assigned_to_me またはall .デフォルトは all . |
search | 文字列です。 | いいえ | グループのイシューをtitle と照らし合わせて検索します。description
|
sort | 文字列です。 | いいえ |
asc 、またはソートされたイシューを返しますdesc 。デフォルトは desc
|
state | 文字列です。 | いいえ | すべてのイシューを返却するか、opened またはclosed
|
updated_after | datetime | いいえ | 指定された時刻以降に更新されたイシューを返します。ISO 8601 フォーマット (2019-03-15T08:00:00Z ) で期待されるもの |
updated_before | datetime | いいえ | 指定された時刻以前に更新されたイシューを返します。ISO 8601 フォーマット (2019-03-15T08:00:00Z ) で期待されるもの |
weight
| 整数。 | いいえ | 指定されたweight を持つイシューを返します。None は、ウェイトが割り当てられていないイシューを返します。Any は、ウェイトが割り当てられているイシューを返します。 |
with_labels_details | boolean | いいえ |
true の場合、レスポンスはlabelsフィールドの各ラベルの詳細を返します::name :color ,:description ,:description_html ,:text_color .デフォルトはfalse です。description_html 属性は GitLab 12.7 で導入されました。 |
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/4/issues"
応答例
[
{
"project_id" : 4,
"milestone" : {
"due_date" : null,
"project_id" : 4,
"state" : "closed",
"description" : "Rerum est voluptatem provident consequuntur molestias similique ipsum dolor.",
"iid" : 3,
"id" : 11,
"title" : "v3.0",
"created_at" : "2016-01-04T15:31:39.788Z",
"updated_at" : "2016-01-04T15:31:39.788Z"
},
"author" : {
"state" : "active",
"web_url" : "https://gitlab.example.com/root",
"avatar_url" : null,
"username" : "root",
"id" : 1,
"name" : "Administrator"
},
"description" : "Omnis vero earum sunt corporis dolor et placeat.",
"state" : "closed",
"iid" : 1,
"assignees" : [{
"avatar_url" : null,
"web_url" : "https://gitlab.example.com/lennie",
"state" : "active",
"username" : "lennie",
"id" : 9,
"name" : "Dr. Luella Kovacek"
}],
"assignee" : {
"avatar_url" : null,
"web_url" : "https://gitlab.example.com/lennie",
"state" : "active",
"username" : "lennie",
"id" : 9,
"name" : "Dr. Luella Kovacek"
},
"type" : "ISSUE",
"labels" : ["foo", "bar"],
"upvotes": 4,
"downvotes": 0,
"merge_requests_count": 0,
"id" : 41,
"title" : "Ut commodi ullam eos dolores perferendis nihil sunt.",
"updated_at" : "2016-01-04T15:31:46.176Z",
"created_at" : "2016-01-04T15:31:46.176Z",
"closed_at" : null,
"closed_by" : null,
"user_notes_count": 1,
"due_date": null,
"web_url": "http://gitlab.example.com/my-group/my-project/issues/1",
"references": {
"short": "#1",
"relative": "my-project#1",
"full": "my-group/my-project#1"
},
"time_stats": {
"time_estimate": 0,
"total_time_spent": 0,
"human_time_estimate": null,
"human_total_time_spent": null
},
"has_tasks": true,
"task_status": "10 of 15 tasks completed",
"confidential": false,
"discussion_locked": false,
"issue_type": "issue",
"severity": "UNKNOWN",
"_links":{
"self":"http://gitlab.example.com/api/v4/projects/4/issues/41",
"notes":"http://gitlab.example.com/api/v4/projects/4/issues/41/notes",
"award_emoji":"http://gitlab.example.com/api/v4/projects/4/issues/41/award_emoji",
"project":"http://gitlab.example.com/api/v4/projects/4",
"closed_as_duplicate_of": "http://gitlab.example.com/api/v4/projects/1/issues/75"
},
"task_completion_status":{
"count":0,
"completed_count":0
}
}
]
GitLab Premium または Ultimate のユーザーが作成したイシューには、weight
プロパティが含まれています:
[
{
"project_id" : 4,
"description" : "Omnis vero earum sunt corporis dolor et placeat.",
"weight": null,
...
}
]
GitLab Premium または Ultimate のユーザーが作成したイシューには、epic
プロパティが含まれています:
{
"project_id" : 4,
"description" : "Omnis vero earum sunt corporis dolor et placeat.",
"epic_iid" : 5, //deprecated, use `iid` of the `epic` attribute
"epic": {
"id" : 42,
"iid" : 5,
"title": "My epic epic",
"url" : "/groups/h5bp/-/epics/5",
"group_id": 8
},
...
}
GitLab Ultimate のユーザーが作成したイシューには、health_status
プロパティが含まれます:
[
{
"project_id" : 4,
"description" : "Omnis vero earum sunt corporis dolor et placeat.",
"health_status": "at_risk",
...
}
]
assignee
カラムは非推奨です。GitLab EE APIに準拠するため、シングルサイズの配列assignees
。プロジェクトのイシューを一覧表示
プロジェクトのイシューの一覧を取得します。
プロジェクトが非公開の場合は、作成者の認証情報が必要です。この場合、個人アクセストークンを使用するのが望ましい方法です。
GET /projects/:id/issues
GET /projects/:id/issues?assignee_id=5
GET /projects/:id/issues?author_id=5
GET /projects/:id/issues?confidential=true
GET /projects/:id/issues?iids[]=42&iids[]=43
GET /projects/:id/issues?labels=foo
GET /projects/:id/issues?labels=foo,bar
GET /projects/:id/issues?labels=foo,bar&state=opened
GET /projects/:id/issues?milestone=1.0.0
GET /projects/:id/issues?milestone=1.0.0&state=opened
GET /projects/:id/issues?my_reaction_emoji=star
GET /projects/:id/issues?search=issue+title+or+description
GET /projects/:id/issues?state=closed
GET /projects/:id/issues?state=opened
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
assignee_id | 整数。 | いいえ | 指定されたユーザーid に割り当てられたイシューを返します。assignee_username と排他的です。None は未割り当てのイシューを返します。Any は担当者を持つイシューを返します。 |
assignee_username | 文字列配列 | いいえ | 指定されたusername に割り当てられたイシューを返します。と似てassignee_id おり、相互に排他的 assignee_id です。 GitLab CEでは、assignee_username 配列は単一の値のみを含む必要があります。そうでない場合は、無効なパラメータエラーが返されます。 |
author_id | 整数。 | いいえ | 指定されたユーザーid によって作成されたイシューを返します。author_username と排他的です。scope=all またはscope=assigned_to_me と組み合わせます。 |
author_username | 文字列です。 | いいえ | 指定されたusername によって作成されたイシューを返します。.NETと似てauthor_id いますが、互いに排他的 author_id です。 |
confidential | boolean | いいえ | 機密または公開イシューをフィルタリングします。 |
created_after | datetime | いいえ | 指定された時刻以降に作成されたイシューを返します。ISO 8601 フォーマット (2019-03-15T08:00:00Z ) で指定します。 |
created_before | datetime | いいえ | 指定された時刻以前に作成されたイシューを返します。ISO 8601フォーマット (2019-03-15T08:00:00Z ) で期待されるもの |
due_date | 文字列です。 | いいえ | 返却期限のないイシュー、返却期限を過ぎたイシュー、返却期限が今週、今月、または2週間前から来月までのイシューを返却します。利用可能:0 (期限なし)、any 、today 、tomorrow 、overdue 、week 、month 、next_month_and_previous_two_weeks 。 |
epic_id
| 整数。 | いいえ |
None はエピックに関連しないイシューを返します。Any はエピックに関連するイシューを返します。(GitLab 13.6 で導入されました)
|
id | 整数/文字列 | yes | 認証ユーザーが所有するプロジェクトのグローバルIDまたはURLエンコードされたパス |
iids[] | 整数配列。 | いいえ | 与えられたiid
|
issue_type | 文字列です。 | いいえ | 指定した種類のイシューにフィルタをかけます。issue ,incident ,test_case のいずれか。(GitLab 13.12 で導入)
|
iteration_id
| 整数。 | いいえ |
None はイテレーションに属さないイシューを返します。Any はイテレーションに属するイシューを返します。iteration_title と排他的です_(GitLab 13.6 で導入)_。 |
iteration_title iteration_title
| 文字列です。 | いいえ | 指定されたタイトルのイテレーションに割り当てられたイシューを返します。iteration_id . iteration_id と似てiteration_id いますが、互いに排他的 iteration_id です_(GitLab 13.6 で導入)_。 |
labels | 文字列です。 | いいえ | ラベル名のカンマ区切りリスト。None はラベルのないすべてのイシューをリストします。Any は少なくとも1つのラベルを持つすべてのイシューをリストします。 No+Label (非推奨) はラベルのないすべてのイシューをリストします。定義済みの名前は大文字と小文字を区別しません。 |
milestone | 文字列です。 | いいえ | マイルストーンのタイトルです。None 、マイルストーンのないすべてのイシューがリストされます。Any 、マイルストーンが割り当てられているすべてのイシューがリストされます。 |
my_reaction_emoji | 文字列です。 | いいえ |
emoji None は、リアクションが与えられていないイシューを返します。Any は、少なくとも1つのリアクションが与えられたイシューを返します。 |
not | ハッシュ | いいえ | 指定されたパラメータに一致しないイシューを返します。を受け付けます:labels milestone ,author_id ,author_username ,assignee_id ,assignee_username ,my_reaction_emoji ,search 、in
|
order_by | 文字列です。 | いいえ |
created_at ,updated_at ,priority ,due_date ,relative_position ,label_priority ,milestone_due ,popularity ,weight フィールドで並べ替えられたイシューを返します。デフォルトはcreated_at
|
scope | 文字列です。 | いいえ | 指定されたスコープのイシューを返します:created_by_me assigned_to_me またはall .デフォルトは all . |
search | 文字列です。 | いいえ | プロジェクトのイシューをtitle と照らし合わせて検索します。description
|
sort | 文字列です。 | いいえ |
asc 、またはソートされたイシューを返しますdesc 。デフォルトは desc
|
state | 文字列です。 | いいえ | すべてのイシューを返却するか、opened またはclosed
|
updated_after | datetime | いいえ | 指定された時刻以降に更新されたイシューを返します。ISO 8601 フォーマット (2019-03-15T08:00:00Z ) で期待されるもの |
updated_before | datetime | いいえ | 指定された時刻以前に更新されたイシューを返します。ISO 8601 フォーマット (2019-03-15T08:00:00Z ) で期待されるもの |
weight
| 整数。 | いいえ | 指定されたweight を持つイシューを返します。None は、ウェイトが割り当てられていないイシューを返します。Any は、ウェイトが割り当てられているイシューを返します。 |
with_labels_details | boolean | いいえ |
true の場合、レスポンスはlabelsフィールドの各ラベルの詳細を返します::name :color ,:description ,:description_html ,:text_color .デフォルトはfalse 。description_html は GitLab 12.7 で導入されました。 |
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/4/issues"
応答例
[
{
"project_id" : 4,
"milestone" : {
"due_date" : null,
"project_id" : 4,
"state" : "closed",
"description" : "Rerum est voluptatem provident consequuntur molestias similique ipsum dolor.",
"iid" : 3,
"id" : 11,
"title" : "v3.0",
"created_at" : "2016-01-04T15:31:39.788Z",
"updated_at" : "2016-01-04T15:31:39.788Z"
},
"author" : {
"state" : "active",
"web_url" : "https://gitlab.example.com/root",
"avatar_url" : null,
"username" : "root",
"id" : 1,
"name" : "Administrator"
},
"description" : "Omnis vero earum sunt corporis dolor et placeat.",
"state" : "closed",
"iid" : 1,
"assignees" : [{
"avatar_url" : null,
"web_url" : "https://gitlab.example.com/lennie",
"state" : "active",
"username" : "lennie",
"id" : 9,
"name" : "Dr. Luella Kovacek"
}],
"assignee" : {
"avatar_url" : null,
"web_url" : "https://gitlab.example.com/lennie",
"state" : "active",
"username" : "lennie",
"id" : 9,
"name" : "Dr. Luella Kovacek"
},
"type" : "ISSUE",
"labels" : ["foo", "bar"],
"upvotes": 4,
"downvotes": 0,
"merge_requests_count": 0,
"id" : 41,
"title" : "Ut commodi ullam eos dolores perferendis nihil sunt.",
"updated_at" : "2016-01-04T15:31:46.176Z",
"created_at" : "2016-01-04T15:31:46.176Z",
"closed_at" : "2016-01-05T15:31:46.176Z",
"closed_by" : {
"state" : "active",
"web_url" : "https://gitlab.example.com/root",
"avatar_url" : null,
"username" : "root",
"id" : 1,
"name" : "Administrator"
},
"user_notes_count": 1,
"due_date": "2016-07-22",
"web_url": "http://gitlab.example.com/my-group/my-project/issues/1",
"references": {
"short": "#1",
"relative": "#1",
"full": "my-group/my-project#1"
},
"time_stats": {
"time_estimate": 0,
"total_time_spent": 0,
"human_time_estimate": null,
"human_total_time_spent": null
},
"has_tasks": true,
"task_status": "10 of 15 tasks completed",
"confidential": false,
"discussion_locked": false,
"issue_type": "issue",
"severity": "UNKNOWN",
"_links":{
"self":"http://gitlab.example.com/api/v4/projects/4/issues/41",
"notes":"http://gitlab.example.com/api/v4/projects/4/issues/41/notes",
"award_emoji":"http://gitlab.example.com/api/v4/projects/4/issues/41/award_emoji",
"project":"http://gitlab.example.com/api/v4/projects/4",
"closed_as_duplicate_of": "http://gitlab.example.com/api/v4/projects/1/issues/75"
},
"task_completion_status":{
"count":0,
"completed_count":0
}
}
]
GitLab Premium または Ultimate のユーザーが作成したイシューには、weight
プロパティが含まれています:
[
{
"project_id" : 4,
"description" : "Omnis vero earum sunt corporis dolor et placeat.",
"weight": null,
...
}
]
GitLab Premium または Ultimate のユーザーが作成したイシューには、epic
プロパティが含まれています:
{
"project_id" : 4,
"description" : "Omnis vero earum sunt corporis dolor et placeat.",
"epic_iid" : 5, //deprecated, use `iid` of the `epic` attribute
"epic": {
"id" : 42,
"iid" : 5,
"title": "My epic epic",
"url" : "/groups/h5bp/-/epics/5",
"group_id": 8
},
...
}
GitLab Ultimate のユーザーが作成したイシューには、health_status
プロパティが含まれます:
[
{
"project_id" : 4,
"description" : "Omnis vero earum sunt corporis dolor et placeat.",
"health_status": "at_risk",
...
}
]
assignee
カラムは非推奨です。GitLab EE APIに準拠するため、シングルサイズの配列assignees
。単一のイシュー
管理者専用。単一のイシューを取得します。
個人アクセストークンを使用するのが望ましい方法です。
GET /issues/:id
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数。 | yes | イシューのID |
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/issues/41"
応答例
{
"id": 1,
"milestone": {
"due_date": null,
"project_id": 4,
"state": "closed",
"description": "Rerum est voluptatem provident consequuntur molestias similique ipsum dolor.",
"iid": 3,
"id": 11,
"title": "v3.0",
"created_at": "2016-01-04T15:31:39.788Z",
"updated_at": "2016-01-04T15:31:39.788Z",
"closed_at": "2016-01-05T15:31:46.176Z"
},
"author": {
"state": "active",
"web_url": "https://gitlab.example.com/root",
"avatar_url": null,
"username": "root",
"id": 1,
"name": "Administrator"
},
"description": "Omnis vero earum sunt corporis dolor et placeat.",
"state": "closed",
"iid": 1,
"assignees": [
{
"avatar_url": null,
"web_url": "https://gitlab.example.com/lennie",
"state": "active",
"username": "lennie",
"id": 9,
"name": "Dr. Luella Kovacek"
}
],
"assignee": {
"avatar_url": null,
"web_url": "https://gitlab.example.com/lennie",
"state": "active",
"username": "lennie",
"id": 9,
"name": "Dr. Luella Kovacek"
},
"type": "ISSUE",
"labels": [],
"upvotes": 4,
"downvotes": 0,
"merge_requests_count": 0,
"title": "Ut commodi ullam eos dolores perferendis nihil sunt.",
"updated_at": "2016-01-04T15:31:46.176Z",
"created_at": "2016-01-04T15:31:46.176Z",
"closed_at": null,
"closed_by": null,
"subscribed": false,
"user_notes_count": 1,
"due_date": null,
"web_url": "http://example.com/my-group/my-project/issues/1",
"references": {
"short": "#1",
"relative": "#1",
"full": "my-group/my-project#1"
},
"time_stats": {
"time_estimate": 0,
"total_time_spent": 0,
"human_time_estimate": null,
"human_total_time_spent": null
},
"confidential": false,
"discussion_locked": false,
"issue_type": "issue",
"severity": "UNKNOWN",
"task_completion_status": {
"count": 0,
"completed_count": 0
},
"weight": null,
"has_tasks": false,
"_links": {
"self": "http://gitlab.example:3000/api/v4/projects/1/issues/1",
"notes": "http://gitlab.example:3000/api/v4/projects/1/issues/1/notes",
"award_emoji": "http://gitlab.example:3000/api/v4/projects/1/issues/1/award_emoji",
"project": "http://gitlab.example:3000/api/v4/projects/1",
"closed_as_duplicate_of": "http://gitlab.example.com/api/v4/projects/1/issues/75"
},
"moved_to_id": null,
"service_desk_reply_to": "service.desk@gitlab.com"
}
GitLab Premium または Ultimate のユーザーが作成したイシューには、weight
プロパティが含まれています:
{
"project_id" : 4,
"description" : "Omnis vero earum sunt corporis dolor et placeat.",
"weight": null,
...
}
GitLab Premium または Ultimate のユーザーが作成したイシューには、epic
プロパティが含まれています:
{
"project_id" : 4,
"description" : "Omnis vero earum sunt corporis dolor et placeat.",
"epic": {
"epic_iid" : 5, //deprecated, use `iid` of the `epic` attribute
"epic": {
"id" : 42,
"iid" : 5,
"title": "My epic epic",
"url" : "/groups/h5bp/-/epics/5",
"group_id": 8
},
...
}
GitLab Ultimateのユーザーもhealth_status
プロパティを見ることができます:
[
{
"project_id" : 4,
"description" : "Omnis vero earum sunt corporis dolor et placeat.",
"health_status": "on_track",
...
}
]
assignee
カラムは非推奨です。GitLab EE APIに準拠するため、シングルサイズの配列assignees
。単一プロジェクトのイシュー
単一プロジェクトのイシューを取得します。
プロジェクトが非公開であったり、イシューが機密であったりする場合は、作成者の認証が必要です。この場合、個人アクセストークンを使用するのが望ましい方法です。
GET /projects/:id/issues/:issue_iid
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数/文字列 | yes | 認証ユーザーが所有するプロジェクトのグローバルIDまたはURLエンコードされたパス |
issue_iid | 整数。 | yes | プロジェクトのイシューの内部ID |
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/4/issues/41"
応答例
{
"project_id" : 4,
"milestone" : {
"due_date" : null,
"project_id" : 4,
"state" : "closed",
"description" : "Rerum est voluptatem provident consequuntur molestias similique ipsum dolor.",
"iid" : 3,
"id" : 11,
"title" : "v3.0",
"created_at" : "2016-01-04T15:31:39.788Z",
"updated_at" : "2016-01-04T15:31:39.788Z",
"closed_at" : "2016-01-05T15:31:46.176Z"
},
"author" : {
"state" : "active",
"web_url" : "https://gitlab.example.com/root",
"avatar_url" : null,
"username" : "root",
"id" : 1,
"name" : "Administrator"
},
"description" : "Omnis vero earum sunt corporis dolor et placeat.",
"state" : "closed",
"iid" : 1,
"assignees" : [{
"avatar_url" : null,
"web_url" : "https://gitlab.example.com/lennie",
"state" : "active",
"username" : "lennie",
"id" : 9,
"name" : "Dr. Luella Kovacek"
}],
"assignee" : {
"avatar_url" : null,
"web_url" : "https://gitlab.example.com/lennie",
"state" : "active",
"username" : "lennie",
"id" : 9,
"name" : "Dr. Luella Kovacek"
},
"type" : "ISSUE",
"labels" : [],
"upvotes": 4,
"downvotes": 0,
"merge_requests_count": 0,
"id" : 41,
"title" : "Ut commodi ullam eos dolores perferendis nihil sunt.",
"updated_at" : "2016-01-04T15:31:46.176Z",
"created_at" : "2016-01-04T15:31:46.176Z",
"closed_at" : null,
"closed_by" : null,
"subscribed": false,
"user_notes_count": 1,
"due_date": null,
"web_url": "http://gitlab.example.com/my-group/my-project/issues/1",
"references": {
"short": "#1",
"relative": "#1",
"full": "my-group/my-project#1"
},
"time_stats": {
"time_estimate": 0,
"total_time_spent": 0,
"human_time_estimate": null,
"human_total_time_spent": null
},
"confidential": false,
"discussion_locked": false,
"issue_type": "issue",
"severity": "UNKNOWN",
"_links": {
"self": "http://gitlab.example.com/api/v4/projects/1/issues/2",
"notes": "http://gitlab.example.com/api/v4/projects/1/issues/2/notes",
"award_emoji": "http://gitlab.example.com/api/v4/projects/1/issues/2/award_emoji",
"project": "http://gitlab.example.com/api/v4/projects/1",
"closed_as_duplicate_of": "http://gitlab.example.com/api/v4/projects/1/issues/75"
},
"task_completion_status":{
"count":0,
"completed_count":0
}
}
GitLab Premium または Ultimate のユーザーが作成したイシューには、weight
プロパティが含まれています:
{
"project_id" : 4,
"description" : "Omnis vero earum sunt corporis dolor et placeat.",
"weight": null,
...
}
GitLab Premium または Ultimate のユーザーが作成したイシューには、epic
プロパティが含まれています:
{
"project_id" : 4,
"description" : "Omnis vero earum sunt corporis dolor et placeat.",
"epic_iid" : 5, //deprecated, use `iid` of the `epic` attribute
"epic": {
"id" : 42,
"iid" : 5,
"title": "My epic epic",
"url" : "/groups/h5bp/-/epics/5",
"group_id": 8
},
...
}
GitLab Ultimateのユーザーもhealth_status
プロパティを見ることができます:
[
{
"project_id" : 4,
"description" : "Omnis vero earum sunt corporis dolor et placeat.",
"health_status": "on_track",
...
}
]
assignee
カラムは非推奨です。GitLab EE APIに準拠するため、シングルサイズの配列assignees
。新しいイシュー
weight
プロパティは13.9でGitLab Premiumに移動しました。
新しいプロジェクトのイシューを作成します。
POST /projects/:id/issues
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
assignee_id | 整数。 | いいえ | イシューを割り当てるユーザーのID。GitLab Freeにのみ表示されます。 |
assignee_ids
| 整数配列。 | いいえ | イシューを割り当てるユーザのID。 |
confidential | boolean | いいえ | イシューを秘密に設定します。デフォルトはfalse です。 |
created_at | 文字列です。 | いいえ | イシューが作成された日付。ISO 8601形式の日付時刻文字列(例:2016-03-11T03:45:40Z )。管理者またはプロジェクト/グループのオーナー権限が必要です。 |
description | 文字列です。 | いいえ | イシューの説明。1,048,576文字に制限されています。 |
discussion_to_resolve | 文字列です。 | いいえ | 解決するディスカッションのID。これはデフォルトの説明でイシューを記入し、解決済みとしてディスカッションをマークします。merge_request_to_resolve_discussions_of と組み合わせて使用してください。 |
due_date | 文字列です。 | いいえ | 期日。YYYY-MM-DD のような形式の日付時刻文字列。2016-03-11
|
epic_id
| 整数。 | いいえ | イシューを追加するエピックID。有効な値は0以上です。 |
epic_iid
| 整数。 | いいえ | イシューを追加するエピックのIID。有効な値は0以上です(非推奨。APIバージョン5で削除予定)。 |
id | 整数/文字列 | yes | 認証ユーザーが所有するプロジェクトのグローバルIDまたはURLエンコードされたパス |
iid | 整数/文字列 | いいえ | プロジェクトのイシューの内部ID(管理者またはプロジェクト・オーナーの権限が必要です) |
issue_type | 文字列です。 | いいえ | イシューの種類。issue 、incident 、test_case のいずれかです。デフォルトはissue です。 |
labels | 文字列です。 | いいえ | イシューのカンマ区切りラベル名 |
merge_request_to_resolve_discussions_of | 整数。 | いいえ | すべてのイシューを解決するマージリクエストのIIDです。これはデフォルトの説明でイシューを埋め、すべてのディスカッションを解決済みとしてマークします。説明やタイトルを渡す場合、これらの値はデフォルト値よりも優先されます。 |
milestone_id | 整数。 | いいえ | issueに割り当てるマイルストーンのグローバルID。マイルストーンに関連付けられたmilestone_id を見つけるには、マイルストーンが割り当てられたイシューを表示し、APIを使用してイシューの詳細を取得してください。 |
title | 文字列です。 | yes | イシューのタイトル |
weight
| 整数。 | いいえ | イシューの重み。有効な値は0以上です。 |
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/4/issues?title=Issues%20with%20auth&labels=bug"
応答例
{
"project_id" : 4,
"id" : 84,
"created_at" : "2016-01-07T12:44:33.959Z",
"iid" : 14,
"title" : "Issues with auth",
"state" : "opened",
"assignees" : [],
"assignee" : null,
"type" : "ISSUE",
"labels" : [
"bug"
],
"upvotes": 4,
"downvotes": 0,
"merge_requests_count": 0,
"author" : {
"name" : "Alexandra Bashirian",
"avatar_url" : null,
"state" : "active",
"web_url" : "https://gitlab.example.com/eileen.lowe",
"id" : 18,
"username" : "eileen.lowe"
},
"description" : null,
"updated_at" : "2016-01-07T12:44:33.959Z",
"closed_at" : null,
"closed_by" : null,
"milestone" : null,
"subscribed" : true,
"user_notes_count": 0,
"due_date": null,
"web_url": "http://gitlab.example.com/my-group/my-project/issues/14",
"references": {
"short": "#14",
"relative": "#14",
"full": "my-group/my-project#14"
},
"time_stats": {
"time_estimate": 0,
"total_time_spent": 0,
"human_time_estimate": null,
"human_total_time_spent": null
},
"confidential": false,
"discussion_locked": false,
"issue_type": "issue",
"severity": "UNKNOWN",
"_links": {
"self": "http://gitlab.example.com/api/v4/projects/1/issues/2",
"notes": "http://gitlab.example.com/api/v4/projects/1/issues/2/notes",
"award_emoji": "http://gitlab.example.com/api/v4/projects/1/issues/2/award_emoji",
"project": "http://gitlab.example.com/api/v4/projects/1",
"closed_as_duplicate_of": "http://gitlab.example.com/api/v4/projects/1/issues/75"
},
"task_completion_status":{
"count":0,
"completed_count":0
}
}
GitLab Premium または Ultimate のユーザーが作成したイシューには、weight
プロパティが含まれています:
{
"project_id" : 4,
"description" : null,
"weight": null,
...
}
GitLab Premium または Ultimate のユーザーが作成したイシューには、epic
プロパティが含まれています:
{
"project_id" : 4,
"description" : "Omnis vero earum sunt corporis dolor et placeat.",
"epic_iid" : 5, //deprecated, use `iid` of the `epic` attribute
"epic": {
"id" : 42,
"iid" : 5,
"title": "My epic epic",
"url" : "/groups/h5bp/-/epics/5",
"group_id": 8
},
...
}
GitLab Ultimate のユーザーが作成したイシューには、health_status
プロパティが含まれます:
[
{
"project_id" : 4,
"description" : "Omnis vero earum sunt corporis dolor et placeat.",
"health_status": "on_track",
...
}
]
assignee
カラムは非推奨です。GitLab EE APIに準拠するため、シングルサイズの配列assignees
。レート制限
不正使用を避けるため、ユーザは1分あたりのCreate
リクエスト数を制限することができます。イシューのレート制限を参照してください。
イシューの編集
weight
プロパティは13.9でGitLab Premiumに移動しました。
既存のプロジェクトイシューを更新します。この呼び出しは、イシューをクローズしたようにマークするためにも使われます。
要求を成功させるには、以下のパラメータの少なくとも1つが必要です:
:assignee_id
:assignee_ids
:confidential
:created_at
:description
:discussion_locked
:due_date
:issue_type
:labels
:milestone_id
:state_event
:title
PUT /projects/:id/issues/:issue_iid
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
add_labels | 文字列です。 | いいえ | イシューに追加するラベル名をカンマ区切りで指定します。 |
assignee_ids | 整数配列。 | いいえ | イシューを割り当てるユーザのID。すべての担当者の割り当てを解除するには、0 、または空の値を指定してください。 |
confidential | boolean | いいえ | 機密扱いのイシューの更新 |
description | 文字列です。 | いいえ | イシューの説明。1,048,576文字に制限されています。 |
discussion_locked | boolean | いいえ | イシューのディスカッションがロックされているかどうかを示すフラグ。ディスカッションがロックされている場合、プロジェクト・メンバーのみがコメントを追加または編集できます。 |
due_date | 文字列です。 | いいえ | 期日。YYYY-MM-DD のような形式の日付時刻文字列。2016-03-11
|
epic_id
| 整数。 | いいえ | イシューを追加するエピックID。有効な値は0以上です。 |
epic_iid
| 整数。 | いいえ | イシューを追加するエピックのIID。有効な値は0以上です(非推奨。APIバージョン5で削除予定)。 |
id | 整数/文字列 | yes | 認証ユーザーが所有するプロジェクトのグローバルIDまたはURLエンコードされたパス |
issue_iid | 整数。 | yes | プロジェクトのイシューの内部ID |
issue_type | 文字列です。 | いいえ | イシューの種類を更新します。issue ,incident ,test_case のいずれかです。 |
labels | 文字列です。 | いいえ | イシューのラベル名をカンマ区切りで指定します。すべてのラベルの割り当てを解除するには空文字列を設定します。 |
milestone_id | 整数。 | いいえ | イシューを割り当てるマイルストーンのグローバルID。マイルストーンの割り当てを解除するには、0 に設定するか、空の値を指定してください。 |
remove_labels | 文字列です。 | いいえ | イシューから削除するラベル名をカンマ区切りで指定します。 |
state_event | 文字列です。 | いいえ | イシューの状態イベント。イシューをクローズするにはclose 、再開するにはreopen 。 |
title | 文字列です。 | いいえ | イシューのタイトル |
updated_at | 文字列です。 | いいえ | イシューが更新された日付。ISO 8601形式の日付時刻文字列、例:2016-03-11T03:45:40Z (管理者またはプロジェクト・オーナーの権限が必要です)。空文字列やNULL値は受け付けられません。 |
weight
| 整数。 | いいえ | イシューの重み。有効な値は0以上です。 |
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/4/issues/85?state_event=close"
応答例
{
"created_at" : "2016-01-07T12:46:01.410Z",
"author" : {
"name" : "Alexandra Bashirian",
"avatar_url" : null,
"username" : "eileen.lowe",
"id" : 18,
"state" : "active",
"web_url" : "https://gitlab.example.com/eileen.lowe"
},
"state" : "closed",
"title" : "Issues with auth",
"project_id" : 4,
"description" : null,
"updated_at" : "2016-01-07T12:55:16.213Z",
"closed_at" : "2016-01-08T12:55:16.213Z",
"closed_by" : {
"state" : "active",
"web_url" : "https://gitlab.example.com/root",
"avatar_url" : null,
"username" : "root",
"id" : 1,
"name" : "Administrator"
},
"iid" : 15,
"labels" : [
"bug"
],
"upvotes": 4,
"downvotes": 0,
"merge_requests_count": 0,
"id" : 85,
"assignees" : [],
"assignee" : null,
"milestone" : null,
"subscribed" : true,
"user_notes_count": 0,
"due_date": "2016-07-22",
"web_url": "http://gitlab.example.com/my-group/my-project/issues/15",
"references": {
"short": "#15",
"relative": "#15",
"full": "my-group/my-project#15"
},
"time_stats": {
"time_estimate": 0,
"total_time_spent": 0,
"human_time_estimate": null,
"human_total_time_spent": null
},
"confidential": false,
"discussion_locked": false,
"issue_type": "issue",
"severity": "UNKNOWN",
"_links": {
"self": "http://gitlab.example.com/api/v4/projects/1/issues/2",
"notes": "http://gitlab.example.com/api/v4/projects/1/issues/2/notes",
"award_emoji": "http://gitlab.example.com/api/v4/projects/1/issues/2/award_emoji",
"project": "http://gitlab.example.com/api/v4/projects/1",
"closed_as_duplicate_of": "http://gitlab.example.com/api/v4/projects/1/issues/75"
},
"task_completion_status":{
"count":0,
"completed_count":0
}
}
GitLab Premium または Ultimate のユーザーが作成したイシューには、weight
プロパティが含まれています:
{
"project_id" : 4,
"description" : null,
"weight": null,
...
}
GitLab Premium または Ultimate のユーザーが作成したイシューには、epic
プロパティが含まれています:
{
"project_id" : 4,
"description" : "Omnis vero earum sunt corporis dolor et placeat.",
"epic_iid" : 5, //deprecated, use `iid` of the `epic` attribute
"epic": {
"id" : 42,
"iid" : 5,
"title": "My epic epic",
"url" : "/groups/h5bp/-/epics/5",
"group_id": 8
},
...
}
GitLab Ultimate のユーザーが作成したイシューには、health_status
プロパティが含まれます:
[
{
"project_id" : 4,
"description" : "Omnis vero earum sunt corporis dolor et placeat.",
"health_status": "on_track",
...
}
]
assignee
カラムは非推奨です。GitLab EE APIに準拠するため、シングルサイズの配列assignees
として表示するようになりました。イシューの削除
管理者とプロジェクトオーナー専用です。イシューを削除します。
DELETE /projects/:id/issues/:issue_iid
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数/文字列 | yes | 認証ユーザーが所有するプロジェクトのグローバルIDまたはURLエンコードされたパス |
issue_iid | 整数。 | yes | プロジェクトのイシューの内部ID |
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/4/issues/85"
イシューの並び替え
GitLab 13.2 で導入されました。
手動でイシューを並べ替えたときの結果を見ることができます。
PUT /projects/:id/issues/:issue_iid/reorder
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数/文字列 | yes | 認証ユーザーが所有するプロジェクトのグローバルIDまたはURLエンコードされたパス |
issue_iid | 整数。 | yes | プロジェクトのイシューの内部ID |
move_after_id | 整数。 | いいえ | このイシューの後に配置されるべきプロジェクトのグローバルID |
move_before_id | 整数。 | いいえ | このイシューの前に置かれるべきプロジェクトのグローバルID |
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/4/issues/85/reorder?move_after_id=51&move_before_id=92"
イシューの移動
イシューを別のプロジェクトに移動します。移動先のプロジェクトが移動元のプロジェクトである場合や、ユーザーの権限が不十分な場合は、ステータスコード400
のエラーメッセージが返されます。
同じ名前のラベルまたはマイルストーンが移動先のプロジェクトにも存在する場合、そのラベルまたはマイルストーンは移動されるイシューに割り当てられます。
POST /projects/:id/issues/:issue_iid/move
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数/文字列 | yes | 認証ユーザーが所有するプロジェクトのグローバルIDまたはURLエンコードされたパス |
issue_iid | 整数。 | yes | プロジェクトのイシューの内部ID |
to_project_id | 整数。 | yes | 新規プロジェクトのID |
curl --header "PRIVATE-TOKEN: <your_access_token>" --form to_project_id=5 "https://gitlab.example.com/api/v4/projects/4/issues/85/move"
応答例
{
"id": 92,
"iid": 11,
"project_id": 5,
"title": "Sit voluptas tempora quisquam aut doloribus et.",
"description": "Repellat voluptas quibusdam voluptatem exercitationem.",
"state": "opened",
"created_at": "2016-04-05T21:41:45.652Z",
"updated_at": "2016-04-07T12:20:17.596Z",
"closed_at": null,
"closed_by": null,
"labels": [],
"upvotes": 4,
"downvotes": 0,
"merge_requests_count": 0,
"milestone": null,
"assignees": [{
"name": "Miss Monserrate Beier",
"username": "axel.block",
"id": 12,
"state": "active",
"avatar_url": "http://www.gravatar.com/avatar/46f6f7dc858ada7be1853f7fb96e81da?s=80&d=identicon",
"web_url": "https://gitlab.example.com/axel.block"
}],
"assignee": {
"name": "Miss Monserrate Beier",
"username": "axel.block",
"id": 12,
"state": "active",
"avatar_url": "http://www.gravatar.com/avatar/46f6f7dc858ada7be1853f7fb96e81da?s=80&d=identicon",
"web_url": "https://gitlab.example.com/axel.block"
},
"type" : "ISSUE",
"author": {
"name": "Kris Steuber",
"username": "solon.cremin",
"id": 10,
"state": "active",
"avatar_url": "http://www.gravatar.com/avatar/7a190fecbaa68212a4b68aeb6e3acd10?s=80&d=identicon",
"web_url": "https://gitlab.example.com/solon.cremin"
},
"due_date": null,
"web_url": "http://gitlab.example.com/my-group/my-project/issues/11",
"references": {
"short": "#11",
"relative": "#11",
"full": "my-group/my-project#11"
},
"time_stats": {
"time_estimate": 0,
"total_time_spent": 0,
"human_time_estimate": null,
"human_total_time_spent": null
},
"confidential": false,
"discussion_locked": false,
"issue_type": "issue",
"severity": "UNKNOWN",
"_links": {
"self": "http://gitlab.example.com/api/v4/projects/1/issues/2",
"notes": "http://gitlab.example.com/api/v4/projects/1/issues/2/notes",
"award_emoji": "http://gitlab.example.com/api/v4/projects/1/issues/2/award_emoji",
"project": "http://gitlab.example.com/api/v4/projects/1",
"closed_as_duplicate_of": "http://gitlab.example.com/api/v4/projects/1/issues/75"
},
"task_completion_status":{
"count":0,
"completed_count":0
}
}
GitLab Premium または Ultimate のユーザーが作成したイシューには、weight
プロパティが含まれています:
{
"project_id": 5,
"description": "Repellat voluptas quibusdam voluptatem exercitationem.",
"weight": null,
...
}
GitLab Premium または Ultimate のユーザーが作成したイシューには、epic
プロパティが含まれています:
{
"project_id" : 4,
"description" : "Omnis vero earum sunt corporis dolor et placeat.",
"epic_iid" : 5, //deprecated, use `iid` of the `epic` attribute
"epic": {
"id" : 42,
"iid" : 5,
"title": "My epic epic",
"url" : "/groups/h5bp/-/epics/5",
"group_id": 8
},
...
}
GitLab Ultimate のユーザーが作成したイシューには、health_status
プロパティが含まれます:
[
{
"project_id" : 4,
"description" : "Omnis vero earum sunt corporis dolor et placeat.",
"health_status": "on_track",
...
}
]
assignee
カラムは非推奨です。GitLab EE APIに準拠するため、シングルサイズの配列assignees
。イシューのクローン
指定されたプロジェクトにイシューをクローンします。ユーザーに十分な権限がない場合、ステータスコード400
のエラーメッセージが返されます。
ターゲット・プロジェクトにラベルやマイルストーンなどの同等の基準が含まれている限り、可能な限り多くのデータをコピーします。
POST /projects/:id/issues/:issue_iid/clone
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数/文字列 | {チェックサークル}はい | 認証ユーザーが所有するプロジェクトのIDまたはURLエンコードされたパス。 |
issue_iid | 整数。 | {チェックサークル}はい | プロジェクトのイシューの内部ID。 |
to_project_id | 整数。 | {チェックサークル}はい | 新しいプロジェクトのID。 |
with_notes | boolean | {点線円}いいえ |
注釈付きのイシューをクローンします。デフォルトはfalse です。 |
curl --request POST \
--header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/issues/1/clone?with_notes=true&to_project_id=6"
応答例
{
"id":290,
"iid":1,
"project_id":143,
"title":"foo",
"description":"closed",
"state":"opened",
"created_at":"2021-09-14T22:24:11.696Z",
"updated_at":"2021-09-14T22:24:11.696Z",
"closed_at":null,
"closed_by":null,
"labels":[
],
"milestone":null,
"assignees":[
{
"id":179,
"name":"John Doe2",
"username":"john",
"state":"active",
"avatar_url":"https://www.gravatar.com/avatar/10fc7f102be8de7657fb4d80898bbfe3?s=80\u0026d=identicon",
"web_url":"https://gitlab.example.com/john"
}
],
"author":{
"id":179,
"name":"John Doe2",
"username":"john",
"state":"active",
"avatar_url":"https://www.gravatar.com/avatar/10fc7f102be8de7657fb4d80898bbfe3?s=80\u0026d=identicon",
"web_url":"https://gitlab.example.com/john"
},
"type":"ISSUE",
"assignee":{
"id":179,
"name":"John Doe2",
"username":"john",
"state":"active",
"avatar_url":"https://www.gravatar.com/avatar/10fc7f102be8de7657fb4d80898bbfe3?s=80\u0026d=identicon",
"web_url":"https://gitlab.example.com/john"
},
"user_notes_count":1,
"merge_requests_count":0,
"upvotes":0,
"downvotes":0,
"due_date":null,
"confidential":false,
"discussion_locked":null,
"issue_type":"issue",
"severity": "UNKNOWN",
"web_url":"https://gitlab.example.com/namespace1/project2/-/issues/1",
"time_stats":{
"time_estimate":0,
"total_time_spent":0,
"human_time_estimate":null,
"human_total_time_spent":null
},
"task_completion_status":{
"count":0,
"completed_count":0
},
"blocking_issues_count":0,
"has_tasks":false,
"_links":{
"self":"https://gitlab.example.com/api/v4/projects/143/issues/1",
"notes":"https://gitlab.example.com/api/v4/projects/143/issues/1/notes",
"award_emoji":"https://gitlab.example.com/api/v4/projects/143/issues/1/award_emoji",
"project":"https://gitlab.example.com/api/v4/projects/143",
"closed_as_duplicate_of": "http://gitlab.example.com/api/v4/projects/1/issues/75"
},
"references":{
"short":"#1",
"relative":"#1",
"full":"namespace1/project2#1"
},
"subscribed":true,
"moved_to_id":null,
"service_desk_reply_to":null
}
イシューの登録
通知を受け取るために、認証済みユーザをイシューに登録します。ユーザーがすでにイシューを購読している場合、ステータスコード304
が返されます。
POST /projects/:id/issues/:issue_iid/subscribe
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数/文字列 | yes | 認証ユーザーが所有するプロジェクトのグローバルIDまたはURLエンコードされたパス |
issue_iid | 整数。 | yes | プロジェクトのイシューの内部ID |
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/issues/93/subscribe"
応答例
{
"id": 92,
"iid": 11,
"project_id": 5,
"title": "Sit voluptas tempora quisquam aut doloribus et.",
"description": "Repellat voluptas quibusdam voluptatem exercitationem.",
"state": "opened",
"created_at": "2016-04-05T21:41:45.652Z",
"updated_at": "2016-04-07T12:20:17.596Z",
"closed_at": null,
"closed_by": null,
"labels": [],
"upvotes": 4,
"downvotes": 0,
"merge_requests_count": 0,
"milestone": null,
"assignees": [{
"name": "Miss Monserrate Beier",
"username": "axel.block",
"id": 12,
"state": "active",
"avatar_url": "http://www.gravatar.com/avatar/46f6f7dc858ada7be1853f7fb96e81da?s=80&d=identicon",
"web_url": "https://gitlab.example.com/axel.block"
}],
"assignee": {
"name": "Miss Monserrate Beier",
"username": "axel.block",
"id": 12,
"state": "active",
"avatar_url": "http://www.gravatar.com/avatar/46f6f7dc858ada7be1853f7fb96e81da?s=80&d=identicon",
"web_url": "https://gitlab.example.com/axel.block"
},
"type" : "ISSUE",
"author": {
"name": "Kris Steuber",
"username": "solon.cremin",
"id": 10,
"state": "active",
"avatar_url": "http://www.gravatar.com/avatar/7a190fecbaa68212a4b68aeb6e3acd10?s=80&d=identicon",
"web_url": "https://gitlab.example.com/solon.cremin"
},
"due_date": null,
"web_url": "http://gitlab.example.com/my-group/my-project/issues/11",
"references": {
"short": "#11",
"relative": "#11",
"full": "my-group/my-project#11"
},
"time_stats": {
"time_estimate": 0,
"total_time_spent": 0,
"human_time_estimate": null,
"human_total_time_spent": null
},
"confidential": false,
"discussion_locked": false,
"issue_type": "issue",
"severity": "UNKNOWN",
"_links": {
"self": "http://gitlab.example.com/api/v4/projects/1/issues/2",
"notes": "http://gitlab.example.com/api/v4/projects/1/issues/2/notes",
"award_emoji": "http://gitlab.example.com/api/v4/projects/1/issues/2/award_emoji",
"project": "http://gitlab.example.com/api/v4/projects/1",
"closed_as_duplicate_of": "http://gitlab.example.com/api/v4/projects/1/issues/75"
},
"task_completion_status":{
"count":0,
"completed_count":0
}
}
GitLab Premium または Ultimate のユーザーが作成したイシューには、weight
プロパティが含まれています:
{
"project_id": 5,
"description": "Repellat voluptas quibusdam voluptatem exercitationem.",
"weight": null,
...
}
GitLab Premium または Ultimate のユーザーが作成したイシューには、epic
プロパティが含まれています:
{
"project_id" : 4,
"description" : "Omnis vero earum sunt corporis dolor et placeat.",
"epic_iid" : 5, //deprecated, use `iid` of the `epic` attribute
"epic": {
"id" : 42,
"iid" : 5,
"title": "My epic epic",
"url" : "/groups/h5bp/-/epics/5",
"group_id": 8
},
...
}
GitLab Ultimate のユーザーが作成したイシューには、health_status
プロパティが含まれます:
[
{
"project_id" : 4,
"description" : "Omnis vero earum sunt corporis dolor et placeat.",
"health_status": "on_track",
...
}
]
assignee
カラムは非推奨です。GitLab EE APIに準拠するため、シングルサイズの配列assignees
。イシューの配信停止
認証済みユーザをイシューから退会させ、そのイシューからの通知を受け取らないようにします。ユーザーがイシューを購読していない場合、ステータスコード304
が返されます。
POST /projects/:id/issues/:issue_iid/unsubscribe
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数/文字列 | yes | 認証ユーザーが所有するプロジェクトのグローバルIDまたはURLエンコードされたパス |
issue_iid | 整数。 | yes | プロジェクトのイシューの内部ID |
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/issues/93/unsubscribe"
応答例
{
"id": 93,
"iid": 12,
"project_id": 5,
"title": "Incidunt et rerum ea expedita iure quibusdam.",
"description": "Et cumque architecto sed aut ipsam.",
"state": "opened",
"created_at": "2016-04-05T21:41:45.217Z",
"updated_at": "2016-04-07T13:02:37.905Z",
"labels": [],
"upvotes": 4,
"downvotes": 0,
"merge_requests_count": 0,
"milestone": null,
"assignee": {
"name": "Edwardo Grady",
"username": "keyon",
"id": 21,
"state": "active",
"avatar_url": "http://www.gravatar.com/avatar/3e6f06a86cf27fa8b56f3f74f7615987?s=80&d=identicon",
"web_url": "https://gitlab.example.com/keyon"
},
"type" : "ISSUE",
"closed_at": null,
"closed_by": null,
"author": {
"name": "Vivian Hermann",
"username": "orville",
"id": 11,
"state": "active",
"avatar_url": "http://www.gravatar.com/avatar/5224fd70153710e92fb8bcf79ac29d67?s=80&d=identicon",
"web_url": "https://gitlab.example.com/orville"
},
"subscribed": false,
"due_date": null,
"web_url": "http://gitlab.example.com/my-group/my-project/issues/12",
"references": {
"short": "#12",
"relative": "#12",
"full": "my-group/my-project#12"
},
"confidential": false,
"discussion_locked": false,
"issue_type": "issue",
"severity": "UNKNOWN",
"task_completion_status":{
"count":0,
"completed_count":0
}
}
To-Do 項目の作成
イシューの現在のユーザーのToDo項目を手動で作成します。そのイシューにユーザーのToDo項目がすでに存在する場合は、ステータスコード304
。
POST /projects/:id/issues/:issue_iid/todo
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数/文字列 | yes | 認証ユーザーが所有するプロジェクトのグローバルIDまたはURLエンコードされたパス |
issue_iid | 整数。 | yes | プロジェクトのイシューの内部ID |
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/issues/93/todo"
応答例
{
"id": 112,
"project": {
"id": 5,
"name": "GitLab CI/CD",
"name_with_namespace": "GitLab Org / GitLab CI/CD",
"path": "gitlab-ci",
"path_with_namespace": "gitlab-org/gitlab-ci"
},
"author": {
"name": "Administrator",
"username": "root",
"id": 1,
"state": "active",
"avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
"web_url": "https://gitlab.example.com/root"
},
"action_name": "marked",
"target_type": "Issue",
"target": {
"id": 93,
"iid": 10,
"project_id": 5,
"title": "Vel voluptas atque dicta mollitia adipisci qui at.",
"description": "Tempora laboriosam sint magni sed voluptas similique.",
"state": "closed",
"created_at": "2016-06-17T07:47:39.486Z",
"updated_at": "2016-07-01T11:09:13.998Z",
"labels": [],
"milestone": {
"id": 26,
"iid": 1,
"project_id": 5,
"title": "v0.0",
"description": "Accusantium nostrum rerum quae quia quis nesciunt suscipit id.",
"state": "closed",
"created_at": "2016-06-17T07:47:33.832Z",
"updated_at": "2016-06-17T07:47:33.832Z",
"due_date": null
},
"assignees": [{
"name": "Jarret O'Keefe",
"username": "francisca",
"id": 14,
"state": "active",
"avatar_url": "http://www.gravatar.com/avatar/a7fa515d53450023c83d62986d0658a8?s=80&d=identicon",
"web_url": "https://gitlab.example.com/francisca"
}],
"assignee": {
"name": "Jarret O'Keefe",
"username": "francisca",
"id": 14,
"state": "active",
"avatar_url": "http://www.gravatar.com/avatar/a7fa515d53450023c83d62986d0658a8?s=80&d=identicon",
"web_url": "https://gitlab.example.com/francisca"
},
"type" : "ISSUE",
"author": {
"name": "Maxie Medhurst",
"username": "craig_rutherford",
"id": 12,
"state": "active",
"avatar_url": "http://www.gravatar.com/avatar/a0d477b3ea21970ce6ffcbb817b0b435?s=80&d=identicon",
"web_url": "https://gitlab.example.com/craig_rutherford"
},
"subscribed": true,
"user_notes_count": 7,
"upvotes": 0,
"downvotes": 0,
"merge_requests_count": 0,
"due_date": null,
"web_url": "http://gitlab.example.com/my-group/my-project/issues/10",
"references": {
"short": "#10",
"relative": "#10",
"full": "my-group/my-project#10"
},
"confidential": false,
"discussion_locked": false,
"issue_type": "issue",
"severity": "UNKNOWN",
"task_completion_status":{
"count":0,
"completed_count":0
}
},
"target_url": "https://gitlab.example.com/gitlab-org/gitlab-ci/issues/10",
"body": "Vel voluptas atque dicta mollitia adipisci qui at.",
"state": "pending",
"created_at": "2016-07-01T11:09:13.992Z"
}
assignee
カラムは非推奨です。GitLab EE APIに準拠するため、シングルサイズの配列assignees
。イシューをエピックに昇格させる
/promote
クイックアクションでコメントを追加することで、イシューをエピックに昇格させます。
イシューをエピックに昇格させる詳細については、エピックの管理を参照してください。
POST /projects/:id/issues/:issue_iid/notes
サポートされる属性:
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数/文字列 | yes | 認証ユーザーが所有するプロジェクトのグローバルIDまたはURLエンコードされたパス |
issue_iid | 整数。 | yes | プロジェクトのイシューの内部ID |
body | 文字列 | yes | メモの内容。改行の先頭に/promote を含む必要があります。 |
リクエストの例
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/issues/11/notes?body=Lets%20promote%20this%20to%20an%20epic%0A%0A%2Fpromote"
応答例
{
"id":699,
"type":null,
"body":"Lets promote this to an epic",
"attachment":null,
"author": {
"id":1,
"name":"Alexandra Bashirian",
"username":"eileen.lowe",
"state":"active",
"avatar_url":"https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
"web_url":"https://gitlab.example.com/eileen.lowe"
},
"created_at":"2020-12-03T12:27:17.844Z",
"updated_at":"2020-12-03T12:27:17.844Z",
"system":false,
"noteable_id":461,
"noteable_type":"Issue",
"resolvable":false,
"confidential":false,
"noteable_iid":33,
"commands_changes": {
"promote_to_epic":true
}
}
イシューの見積もり時間の設定
イシューの作業予定時間を設定します。
POST /projects/:id/issues/:issue_iid/time_estimate
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
duration | 文字列です。 | yes | 人間の形式での持続時間:3h30m
|
id | 整数/文字列 | yes | 認証ユーザーが所有するプロジェクトのグローバルIDまたはURLエンコードされたパス |
issue_iid | 整数。 | yes | プロジェクトのイシューの内部ID |
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/issues/93/time_estimate?duration=3h30m"
応答例
{
"human_time_estimate": "3h 30m",
"human_total_time_spent": null,
"time_estimate": 12600,
"total_time_spent": 0
}
イシューの見積もり時間をリセットします。
このイシューの推定時間を0秒にリセットします。
POST /projects/:id/issues/:issue_iid/reset_time_estimate
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数/文字列 | yes | 認証ユーザーが所有するプロジェクトのグローバルIDまたはURLエンコードされたパス |
issue_iid | 整数。 | yes | プロジェクトのイシューの内部ID |
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/issues/93/reset_time_estimate"
応答例
{
"human_time_estimate": null,
"human_total_time_spent": null,
"time_estimate": 0,
"total_time_spent": 0
}
イシューに費やした時間を追加します。
このイシューの使用済み時間を追加します。
POST /projects/:id/issues/:issue_iid/add_spent_time
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
duration | 文字列です。 | yes | 人間の形式での持続時間:3h30m
|
id | 整数/文字列 | yes | 認証ユーザーが所有するプロジェクトのグローバルIDまたはURLエンコードされたパス |
issue_iid | 整数。 | yes | プロジェクトのイシューの内部ID |
summary | 文字列です。 | いいえ | 時間の使い方の概要 |
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/issues/93/add_spent_time?duration=1h"
応答例
{
"human_time_estimate": null,
"human_total_time_spent": "1h",
"time_estimate": 0,
"total_time_spent": 3600
}
イシューに費やされた時間のリセット
このイシューの合計使用時間を0秒にリセットします。
POST /projects/:id/issues/:issue_iid/reset_spent_time
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数/文字列 | yes | 認証ユーザーが所有するプロジェクトのグローバルIDまたはURLエンコードされたパス |
issue_iid | 整数。 | yes | プロジェクトのイシューの内部ID |
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/issues/93/reset_spent_time"
応答例
{
"human_time_estimate": null,
"human_total_time_spent": null,
"time_estimate": 0,
"total_time_spent": 0
}
時間追跡統計の取得
プロジェクトが非公開であったり、イシューが機密であったりする場合は、作成者の認証が必要です。この場合、個人アクセストークンを使用するのが望ましい方法です。
GET /projects/:id/issues/:issue_iid/time_stats
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数/文字列 | yes | 認証ユーザーが所有するプロジェクトのグローバルIDまたはURLエンコードされたパス |
issue_iid | 整数。 | yes | プロジェクトのイシューの内部ID |
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/issues/93/time_stats"
応答例
{
"human_time_estimate": "2h",
"human_total_time_spent": "1h",
"time_estimate": 7200,
"total_time_spent": 3600
}
イシューに関連するマージリクエストのリスト
イシューに関連するすべてのマージリクエストを取得します。
プロジェクトが非公開であったり、イシューが機密であったりする場合は、作成者の認証が必要です。この場合、個人アクセストークンを使用するのが望ましい方法です。
GET /projects/:id/issues/:issue_iid/related_merge_requests
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数/文字列 | yes | 認証ユーザーが所有するプロジェクトのグローバルIDまたはURLエンコードされたパス |
issue_iid | 整数。 | yes | プロジェクトのイシューの内部ID |
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/1/issues/11/related_merge_requests"
応答例
[
{
"id": 29,
"iid": 11,
"project_id": 1,
"title": "Provident eius eos blanditiis consequatur neque odit.",
"description": "Ut consequatur ipsa aspernatur quisquam voluptatum fugit. Qui harum corporis quo fuga ut incidunt veritatis. Autem necessitatibus et harum occaecati nihil ea.\r\n\r\ntwitter/flight#8",
"state": "opened",
"created_at": "2018-09-18T14:36:15.510Z",
"updated_at": "2018-09-19T07:45:13.089Z",
"closed_by": null,
"closed_at": null,
"target_branch": "v2.x",
"source_branch": "so_long_jquery",
"user_notes_count": 9,
"upvotes": 0,
"downvotes": 0,
"author": {
"id": 14,
"name": "Verna Hills",
"username": "lawanda_reinger",
"state": "active",
"avatar_url": "https://www.gravatar.com/avatar/de68a91aeab1cff563795fb98a0c2cc0?s=80&d=identicon",
"web_url": "https://gitlab.example.com/lawanda_reinger"
},
"assignee": {
"id": 19,
"name": "Jody Baumbach",
"username": "felipa.kuvalis",
"state": "active",
"avatar_url": "https://www.gravatar.com/avatar/6541fc75fc4e87e203529bd275fafd07?s=80&d=identicon",
"web_url": "https://gitlab.example.com/felipa.kuvalis"
},
"source_project_id": 1,
"target_project_id": 1,
"labels": [],
"draft": false,
"work_in_progress": false,
"milestone": {
"id": 27,
"iid": 2,
"project_id": 1,
"title": "v1.0",
"description": "Et tenetur voluptatem minima doloribus vero dignissimos vitae.",
"state": "active",
"created_at": "2018-09-18T14:35:44.353Z",
"updated_at": "2018-09-18T14:35:44.353Z",
"due_date": null,
"start_date": null,
"web_url": "https://gitlab.example.com/twitter/flight/milestones/2"
},
"merge_when_pipeline_succeeds": false,
"merge_status": "cannot_be_merged",
"sha": "3b7b528e9353295c1c125dad281ac5b5deae5f12",
"merge_commit_sha": null,
"squash_commit_sha": null,
"discussion_locked": null,
"should_remove_source_branch": null,
"force_remove_source_branch": false,
"reference": "!11",
"web_url": "https://gitlab.example.com/twitter/flight/merge_requests/4",
"references": {
"short": "!4",
"relative": "!4",
"full": "twitter/flight!4"
},
"time_stats": {
"time_estimate": 0,
"total_time_spent": 0,
"human_time_estimate": null,
"human_total_time_spent": null
},
"squash": false,
"task_completion_status": {
"count": 0,
"completed_count": 0
},
"changes_count": "10",
"latest_build_started_at": "2018-12-05T01:16:41.723Z",
"latest_build_finished_at": "2018-12-05T02:35:54.046Z",
"first_deployed_to_production_at": null,
"pipeline": {
"id": 38980952,
"sha": "81c6a84c7aebd45a1ac2c654aa87f11e32338e0a",
"ref": "test-branch",
"status": "success",
"web_url": "https://gitlab.com/gitlab-org/gitlab/pipelines/38980952"
},
"head_pipeline": {
"id": 38980952,
"sha": "81c6a84c7aebd45a1ac2c654aa87f11e32338e0a",
"ref": "test-branch",
"status": "success",
"web_url": "https://gitlab.example.com/twitter/flight/pipelines/38980952",
"before_sha": "3c738a37eb23cf4c0ed0d45d6ddde8aad4a8da51",
"tag": false,
"yaml_errors": null,
"user": {
"id": 19,
"name": "Jody Baumbach",
"username": "felipa.kuvalis",
"state": "active",
"avatar_url": "https://www.gravatar.com/avatar/6541fc75fc4e87e203529bd275fafd07?s=80&d=identicon",
"web_url": "https://gitlab.example.com/felipa.kuvalis"
},
"created_at": "2018-12-05T01:16:13.342Z",
"updated_at": "2018-12-05T02:35:54.086Z",
"started_at": "2018-12-05T01:16:41.723Z",
"finished_at": "2018-12-05T02:35:54.046Z",
"committed_at": null,
"duration": 4436,
"coverage": "46.68",
"detailed_status": {
"icon": "status_warning",
"text": "passed",
"label": "passed with warnings",
"group": "success-with-warnings",
"tooltip": "passed",
"has_details": true,
"details_path": "/twitter/flight/pipelines/38",
"illustration": null,
"favicon": "https://gitlab.example.com/assets/ci_favicons/favicon_status_success-8451333011eee8ce9f2ab25dc487fe24a8758c694827a582f17f42b0a90446a2.png"
}
},
"diff_refs": {
"base_sha": "d052d768f0126e8cddf80afd8b1eb07f406a3fcb",
"head_sha": "81c6a84c7aebd45a1ac2c654aa87f11e32338e0a",
"start_sha": "d052d768f0126e8cddf80afd8b1eb07f406a3fcb"
},
"merge_error": null,
"user": {
"can_merge": true
}
}
]
マージ時に特定のイシューをクローズするマージリクエストのリスト
特定のイシューをマージ時にクローズするマージリクエストをすべて取得します。
プロジェクトが非公開であったり、イシューが機密であったりする場合は、作成者の認証が必要です。この場合、個人アクセストークンを使用するのが望ましい方法です。
GET /projects/:id/issues/:issue_iid/closed_by
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数/文字列 | yes | 認証ユーザーが所有するプロジェクトのグローバルIDまたはURLエンコードされたパス |
issue_iid | 整数。 | yes | プロジェクトのイシューの内部ID |
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/1/issues/11/closed_by"
応答例
[
{
"id": 6471,
"iid": 6432,
"project_id": 1,
"title": "add a test for cgi lexer options",
"description": "closes #11",
"state": "opened",
"created_at": "2017-04-06T18:33:34.168Z",
"updated_at": "2017-04-09T20:10:24.983Z",
"target_branch": "master",
"source_branch": "feature.custom-highlighting",
"upvotes": 0,
"downvotes": 0,
"author": {
"name": "Administrator",
"username": "root",
"id": 1,
"state": "active",
"avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
"web_url": "https://gitlab.example.com/root"
},
"assignee": null,
"source_project_id": 1,
"target_project_id": 1,
"closed_at": null,
"closed_by": null,
"labels": [],
"draft": false,
"work_in_progress": false,
"milestone": null,
"merge_when_pipeline_succeeds": false,
"merge_status": "unchecked",
"sha": "5a62481d563af92b8e32d735f2fa63b94e806835",
"merge_commit_sha": null,
"squash_commit_sha": null,
"user_notes_count": 1,
"should_remove_source_branch": null,
"force_remove_source_branch": false,
"web_url": "https://gitlab.example.com/gitlab-org/gitlab-test/merge_requests/6432",
"reference": "!6432",
"references": {
"short": "!6432",
"relative": "!6432",
"full": "gitlab-org/gitlab-test!6432"
},
"time_stats": {
"time_estimate": 0,
"total_time_spent": 0,
"human_time_estimate": null,
"human_total_time_spent": null
}
}
]
イシューに関する参加者
プロジェクトが非公開であったり、イシューが機密であったりする場合は、作成者の認証が必要です。この場合、個人アクセストークンを使用するのが望ましい方法です。
GET /projects/:id/issues/:issue_iid/participants
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数/文字列 | yes | 認証ユーザーが所有するプロジェクトのグローバルIDまたはURLエンコードされたパス |
issue_iid | 整数。 | yes | プロジェクトのイシューの内部ID |
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/issues/93/participants"
応答例
[
{
"id": 1,
"name": "John Doe1",
"username": "user1",
"state": "active",
"avatar_url": "http://www.gravatar.com/avatar/c922747a93b40d1ea88262bf1aebee62?s=80&d=identicon",
"web_url": "http://gitlab.example.com/user1"
},
{
"id": 5,
"name": "John Doe5",
"username": "user5",
"state": "active",
"avatar_url": "http://www.gravatar.com/avatar/4aea8cf834ed91844a2da4ff7ae6b491?s=80&d=identicon",
"web_url": "http://gitlab.example.com/user5"
}
]
イシューに関するコメント
コメントはノートリソースから行えます。
ユーザーエージェントの詳細の取得
管理者のみ利用可能です。
GET /projects/:id/issues/:issue_iid/user_agent_detail
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数/文字列 | yes | 認証ユーザーが所有するプロジェクトのグローバルIDまたはURLエンコードされたパス |
issue_iid | 整数。 | yes | プロジェクトのイシューの内部ID |
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/issues/93/user_agent_detail"
応答例
{
"user_agent": "AppleWebKit/537.36",
"ip_address": "127.0.0.1",
"akismet_submitted": false
}
イシュー状態イベントのリスト
どの状態が設定され、誰がそれを行い、いつそれが起こったかを追跡するには、リソース状態イベントAPIをチェックしてください。
メトリック画像のアップロード
インシデント・イシューでのみ利用可能です。
POST /projects/:id/issues/:issue_iid/metric_images
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数/文字列 | yes | 認証ユーザーが所有するプロジェクトのグローバルIDまたはURLエンコードされたパス |
issue_iid | 整数。 | yes | プロジェクトのイシューの内部ID |
file | ファイル | yes | アップロードする画像ファイル |
url | 文字列です。 | いいえ | メトリクス情報を表示するためのURL |
url_text | 文字列です。 | いいえ | 画像またはURLの説明 |
curl --header "PRIVATE-TOKEN: <your_access_token>" --form 'file=@/path/to/file.png' \
--form 'url=http://example.com' --form 'url_text=Example website' "https://gitlab.example.com/api/v4/projects/5/issues/93/metric_images"
応答例
{
"id": 23,
"created_at": "2020-11-13T00:06:18.084Z",
"filename": "file.png",
"file_path": "/uploads/-/system/issuable_metric_image/file/23/file.png",
"url": "http://example.com",
"url_text": "Example website"
}
メトリック画像のリスト
インシデント・イシューでのみ利用可能です。
GET /projects/:id/issues/:issue_iid/metric_images
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数/文字列 | yes | 認証ユーザーが所有するプロジェクトのグローバルIDまたはURLエンコードされたパス |
issue_iid | 整数。 | yes | プロジェクトのイシューの内部ID |
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/issues/93/metric_images"
応答例
[
{
"id": 17,
"created_at": "2020-11-12T20:07:58.156Z",
"filename": "sample_2054",
"file_path": "/uploads/-/system/issuable_metric_image/file/17/sample_2054.png",
"url": "example.com/metric"
},
{
"id": 18,
"created_at": "2020-11-12T20:14:26.441Z",
"filename": "sample_2054",
"file_path": "/uploads/-/system/issuable_metric_image/file/18/sample_2054.png",
"url": "example.com/metric"
}
]
メトリック画像の更新
インシデント・イシューでのみ利用可能です。
PUT /projects/:id/issues/:issue_iid/metric_images/:image_id
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数/文字列 | yes | 認証ユーザーが所有するプロジェクトのグローバルIDまたはURLエンコードされたパス |
issue_iid | 整数。 | yes | プロジェクトのイシューの内部ID |
image_id | 整数。 | yes | 画像のID |
url | 文字列です。 | いいえ | メトリクス情報を表示するためのURL |
url_text | 文字列です。 | いいえ | 画像またはURLの説明 |
curl --header "PRIVATE-TOKEN: <your_access_token>" --request PUT --form 'url=http://example.com' --form 'url_text=Example website' "https://gitlab.example.com/api/v4/projects/5/issues/93/metric_images/1"
応答例
{
"id": 23,
"created_at": "2020-11-13T00:06:18.084Z",
"filename": "file.png",
"file_path": "/uploads/-/system/issuable_metric_image/file/23/file.png",
"url": "http://example.com",
"url_text": "Example website"
}
メトリクス画像の削除
インシデント・イシューでのみ利用可能です。
DELETE /projects/:id/issues/:issue_iid/metric_images/:image_id
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数/文字列 | yes | 認証ユーザーが所有するプロジェクトのグローバルIDまたはURLエンコードされたパス |
issue_iid | 整数。 | yes | プロジェクトのイシューの内部ID |
image_id | 整数。 | yes | 画像のID |
curl --header "PRIVATE-TOKEN: <your_access_token>" --request DELETE "https://gitlab.example.com/api/v4/projects/5/issues/93/metric_images/1"
以下のステータスコードを返すことができます:
-
204 No Content
画像の削除に成功した場合 -
400 Bad Request
画像が削除できなかった場合は