Skip to main content

GitHubイベントの種類

GitHub Event APIについて、各イベントの種類、GitHub上でのトリガーするアクション、各イベント固有のプロパティについて学んでください。

Events API は、GitHubのアクティビティによってトリガーされるさまざまな種類のイベントを返すことができます。 各イベントの応答には共有プロパティが含まれますが、イベントの種類によって決まる固有の payload オブジェクトがあります。 イベント オブジェクトの共通プロパティは、すべてのイベントで共有されるプロパティを表し、各イベントの種類は、特定のイベントに固有の payload プロパティを表します。

イベントオブジェクトの共通プロパティ

Events APIエンドポイントから返されるイベントオブジェクトは、同じ構造を持ちます。

Event API属性名タイプ説明
idintegerイベントの一意識別子。
typestringイベントの種類。 イベントの名前にはPascalCaseが使われます。
actorobjectイベントをトリガーしたユーザ。
actor.idintegerアクターの一意の識別子。
actor.loginstringアクターのユーザ名。
actor.display_loginstringユーザ名に特定の表示形式。
actor.gravatar_idstringアクターのGravatarプロフィールの一意の識別子。
actor.urlstring追加のユーザ情報を含むユーザオブジェクトの取得に使われるREST APIのURL。
actor.avatar_urlstringアクターのプロフィール画像のURL。
repoobjectイベントが発生したリポジトリオブジェクト。
repo.idintegerリポジトリの一意の識別子。
repo.namestringリポジトリの名前。オーナーとリポジトリの名前が含まれる。 たとえば、octocat/hello-world は、hello-world 個人用アカウントが所有する octocat リポジトリの名前です。
repo.urlstring追加のリポジトリ情報を含むリポジトリオブジェクトの取得に使われるREST APIのURL。
payloadobjectイベントの種類に固有のイベントペイロードオブジェクト。 イベント API payload オブジェクトについては、以下のイベントの種類を参照してください。
publicbooleanイベントがすべてのユーザーに表示されるかどうか。
created_atstringイベントがトリガーされた日時。 ISO 8601 に従って形式設定されています。
orgobjectイベントをトリガーするアクションを実行するためにアクターによって選択された組織。
このプロパティは、該当する場合にのみイベント オブジェクトに表示されます。
org.idinteger組織の一意の識別子。
org.loginstring組織の名前です。
org.gravatar_idstring組織の Gravatar プロフィールの一意の識別子。
org.urlstring追加の組織情報を含む組織オブジェクトの取得に使われる REST API の URL。
org.avatar_urlstring組織のプロフィール画像の URL。

WatchEventイベントのオブジェクトの例

この例では、Events API を使用するときの WatchEvent 応答の形式を示します。

HTTP/2 200
Link: <https://api.github.com/resource?page=2>; rel="next",
      <https://api.github.com/resource?page=5>; rel="last"
[
  {
    "id": "12345",
    "type": "WatchEvent",
    "actor": {
      "id": 1,
      "login": "octocat",
      "display_login": "octocat",
      "gravatar_id": "",
      "url": "https://api.github.com/users/octocat",
      "avatar_url": "https://github.com/images/error/octocat_happy.gif"
    },
    "repo": {
      "id": 3,
      "name": "octocat/Hello-World",
      "url": "https://api.github.com/repos/octocat/Hello-World"
    },
    "payload": {
      "action": "started"
    },
    "public": false,
    "created_at": "2011-09-06T17:26:27Z",
    "org": {
      "id": 1,
      "login": "github",
      "gravatar_id": "",
      "url": "https://api.github.com/orgs/github",
      "avatar_url": "https://github.com/images/error/octocat_happy.gif"
    },
  }
]

CommitCommentEvent

コミットコメントが作成されました。 アクティビティの種類は、ペイロード オブジェクトの action プロパティで指定されます。詳細については、「コミット コメント用 REST API エンドポイント」を参照してください。

イベント オブジェクトには、すべてのイベントに共通するプロパティが含まれています。 各イベント オブジェクトには payload プロパティが含まれており、その値は各イベントの種類に固有です。 このイベントの payload オブジェクトを以下に示します。

CommitCommentEvent のイベント payload オブジェクト

キータイプ説明
actionstring実行されるアクション。
created の可能性があります。
commentobjectコミットのコメント」 リソース。

CreateEvent

Gitブランチもしくはタグが作成されました。 詳しくは、「Git データベース用 REST API エンドポイント」をご覧ください。

イベント オブジェクトには、すべてのイベントに共通するプロパティが含まれています。 各イベント オブジェクトには payload プロパティが含まれており、その値は各イベントの種類に固有です。 このイベントの payload オブジェクトを以下に示します。

CreateEvent のイベント payload オブジェクト

キータイプ説明
refstring
[
git ref
](/rest/git#get-a-reference) リソース ブランチ。nullref_typeされている場合はrepository
ref_typestringリポジトリで作成されたGit refオブジェクトの種類。 これは、branchtag、または repository のいずれかです。
full_refstring完全形式の ref リソース。つまり、分岐の場合、形式は refs/heads/<branch_name>
master_branchstringリポジトリの既定のブランチの名前 (通常は main)。
descriptionstringリポジトリの現在の説明。
pusher_typestring
user またはデプロイ キーのいずれかを指定できます。

DeleteEvent

Gitブランチまたはタグが削除されました。 詳細については、「Git データベース用 REST API エンドポイント」の REST API を参照してください。

イベント オブジェクトには、すべてのイベントに共通するプロパティが含まれています。 各イベント オブジェクトには payload プロパティが含まれており、その値は各イベントの種類に固有です。 このイベントの payload オブジェクトを以下に示します。

DeleteEvent のイベント payload オブジェクト

キータイプ説明
refstring
[
git ref
](/rest/git#get-a-reference) リソース部門。
ref_typestringリポジトリで削除された Git ref オブジェクトの種類。
branch または tag を指定できます。
full_refstring完全形式の ref リソース。つまり、分岐の場合、形式は refs/heads/<branch_name>
pusher_typestring
user またはデプロイ キーのいずれかを指定できます。

ディスカッションイベント

ディスカッションがリポジトリに作成されます。 詳しくは、「GitHub Discussions ドキュメント」をご覧ください。

イベント オブジェクトには、すべてのイベントに共通するプロパティが含まれています。 各イベント オブジェクトには payload プロパティが含まれており、その値は各イベントの種類に固有です。 このイベントの payload オブジェクトを以下に示します。

DiscussionEvent 用のイベント payload オブジェクト

KeyタイプDescription
actionstring実行されるアクション。
created の可能性があります。
discussionobject作成されたディスカッション。

ForkEvent

ユーザがリポジトリをフォークします。 詳しくは、「リポジトリの REST API エンドポイント」をご覧ください。

イベント オブジェクトには、すべてのイベントに共通するプロパティが含まれています。 各イベント オブジェクトには payload プロパティが含まれており、その値は各イベントの種類に固有です。 このイベントの payload オブジェクトを以下に示します。

ForkEvent のイベント payload オブジェクト

キータイプ説明
actionstring実行されるアクション。
forked の可能性があります。
forkeeobject作成された repository リソース。

GollumEvent

wikiページが作成もしくは更新されました。 詳しくは、「ウィキについて」をご覧ください。

イベント オブジェクトには、すべてのイベントに共通するプロパティが含まれています。 各イベント オブジェクトには payload プロパティが含まれており、その値は各イベントの種類に固有です。 このイベントの payload オブジェクトを以下に示します。

GollumEvent のイベント payload オブジェクト

キータイプ[説明]
pagesarray更新されたページ。
pages[][page_name]stringページの名前です。
pages[][title]string現在のページ タイトル。
pages[][summary]stringページに関する省略可能なメモ。
null の可能性があります。
pages[][action]stringページ上で実行されたアクション。
created または edited を指定できます。
pages[][sha]stringページの最新のコミットSHA。
pages[][html_url]stringHTMLのwikiページを指す。

IssueCommentEvent

IssueあるいはPull Requestコメントに関連するアクティビティ。 アクティビティの種類は、ペイロード オブジェクトの action プロパティで指定されます。詳細については、「問題用の REST API エンドポイント」を参照してください。

イベント オブジェクトには、すべてのイベントに共通するプロパティが含まれています。 各イベント オブジェクトには payload プロパティが含まれており、その値は各イベントの種類に固有です。 このイベントの payload オブジェクトを以下に示します。

IssueCommentEvent のイベント payload オブジェクト

キータイプ説明
actionstringコメント上で実行されたアクション。
created の可能性があります。
issue
objectコメントが属する Issue

comment | object | コメント自体。

IssuesEvent

Issueに関連するアクティビティ。 アクティビティの種類は、ペイロード オブジェクトの action プロパティで指定されます。詳細については、「問題用の REST API エンドポイント」を参照してください。

イベント オブジェクトには、すべてのイベントに共通するプロパティが含まれています。 各イベント オブジェクトには payload プロパティが含まれており、その値は各イベントの種類に固有です。 このイベントの payload オブジェクトを以下に示します。

IssuesEvent のイベント payload オブジェクト

キータイプ[説明]
actionstring実行されたアクション。
openedclosedreopenedのいずれかです。
issueobject問題自体。
assigneeobject

assignees | array |問題に関する担当者の詳細を示す、割り当て先オブジェクトの省略可能な配列。 label | object | 問題に追加されたまたは問題から削除されるオプションのラベル。

labels | array |問題のラベルを記述するラベル オブジェクトの省略可能な配列。 ||

MemberEvent

リポジトリのコラボレータに関連するアクティビティ。 アクティビティの種類は、ペイロード オブジェクトの action プロパティで指定されます。詳細については、「コラボレーターの REST API エンドポイント」を参照してください。

イベント オブジェクトには、すべてのイベントに共通するプロパティが含まれています。 各イベント オブジェクトには payload プロパティが含まれており、その値は各イベントの種類に固有です。 このイベントの payload オブジェクトを以下に示します。

MemberEvent のイベント payload オブジェクト

キーType[説明]
actionstring実行されたアクション。 ユーザーがリポジトリへの招待を承認したことを示す、added を指定できます。
member
object追加されたユーザー

PublicEvent

プライベートリポジトリがパブリックにされたとき。

PublicEvent のイベント payload オブジェクト

このイベントでは、空の payload オブジェクトが返されます。

PullRequestEvent

Pull Requestに関連するアクティビティ。 アクティビティの種類は、ペイロード オブジェクトの action プロパティで指定されます。詳細については、「Pull request 用 REST API エンドポイント」を参照してください。

イベント オブジェクトには、すべてのイベントに共通するプロパティが含まれています。 各イベント オブジェクトには payload プロパティが含まれており、その値は各イベントの種類に固有です。 このイベントの payload オブジェクトを以下に示します。

PullRequestEvent のイベント payload オブジェクト

キータイプ[説明]
actionstring実行されたアクション。
openedclosedmergedreopenedassignedunassignedlabeledunlabeled のいずれかになります。
number
integerpull request 番号。

pull_request | object | プルリクエスト 自体。 | | assignee|object | 問題に割り当てられる、または割り当て解除される省略可能なユーザー。

assignees | array |問題に関する担当者の詳細を示す、割り当て先オブジェクトの省略可能な配列。

label | object | アクションが labeled または unlabeledされた場合に問題から追加または削除された省略可能なラベル。

labels | array |アクションが labeled または unlabeledされた場合にプル要求のラベルを記述するラベル オブジェクトの省略可能な配列。 ||

PullRequestReviewEvent

Pull Requestレビューに関連するアクティビティ。 アクティビティの種類は、ペイロード オブジェクトの action プロパティで指定されます。詳細については、「Pull request 用 REST API エンドポイント」を参照してください。

イベント オブジェクトには、すべてのイベントに共通するプロパティが含まれています。 各イベント オブジェクトには payload プロパティが含まれており、その値は各イベントの種類に固有です。 このイベントの payload オブジェクトを以下に示します。

PullRequestReviewEvent のイベント payload オブジェクト

KeyタイプDescription
actionstring実行されたアクション。
createdupdated、または dismissed を指定できます。
pull_requestobjectレビューに関連するプル要求
reviewobject影響を受けた レビュー

PullRequestReviewCommentEvent

Pull Requestの統合diff中のPull Requestレビューコメントに関連するアクティビティ。 アクティビティの種類は、ペイロード オブジェクトの action プロパティで指定されます。詳細については、「Pull request 用 REST API エンドポイント」を参照してください。

イベント オブジェクトには、すべてのイベントに共通するプロパティが含まれています。 各イベント オブジェクトには payload プロパティが含まれており、その値は各イベントの種類に固有です。 このイベントの payload オブジェクトを以下に示します。

PullRequestReviewCommentEvent のイベント payload オブジェクト

キーType説明
actionstringコメント上で実行されたアクション。 created の可能性があります。
pull_request
objectコメントが属する pull request

comment | object | コメント 自体。

PushEvent

リポジトリのブランチもしくはタグに、1つ以上のコミットがプッシュされました。

イベント オブジェクトには、すべてのイベントに共通するプロパティが含まれています。 各イベント オブジェクトには payload プロパティが含まれており、その値は各イベントの種類に固有です。 このイベントの payload オブジェクトを以下に示します。

PushEvent のイベント payload オブジェクト

KeyタイプDescription
repository_idintegerプッシュが発生したリポジトリのユニーク識別子。
push_idintegerプッシュ用のユニークな識別子。
refstringプッシュされた完全な git ref。 例: refs/heads/main
headstringプッシュ後の ref に対する最新のコミットの SHA。
beforestringプッシュ前の ref に対する最新のコミットの SHA。

ReleaseEvent

リリースに関連するアクティビティ。 アクティビティの種類は、ペイロード オブジェクトの action プロパティで指定されます。詳細については、「リリースとリリース資産の REST API エンドポイント」の REST API を参照してください。

イベント オブジェクトには、すべてのイベントに共通するプロパティが含まれています。 各イベント オブジェクトには payload プロパティが含まれており、その値は各イベントの種類に固有です。 このイベントの payload オブジェクトを以下に示します。

ReleaseEvent のイベント payload オブジェクト

キーType[説明]
actionstring実行されたアクション。 published の可能性があります。
release
objectリリース オブジェクト。

WatchEvent

誰かがリポジトリにStarを付けたとき。 アクティビティの種類は、ペイロード オブジェクトの action プロパティで指定されます。詳細については、「アクティビティ用 REST API エンドポイント」を参照してください。

イベント オブジェクトには、すべてのイベントに共通するプロパティが含まれています。 各イベント オブジェクトには payload プロパティが含まれており、その値は各イベントの種類に固有です。 このイベントの payload オブジェクトを以下に示します。

WatchEvent のイベント payload オブジェクト

キーType[説明]
actionstring実行されたアクション。 現時点では、started のみが可能です。