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

イベントAPI

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

このAPIを使用してイベントアクティビティをレビューします。イベントには、プロジェクトへの参加、イシューへのコメント、MRへの変更のプッシュ、エピックのクローズなど、幅広いアクションが含まれます。

アクティビティ保持制限の詳細については、以下を参照してください:

このAPIには、エピック、マージリクエスト、およびバルクプッシュイベントに関する制限があります:

  • 子項目、リンクされた項目、開始日、期日、ヘルスステータスなどの一部のエピック機能は、APIによって返されません。
  • 一部のマージリクエストノートは、代わりにDiscussionNoteタイプを使用する場合があります。このターゲットタイプはAPIではサポートされていません
  • プッシュがプッシュイベントアクティビティ制限を超過したときに作成されたバルクプッシュイベントは、限られた詳細で返されます: commit_count: 0、refsのプッシュ数を示すref_count、および個々のコミット属性(commit_fromcommit_torefcommit_title)に対するnull値。

すべてのイベントを一覧表示

認証済みユーザーのすべてのイベントを一覧表示します。エピックまたはマージリクエストに関連付けられたイベントは返されません。限られたコミット詳細のバルクプッシュイベントを返します。

前提条件:

  • あなたのアクセストークンには、read_userまたはapiスコープのいずれかが必要です。
GET /events

パラメータは以下のとおりです:

パラメータ必須説明
action文字列いいえ定義されている場合、指定されたアクションタイプのイベントを返します。
target_type文字列いいえ定義されている場合、指定されたイベントを返します。可能な値: epicissuemerge_requestmilestonenoteprojectsnippet、およびuser
before日付(ISO 8601)いいえ定義されている場合、指定された日付より前に作成されたイベントを返します。
after日付(ISO 8601)いいえ定義されている場合、指定された日付より後に作成されたイベントを返します。
scope文字列いいえユーザーのすべてのプロジェクトのイベントを含めます。
sort文字列いいえ作成日によって結果を並べ替える方向。可能な値: ascdesc。デフォルトはdescです。

リクエスト例:

curl --request GET \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/events?target_type=issue&action=created&after=2017-01-31&before=2017-03-01&scope=all"

レスポンス例:

[
  {
    "id": 1,
    "title": null,
    "project_id": 1,
    "action_name": "opened",
    "target_id": 160,
    "target_iid": 53,
    "target_type": "Issue",
    "author_id": 25,
    "target_title": "Qui natus eos odio tempore et quaerat consequuntur ducimus cupiditate quis.",
    "created_at": "2017-02-09T10:43:19.667Z",
    "author": {
      "name": "User 3",
      "username": "user3",
      "id": 25,
      "state": "active",
      "avatar_url": "http://www.gravatar.com/avatar/97d6d9441ff85fdc730e02a6068d267b?s=80&d=identicon",
      "web_url": "https://gitlab.example.com/user3"
    },
    "author_username": "user3",
    "imported": false,
    "imported_from": "none"
  },
  {
    "id": 2,
    "title": null,
    "project_id": 1,
    "action_name": "opened",
    "target_id": 159,
    "target_iid": 14,
    "target_type": "Issue",
    "author_id": 21,
    "target_title": "Nostrum enim non et sed optio illo deleniti non.",
    "created_at": "2017-02-09T10:43:19.426Z",
    "author": {
      "name": "Test User",
      "username": "ted",
      "id": 21,
      "state": "active",
      "avatar_url": "http://www.gravatar.com/avatar/80fb888c9a48b9a3f87477214acaa63f?s=80&d=identicon",
      "web_url": "https://gitlab.example.com/ted"
    },
    "author_username": "ted",
    "imported": false,
    "imported_from": "none"
  }
]

ユーザーのコントリビュートイベントを取得する

指定されたユーザーのコントリビュートイベントを取得します。エピックまたはマージリクエストに関連付けられたイベントは返されません。限られたコミット詳細のバルクプッシュイベントを返します。

前提条件:

  • あなたのアクセストークンには、read_userまたはapiスコープのいずれかが必要です。
GET /users/:id/events

パラメータは以下のとおりです:

パラメータ必須説明
id整数はいユーザーのIDまたはユーザー名。
action文字列いいえ定義されている場合、指定されたアクションタイプのイベントを返します。
target_type文字列いいえ定義されている場合、指定されたイベントを返します。可能な値: epicissuemerge_requestmilestonenoteprojectsnippet、およびuser
before日付(ISO 8601)いいえ定義されている場合、指定された日付より前に作成されたイベントを返します。
after日付(ISO 8601)いいえ定義されている場合、指定された日付より後に作成されたイベントを返します。
sort文字列いいえ作成日によって結果を並べ替える方向。可能な値: ascdesc。デフォルトはdescです。
page整数いいえ指定された結果ページを返します。デフォルトは1です。
per_page整数いいえページあたりの結果数。デフォルトは20です。
curl --request GET \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/users/:id/events"

レスポンス例:

[
  {
    "id": 3,
    "title": null,
    "project_id": 15,
    "action_name": "closed",
    "target_id": 830,
    "target_iid": 82,
    "target_type": "Issue",
    "author_id": 1,
    "target_title": "Public project search field",
    "author": {
      "name": "Dmitriy Zaporozhets",
      "username": "root",
      "id": 1,
      "state": "active",
      "avatar_url": "http://localhost:3000/uploads/user/avatar/1/fox_avatar.png",
      "web_url": "http://localhost:3000/root"
    },
    "author_username": "root",
    "imported": false,
    "imported_from": "none"
  },
  {
    "id": 4,
    "title": null,
    "project_id": 15,
    "action_name": "pushed",
    "target_id": null,
    "target_iid": null,
    "target_type": null,
    "author_id": 1,
    "author": {
      "name": "Dmitriy Zaporozhets",
      "username": "root",
      "id": 1,
      "state": "active",
      "avatar_url": "http://localhost:3000/uploads/user/avatar/1/fox_avatar.png",
      "web_url": "http://localhost:3000/root"
    },
    "author_username": "john",
    "imported": false,
    "imported_from": "none",
    "push_data": {
      "commit_count": 1,
      "action": "pushed",
      "ref_type": "branch",
      "commit_from": "50d4420237a9de7be1304607147aec22e4a14af7",
      "commit_to": "c5feabde2d8cd023215af4d2ceeb7a64839fc428",
      "ref": "main",
      "commit_title": "Add simple search to projects in public area"
    },
    "target_title": null
  },
  {
    "id": 5,
    "title": null,
    "project_id": 15,
    "action_name": "closed",
    "target_id": 840,
    "target_iid": 11,
    "target_type": "Issue",
    "author_id": 1,
    "target_title": "Finish & merge Code search PR",
    "author": {
      "name": "Dmitriy Zaporozhets",
      "username": "root",
      "id": 1,
      "state": "active",
      "avatar_url": "http://localhost:3000/uploads/user/avatar/1/fox_avatar.png",
      "web_url": "http://localhost:3000/root"
    },
    "author_username": "root",
    "imported": false,
    "imported_from": "none"
  },
  {
    "id": 7,
    "title": null,
    "project_id": 15,
    "action_name": "commented on",
    "target_id": 1312,
    "target_iid": 61,
    "target_type": "Note",
    "author_id": 1,
    "target_title": null,
    "created_at": "2015-12-04T10:33:58.089Z",
    "note": {
      "id": 1312,
      "body": "What an awesome day!",
      "attachment": null,
      "author": {
        "name": "Dmitriy Zaporozhets",
        "username": "root",
        "id": 1,
        "state": "active",
        "avatar_url": "http://localhost:3000/uploads/user/avatar/1/fox_avatar.png",
        "web_url": "http://localhost:3000/root"
      },
      "created_at": "2015-12-04T10:33:56.698Z",
      "system": false,
      "noteable_id": 377,
      "noteable_type": "Issue"
    },
    "author": {
      "name": "Dmitriy Zaporozhets",
      "username": "root",
      "id": 1,
      "state": "active",
      "avatar_url": "http://localhost:3000/uploads/user/avatar/1/fox_avatar.png",
      "web_url": "http://localhost:3000/root"
    },
    "author_username": "root",
    "imported": false,
    "imported_from": "none"
  }
]

プロジェクトの表示可能なすべてのイベントを一覧表示

指定されたプロジェクトの表示可能なすべてのイベントを一覧表示します。プッシュがプッシュイベントアクティビティ制限を超過したときに作成されたバルクプッシュイベントは、限られたコミット詳細で返されます: commit_count: 0、refsのプッシュ数を示すref_count、および個々のコミット属性のnull値。

GET /projects/:project_id/events

パラメータは以下のとおりです:

パラメータ必須説明
project_id整数または文字列はいプロジェクトのIDまたはURLエンコードされたパス
action文字列いいえ定義されている場合、指定されたアクションタイプのイベントを返します。
target_type文字列いいえ定義されている場合、指定されたイベントを返します。可能な値: epicissuemerge_requestmilestonenoteprojectsnippet、およびuser
before日付(ISO 8601)いいえ定義されている場合、指定された日付より前に作成されたイベントを返します。
after日付(ISO 8601)いいえ定義されている場合、指定された日付より後に作成されたイベントを返します。
sort文字列いいえ作成日によって結果を並べ替える方向。可能な値: ascdesc。デフォルトはdescです。

リクエスト例:

curl --request GET \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/:project_id/events?target_type=issue&action=created&after=2017-01-31&before=2017-03-01"

レスポンス例:

[
  {
    "id": 8,
    "title": null,
    "project_id": 1,
    "action_name": "opened",
    "target_id": 160,
    "target_iid": 160,
    "target_type": "Issue",
    "author_id": 25,
    "target_title": "Qui natus eos odio tempore et quaerat consequuntur ducimus cupiditate quis.",
    "created_at": "2017-02-09T10:43:19.667Z",
    "author": {
      "name": "User 3",
      "username": "user3",
      "id": 25,
      "state": "active",
      "avatar_url": "http://www.gravatar.com/avatar/97d6d9441ff85fdc730e02a6068d267b?s=80&d=identicon",
      "web_url": "https://gitlab.example.com/user3"
    },
    "author_username": "user3",
    "imported": false,
    "imported_from": "none"
  },
  {
    "id": 9,
    "title": null,
    "project_id": 1,
    "action_name": "opened",
    "target_id": 159,
    "target_iid": 159,
    "target_type": "Issue",
    "author_id": 21,
    "target_title": "Nostrum enim non et sed optio illo deleniti non.",
    "created_at": "2017-02-09T10:43:19.426Z",
    "author": {
      "name": "Test User",
      "username": "ted",
      "id": 21,
      "state": "active",
      "avatar_url": "http://www.gravatar.com/avatar/80fb888c9a48b9a3f87477214acaa63f?s=80&d=identicon",
      "web_url": "https://gitlab.example.com/ted"
    },
    "author_username": "ted",
    "imported": false,
    "imported_from": "none"
  },
  {
    "id": 10,
    "title": null,
    "project_id": 1,
    "action_name": "commented on",
    "target_id": 1312,
    "target_iid": 1312,
    "target_type": "Note",
    "author_id": 1,
    "data": null,
    "target_title": null,
    "created_at": "2015-12-04T10:33:58.089Z",
    "note": {
      "id": 1312,
      "body": "What an awesome day!",
      "attachment": null,
      "author": {
        "name": "Dmitriy Zaporozhets",
        "username": "root",
        "id": 1,
        "state": "active",
        "avatar_url": "https://gitlab.example.com/uploads/user/avatar/1/fox_avatar.png",
        "web_url": "https://gitlab.example.com/root"
      },
      "created_at": "2015-12-04T10:33:56.698Z",
      "system": false,
      "noteable_id": 377,
      "noteable_type": "Issue",
      "noteable_iid": 377
    },
    "author": {
      "name": "Dmitriy Zaporozhets",
      "username": "root",
      "id": 1,
      "state": "active",
      "avatar_url": "https://gitlab.example.com/uploads/user/avatar/1/fox_avatar.png",
      "web_url": "https://gitlab.example.com/root"
    },
    "author_username": "root",
    "imported": false,
    "imported_from": "none"
  }
]