Skip to main content

Enterprise Server 3.15 は、現在リリース候補として使用できます。

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 は、octocat 個人用アカウントが所有する hello-world リポジトリの名前です。
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"
[
  {
    "type": "WatchEvent",
    "public": false,
    "payload": {
    },
    "repo": {
      "id": 3,
      "name": "octocat/Hello-World",
      "url": "https://api.github.com/repos/octocat/Hello-World"
    },
    "actor": {
      "id": 1,
      "login": "octocat",
      "gravatar_id": "",
      "avatar_url": "https://github.com/images/error/octocat_happy.gif",
      "url": "https://api.github.com/users/octocat"
    },
    "org": {
      "id": 1,
      "login": "github",
      "gravatar_id": "",
      "url": "https://api.github.com/orgs/github",
      "avatar_url": "https://github.com/images/error/octocat_happy.gif"
    },
    "created_at": "2011-09-06T17:26:27Z",
    "id": "12345"
  }
]

CommitCommentEvent

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

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

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

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

CreateEvent

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

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

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

キーType説明
refstringgit refリソース、またはref_typerepository の場合は null
ref_typestringリポジトリで作成されたGit refオブジェクトの種類。 これは、branchtag、または repository のいずれかです。
master_branchstringリポジトリの既定のブランチの名前 (通常は main)。
descriptionstringリポジトリの現在の説明。
pusher_typestringuser またはデプロイ キーのいずれかを指定できます。

DeleteEvent

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

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

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

キーType説明
refstringgit ref リソース。
ref_typestringリポジトリで削除された Git ref オブジェクトの種類。 branch または tag を指定できます。

ForkEvent

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

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

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

キーType説明
forkeeobject作成された repository リソース。

GollumEvent

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

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

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

キーType[説明]
pagesarray更新されたページ。
pages[][page_name]stringページの名前です。
pages[][title]string現在のページ タイトル。
pages[][action]stringページ上で実行されたアクション。 created または edited を指定できます。
pages[][sha]stringページの最新のコミットSHA。
pages[][html_url]stringHTMLのwikiページを指す。

IssueCommentEvent

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

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

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

キーType説明
actionstringコメント上で実行されたアクション。 createdediteddeleted のいずれかを指定できます。
changesobjectアクションが edited だった場合のコメントの変更。
changes[body][from]stringアクションが edited だった場合の本文の以前のバージョン。
issueobjectコメントが属する Issue
commentobjectコメント自体。

IssuesEvent

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

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

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

キーType[説明]
actionstring実行されたアクション。 openededitedclosedreopenedassignedunassignedlabeledunlabeled のいずれかになります。
issueobjectIssue 自体。
changesobjectアクションが edited の場合の Issue に対する変更。
changes[title][from]stringアクションが edited の場合の以前のバージョンのタイトル。
changes[body][from]stringアクションが edited だった場合の本文の以前のバージョン。
assigneeobjectIssue の割り当てまたは割り当て解除を行った省略可能なユーザー。
labelobjectIssue に対して追加または削除された省略可能なラベル。

MemberEvent

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

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

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

キーType[説明]
actionstring実行されたアクション。 ユーザーがリポジトリへの招待を承認したことを示す、added を指定できます。
memberobject追加されたユーザー
changesobjectアクションが edited である場合のコラボレータのアクセス許可への変更。
changes[old_permission][from]stringアクションが edited である場合のコラボレータの以前のアクセス許可。

PublicEvent

プライベートリポジトリがパブリックにされたとき。 間違いなく: 最高のGitHub Enterprise Serverイベント。

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

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

PullRequestEvent

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

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

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

キーType[説明]
actionstring実行されたアクション。 openededitedclosedreopenedassignedunassignedreview_requestedreview_request_removedlabeledunlabeled、または synchronize のいずれかにすることができます。
numberintegerpull request 番号。
changesobjectアクションが edited の場合のコメントの変更。
changes[title][from]stringアクションが edited の場合の以前のバージョンのタイトル。
changes[body][from]stringアクションが edited だった場合の本文の以前のバージョン。
pull_requestobjectpull request 自体。

PullRequestReviewEvent

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

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

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

キーType[説明]
actionstring実行されたアクション。 created の可能性があります。
pull_requestobjectレビューが関連するプルリクエスト。
reviewobject影響されるレビュー。

PullRequestReviewCommentEvent

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

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

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

キーType説明
actionstringコメント上で実行されたアクション。 created の可能性があります。
changesobjectアクションが edited の場合のコメントの変更。
changes[body][from]stringアクションが edited の場合の以前のバージョンのタイトル。
pull_requestobjectコメントが属する pull request
commentobjectコメント 自体。

PullRequestReviewThreadEvent

解決済みまたは未解決とマークされている pull request のコメント スレッドに関連するアクティビティ アクティビティの種類は、ペイロード オブジェクトの action プロパティで指定されます。

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

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

キーType[説明]
actionstring実行されたアクション。 次のいずれかになります。
  • resolved - pull request のコメント スレッドが解決済みとしてマークされました。
  • unresolved - pull request の前に解決されたコメント スレッドが未解決とマークされました。
pull_requestobjectスレッドに関連する pull request
threadobject影響を受けたスレッド。

PushEvent

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

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

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

キーType説明
push_idintegerプッシュの一意の識別子。
sizeintegerプッシュ中のコミット数。
distinct_sizeintegerプッシュ中の個別のコミット数。
refstringプッシュされた完全な git ref。 例: refs/heads/main.
headstringプッシュ後の ref に対する最新のコミットの SHA。
beforestringプッシュ前の ref に対する最新のコミットの SHA。
commitsarrayプッシュされたコミットを示すコミットオブジェクトの配列。 (配列には最大で20のコミットが含まれる。 必要に応じて、Commits API を使用して追加のコミットをフェッチできます。 この制限はタイムラインイベントにのみ適用され、webhookの配信には適用されない)
commits[][sha]stringコミットのSHA。
commits[][message]stringコミットメッセージ。
commits[][author]objectコミットのGit作者。
commits[][author][name]stringGit作者の名前。
commits[][author][email]stringGit作者のメールアドレス。
commits[][url]urlコミットAPIのリソースを指すURL。
commits[][distinct]booleanこのコミットが以前にプッシュされたいずれとも異なっているか。

ReleaseEvent

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

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

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

キーType[説明]
actionstring実行されたアクション。 published の可能性があります。
changes[body][from]stringアクションが edited だった場合の本文の以前のバージョン。
changes[name][from]stringアクションが edited だった場合の以前のバージョンの名前。
releaseobjectリリース オブジェクト。

WatchEvent

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

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

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

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