Die Ereignis-API kann verschiedene Typen von Ereignissen zurückgeben, die durch Aktivität auf GitHub ausgelöst werden. Die Ereignisantworten enthalten gemeinsame Eigenschaften, weisen jedoch ein eindeutiges payload-Objekt auf, das vom Ereignistyp bestimmt wird. Unter Gemeinsame Eigenschaften von Ereignisobjekten sind die Eigenschaften beschrieben, die alle Ereignisse aufweisen. Außerdem beschreibt jeder Ereignistyp die eindeutigen payload-Eigenschaften des jeweiligen Ereignisses.
Gemeinsame Eigenschaften von Ereignisobjekten
Die von den Ereignis-API-Endpunkten zurückgegebenen Ereignisobjekte weisen dieselbe Struktur auf.
| Name des Ereignis-API-Attributs | type | BESCHREIBUNG | 
|---|---|---|
id | integer | Eindeutiger Bezeichner für das Ereignis. | 
type | string | Art des Ereignisses. Ereignisse verwenden PascalCase für den Namen. | 
actor | object | DieDer Benutzerin, die*der das Ereignis ausgelöst hat. | 
actor.id | integer | Der eindeutige Bezeichner für den Akteur. | 
actor.login | string | Der Benutzername des Akteurs. | 
actor.display_login | string | Das spezifische Anzeigeformat des Benutzernamens. | 
actor.gravatar_id | string | Der eindeutige Bezeichner des Gravatar-Profils für den Akteur. | 
actor.url | string | Die REST-API-URL, die zum Abrufen des Benutzerobjekts verwendet wird (einschließlich zusätzlicher Benutzerinformationen). | 
actor.avatar_url | string | Die URL des Profilbilds des Akteurs. | 
repo | object | Das Repositoryobjekt, in dem das Ereignis aufgetreten ist. | 
repo.id | integer | Der eindeutige Bezeichner des Repositorys. | 
repo.name | string | Der Name des Repositorys, das den Besitzer- und Repositorynamen enthält. Beispiel: octocat/hello-world ist der Name des hello-world-Repositorys, das sich im Besitz des persönlichen octocat-Kontos befindet. | 
repo.url | string | Die REST-API-URL, die zum Abrufen des Repositoryobjekts verwendet wird (einschließlich zusätzlicher Repositoryinformationen). | 
payload | object | Das Ereignisnutzlastobjekt ist für den Ereignistyp eindeutig. Der nachfolgende Ereignistyp bezieht sich auf das Ereignis-API-Objekt payload. | 
public | boolean | Ob das Ereignis für alle Benutzer sichtbar ist. | 
created_at | string | Datum und Uhrzeit der Auslösung des Ereignisses. Formatierung gemäß ISO 8601. | 
org | object | Die vom Akteur gewählte Organisation, die die Aktion durchführt, die das Ereignis auslöst. Die Eigenschaft wird nur dann im Ereignisobjekt angezeigt, wenn sie zutrifft.  | 
org.id | integer | Der eindeutige Bezeichner der Organisation. | 
org.login | string | Der Name der Organisation. | 
org.gravatar_id | string | Der eindeutige Bezeichner des Gravatar-Profils der Organisation. | 
org.url | string | Die REST-API-URL zum Abrufen des Organisationsobjekts (einschließlich zusätzlicher Organisationsinformationen). | 
org.avatar_url | string | Die URL des Profilbilds der Organisation. | 
Beispiel für ein WatchEvent-Ereignisobjekt
Dieses Beispiel zeigt das Format der WatchEvent-Antwort bei Verwendung der Ereignis-API.
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
Ein Commitkommentar wird erstellt. Der Aktivitätstyp wird in der action-Eigenschaft des Nutzdatenobjekts angegeben. Weitere Informationen findest du unter REST-API-Endpunkte für Commitkommentare.
Das Ereignisobjekt enthält Eigenschaften, die für alle Ereignisse verwendet werden. Jedes Ereignisobjekt enthält die payload-Eigenschaft, und der Wert ist für jeden Ereignistyp eindeutig. Das payload-Objekt für dieses Ereignis wird weiter unten beschrieben.
Ereignisobjekt payload für CommitCommentEvent
| Schlüssel | type | BESCHREIBUNG | 
|---|---|---|
action | string | Die ausgeführte Aktion. Kann created sein. | 
comment | object | Die Commitkommentarressource. | 
CreateEvent
Ein Git-Branch oder -Tag wird erstellt. Weitere Informationen finden Sie unter REST-API-Endpunkte für Git-Datenbank.
Das Ereignisobjekt enthält Eigenschaften, die für alle Ereignisse verwendet werden. Jedes Ereignisobjekt enthält die payload-Eigenschaft, und der Wert ist für jeden Ereignistyp eindeutig. Das payload-Objekt für dieses Ereignis wird weiter unten beschrieben.
Ereignisobjekt payload für CreateEvent
| Schlüssel | type | Beschreibung | 
|---|---|---|
ref | string | Die git ref Ressource oder null falls ref_type repository ist. | 
ref_type | string | Der Typ des Git-Ref-Objekts, das im Repository erstellt wurde. Kann branch, tag oder repository lauten. | 
master_branch | string | Der Name des Standardbranchs des Repositorys (normalerweise main). | 
description | string | Die aktuelle Beschreibung des Repositorys. | 
pusher_type | string | Kann entweder user oder ein Bereitstellungsschlüssel sein. | 
DeleteEvent
Ein Git-Branch oder -Tag wird gelöscht. Weitere Informationen findest du im Artikel unter REST-API-Endpunkte für Git-Datenbank zur REST-API.
Das Ereignisobjekt enthält Eigenschaften, die für alle Ereignisse verwendet werden. Jedes Ereignisobjekt enthält die payload-Eigenschaft, und der Wert ist für jeden Ereignistyp eindeutig. Das payload-Objekt für dieses Ereignis wird weiter unten beschrieben.
Ereignisobjekt payload für DeleteEvent
| Schlüssel | type | BESCHREIBUNG | 
|---|---|---|
ref | string | Die Ressource git ref. | 
ref_type | string | Der Typ des Git-Objekts „ref“, das im Repository gelöscht wurde. Kann entweder branch oder tag sein. | 
ForkEvent
Ein Benutzer forkt ein Repository. Weitere Informationen finden Sie unter REST-API-Endpunkte für Repositorys.
Das Ereignisobjekt enthält Eigenschaften, die für alle Ereignisse verwendet werden. Jedes Ereignisobjekt enthält die payload-Eigenschaft, und der Wert ist für jeden Ereignistyp eindeutig. Das payload-Objekt für dieses Ereignis wird weiter unten beschrieben.
Ereignisobjekt payload für ForkEvent
| Schlüssel | type | BESCHREIBUNG | 
|---|---|---|
forkee | object | Die erstellte repository-Ressource. | 
GollumEvent
Eine Wiki-Seite wird erstellt oder aktualisiert. Weitere Informationen finden Sie unter Informationen zu Wikis.
Das Ereignisobjekt enthält Eigenschaften, die für alle Ereignisse verwendet werden. Jedes Ereignisobjekt enthält die payload-Eigenschaft, und der Wert ist für jeden Ereignistyp eindeutig. Das payload-Objekt für dieses Ereignis wird weiter unten beschrieben.
Ereignisobjekt payload für GollumEvent
| Schlüssel | type | BESCHREIBUNG | 
|---|---|---|
pages | array | Die Seiten, die aktualisiert wurden. | 
pages[][page_name] | string | Der Name der Seite. | 
pages[][title] | string | Der aktuelle Seitentitel. | 
pages[][action] | string | Die Aktion, die auf der Seite ausgeführt wurde. Kann created oder edited sein. | 
pages[][sha] | string | Das neueste Commit-SHA der Seite. | 
pages[][html_url] | string | Verweist auf die HTML-Wiki-Seite. | 
IssueCommentEvent
Aktivitäten im Zusammenhang mit einem Issue oder einem Pull Request-Kommentar. Der Aktivitätstyp wird in der action-Eigenschaft des Nutzdatenobjekts angegeben. Weitere Informationen findest du unter REST-API-Endpunkte für Issues.
Das Ereignisobjekt enthält Eigenschaften, die für alle Ereignisse verwendet werden. Jedes Ereignisobjekt enthält die payload-Eigenschaft, und der Wert ist für jeden Ereignistyp eindeutig. Das payload-Objekt für dieses Ereignis wird weiter unten beschrieben.
Ereignisobjekt payload für IssueCommentEvent
| Schlüssel | type | BESCHREIBUNG | 
|---|---|---|
action | string | Die Aktion, die für den Kommentar ausgeführt wurde. Kann created, edited oder deleted sein. | 
changes | object | Die Änderungen am Kommentar, wenn die Aktion edited war. | 
changes[body][from] | string | Die vorherige Version des Texts, wenn die Aktion edited war. | 
issue | object | Das Issue, zu dem der Kommentar gehört. | 
comment | object | Der Kommentar selbst. | 
IssuesEvent
Aktivität im Zusammenhang mit einem Issue. Der Aktivitätstyp wird in der action-Eigenschaft des Nutzdatenobjekts angegeben. Weitere Informationen findest du unter REST-API-Endpunkte für Issues.
Das Ereignisobjekt enthält Eigenschaften, die für alle Ereignisse verwendet werden. Jedes Ereignisobjekt enthält die payload-Eigenschaft, und der Wert ist für jeden Ereignistyp eindeutig. Das payload-Objekt für dieses Ereignis wird weiter unten beschrieben.
Ereignisobjekt payload für IssuesEvent
| Schlüssel | type | BESCHREIBUNG | 
|---|---|---|
action | string | Die durchgeführte Aktion. Dies kann opened, edited, closed, reopened, assigned, unassigned, labeled oder unlabeled sein. | 
issue | object | Das Issue selbst. | 
changes | object | Die Änderungen am Issue, wenn die Aktion edited war. | 
changes[title][from] | string | Die vorherige Version des Titels, wenn die Aktion edited war. | 
changes[body][from] | string | Die vorherige Version des Texts, wenn die Aktion edited war. | 
assignee | object | Der optionale Benutzer, der dem Problem zugewiesen oder dessen Zuweisung aufgehoben wurde. | 
label | object | Die optionale Bezeichnung, die dem Problem hinzugefügt oder daraus entfernt wurde. | 
MemberEvent
Aktivitäten im Zusammenhang mit Repositorymitarbeitern. Der Aktivitätstyp wird in der action-Eigenschaft des Nutzdatenobjekts angegeben. Weitere Informationen findest du unter REST-API-Endpunkte für Projektmitarbeiter.
Das Ereignisobjekt enthält Eigenschaften, die für alle Ereignisse verwendet werden. Jedes Ereignisobjekt enthält die payload-Eigenschaft, und der Wert ist für jeden Ereignistyp eindeutig. Das payload-Objekt für dieses Ereignis wird weiter unten beschrieben.
Ereignisobjekt payload für MemberEvent
| Schlüssel | type | BESCHREIBUNG | 
|---|---|---|
action | string | Die durchgeführte Aktion. Kann added lauten, um darauf hinzuweisen, dass ein Benutzer eine Einladung zu einem Repository akzeptiert hat. | 
member | object | Der Benutzer, der hinzugefügt wurde. | 
changes | object | Die Änderungen an den Berechtigungen der mitarbeitenden Person, wenn die Aktion edited war. | 
changes[old_permission][from] | string | Die vorherigen Berechtigungen der mitarbeitenden Person, wenn die Aktion edited war. | 
PublicEvent
Wenn ein privates Repository öffentlich gemacht wird.
Ereignisobjekt payload für PublicEvent
Dieses Ereignis gibt ein leeres payload-Objekt zurück.
PullRequestEvent
Aktivitäten im Zusammenhang mit Pull Requests. Der Aktivitätstyp wird in der action-Eigenschaft des Nutzdatenobjekts angegeben. Weitere Informationen findest du unter REST-API-Endpunkte für Pullanforderungen.
Das Ereignisobjekt enthält Eigenschaften, die für alle Ereignisse verwendet werden. Jedes Ereignisobjekt enthält die payload-Eigenschaft, und der Wert ist für jeden Ereignistyp eindeutig. Das payload-Objekt für dieses Ereignis wird weiter unten beschrieben.
Ereignisobjekt payload für PullRequestEvent
| Schlüssel | type | BESCHREIBUNG | 
|---|---|---|
action | string | Die durchgeführte Aktion. Mögliche Werte: opened, edited, closed, reopened, assigned, unassigned, review_requested, review_request_removed, labeled, unlabeled und synchronize. | 
number | integer | Die Pull Request-Nummer. | 
changes | object | Die Änderungen am Kommentar, wenn die Aktion edited war. | 
changes[title][from] | string | Die vorherige Version des Titels, wenn die Aktion edited war. | 
changes[body][from] | string | Die vorherige Version des Texts, wenn die Aktion edited war. | 
pull_request | object | Der Pull Request selbst. | 
PullRequestReviewEvent
Aktivitäten im Zusammenhang mit Pull Request-Überprüfungen. Der Aktivitätstyp wird in der action-Eigenschaft des Nutzdatenobjekts angegeben. Weitere Informationen findest du unter REST-API-Endpunkte für Pullanforderungen.
Das Ereignisobjekt enthält Eigenschaften, die für alle Ereignisse verwendet werden. Jedes Ereignisobjekt enthält die payload-Eigenschaft, und der Wert ist für jeden Ereignistyp eindeutig. Das payload-Objekt für dieses Ereignis wird weiter unten beschrieben.
Ereignisobjekt payload für PullRequestReviewEvent
| Schlüssel | type | BESCHREIBUNG | 
|---|---|---|
action | string | Die durchgeführte Aktion. Kann created sein. | 
pull_request | object | Der Pull Request, auf den sich das Review bezieht. | 
review | object | Das betroffene Review. | 
PullRequestReviewCommentEvent
Aktivitäten im Zusammenhang mit Pull Request-Reviewkommentaren im Unified Diff des Pull Request. Der Aktivitätstyp wird in der action-Eigenschaft des Nutzdatenobjekts angegeben. Weitere Informationen findest du unter REST-API-Endpunkte für Pullanforderungen.
Das Ereignisobjekt enthält Eigenschaften, die für alle Ereignisse verwendet werden. Jedes Ereignisobjekt enthält die payload-Eigenschaft, und der Wert ist für jeden Ereignistyp eindeutig. Das payload-Objekt für dieses Ereignis wird weiter unten beschrieben.
Ereignisobjekt payload für PullRequestReviewCommentEvent
| Schlüssel | type | BESCHREIBUNG | 
|---|---|---|
action | string | Die Aktion, die für den Kommentar ausgeführt wurde. Kann created sein. | 
changes | object | Die Änderungen am Kommentar, wenn die Aktion edited war. | 
changes[body][from] | string | Die vorherige Version des Texts, wenn die Aktion edited war. | 
pull_request | object | Der Pull Request, zu dem der Kommentar gehört. | 
comment | object | Der Kommentar selbst. | 
PullRequestReviewThreadEvent
Aktivität im Zusammenhang mit einem Kommentarthread zu einem Pull Request, der als aufgelöst oder nicht gelöst markiert wurde Der Aktivitätstyp wird in der action-Eigenschaft des Nutzdatenobjekts angegeben.
Das Ereignisobjekt enthält Eigenschaften, die für alle Ereignisse verwendet werden. Jedes Ereignisobjekt enthält die payload-Eigenschaft, und der Wert ist für jeden Ereignistyp eindeutig. Das payload-Objekt für dieses Ereignis wird weiter unten beschrieben.
Ereignisobjekt payload für PullRequestReviewThreadEvent
| Schlüssel | type | BESCHREIBUNG | 
|---|---|---|
action | string | Die durchgeführte Aktion. Kann eine der folgenden Aktionen sein:
  | 
pull_request | object | Der Pull Request, zu dem der Thread gehört | 
thread | object | Der betroffene Thread | 
PushEvent
Ein oder mehrere Commits werden in einen Repositorybranch oder ein Tag gepusht.
Das Ereignisobjekt enthält Eigenschaften, die für alle Ereignisse verwendet werden. Jedes Ereignisobjekt enthält die payload-Eigenschaft, und der Wert ist für jeden Ereignistyp eindeutig. Das payload-Objekt für dieses Ereignis wird weiter unten beschrieben.
Ereignisobjekt payload für PushEvent
| Schlüssel | type | BESCHREIBUNG | 
|---|---|---|
push_id | integer | Der eindeutige Bezeichner für den Push. | 
size | integer | Die Anzahl von Commits im Push. | 
distinct_size | integer | Die Anzahl von unterschiedlichen Commits im Push. | 
ref | string | Die ganze git ref, die verschoben wurde. Beispiel: refs/heads/main. | 
head | string | Der SHA des letzten Commits in ref nach dem Push. | 
before | string | Der SHA des letzten Commits in ref vor dem Push. | 
commits | array | Ein Array von Commitobjekten, das die gepushten Commits beschreibt. (Das Array umfasst maximal 20 Commits. Bei Bedarf kann die Commits-API verwendet werden, um zusätzliche Commits abzurufen. Dieser Grenzwert wird ausschließlich auf Zeitachsenereignisse und nicht auf Webhook-Übermittlungen angewendet.) | 
commits[][sha] | string | Der SHA des Commits. | 
commits[][message] | string | Die Commitnachricht. | 
commits[][author] | object | Der Git-Autor des Commits. | 
commits[][author][name] | string | Der Name des Git-Autors. | 
commits[][author][email] | string | Die E-Mail-Adresse des Git-Autors. | 
commits[][url] | url | URL, die auf die Commit-API-Ressource verweist. | 
commits[][distinct] | boolean | Gibt an, ob sich dieser Commit von einem zuvor gepushten Commit unterscheidet. | 
ReleaseEvent
Aktivität im Zusammenhang mit einem Release. Der Aktivitätstyp wird in der action-Eigenschaft des Nutzdatenobjekts angegeben. Weitere Informationen findest du in der REST-API für REST-API-Endpunkte für Releases und Releaseressourcen.
Das Ereignisobjekt enthält Eigenschaften, die für alle Ereignisse verwendet werden. Jedes Ereignisobjekt enthält die payload-Eigenschaft, und der Wert ist für jeden Ereignistyp eindeutig. Das payload-Objekt für dieses Ereignis wird weiter unten beschrieben.
Ereignisobjekt payload für ReleaseEvent
| Schlüssel | type | BESCHREIBUNG | 
|---|---|---|
action | string | Die durchgeführte Aktion. Kann published sein. | 
changes[body][from] | string | Die vorherige Version des Texts, wenn die Aktion edited war. | 
changes[name][from] | string | Die vorherige Version des Namens, wenn die Aktion edited war. | 
release | object | Das release-Objekt. | 
WatchEvent
Wenn jemand ein Repository mit einem Stern versieht. Der Aktivitätstyp wird in der action-Eigenschaft des Nutzdatenobjekts angegeben. Weitere Informationen findest du unter REST-API-Endpunkte für Aktivitäten.
Das Ereignisobjekt enthält Eigenschaften, die für alle Ereignisse verwendet werden. Jedes Ereignisobjekt enthält die payload-Eigenschaft, und der Wert ist für jeden Ereignistyp eindeutig. Das payload-Objekt für dieses Ereignis wird weiter unten beschrieben.
Ereignisobjekt payload für WatchEvent
| Schlüssel | type | BESCHREIBUNG | 
|---|---|---|
action | string | Die durchgeführte Aktion. Derzeit ist nur started möglich. |