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 | Den Typ 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 erscheint im Ereignis-Objekt nur, wenn sie anwendbar ist. |
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"
[
{
"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
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 Commit-Kommentare.
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 | Typ | Beschreibung |
|---|---|---|
ref | string | Der git ref-Ressourcenzweig, oder null, wenn ref_type``repository ist. |
ref_type | string | Der Typ des Git-Ref-Objekts, das im Repository erstellt wurde. Kann branch, tag oder repository lauten. |
full_ref | string | Die vollständig gebildete Referenzressource, das bedeutet, dass für Verzweigungen das Format refs/heads/<branch_name> ist. |
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 | Der git ref Ressourcenzweig. |
ref_type | string | Der Typ des Git-Objekts „ref“, das im Repository gelöscht wurde. Kann entweder branch oder tag sein. |
full_ref | string | Die vollständig ausformulierte Referenzressource, d. h. für Zweige lautet das Format refs/heads/<branch_name>. |
pusher_type | string | Kann entweder user oder ein Bereitstellungsschlüssel sein. |
DiscussionEvent
Eine Diskussion wird in einem Repository erstellt. Weitere Informationen finden Sie unter Dokumentation zu GitHub Discussions.
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.
Event-Objekt payload für DiscussionEvent
| Key | Typ | Description |
|---|---|---|
action | string | Die ausgeführte Aktion. Kann created sein. |
discussion | object | Die Diskussion, die erstellt wurde. |
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 |
|---|---|---|
action | string | Die ausgeführte Aktion. Kann forked sein. |
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 | Typ | BESCHREIBUNG |
|---|---|---|
pages | array | Die Seiten, die aktualisiert wurden. |
pages[][page_name] | string | Der Name der Seite. |
pages[][title] | string | Der aktuelle Seitentitel. |
pages[][summary] | string | Eine optionale Notiz zur Seite. Kann null sein. |
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 | Typ | BESCHREIBUNG |
|---|---|---|
action | string | Die Aktion, die für den Kommentar ausgeführt wurde. Kann created sein. |
issue |
|
`object` | Das [Issue](/rest/issues), zu dem der Kommentar gehört.
`comment`
|
`object` | Der [Kommentar](/rest/issues#comments) 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 | Typ | BESCHREIBUNG |
|---|---|---|
action | string | Die durchgeführte Aktion. Kann eine von opened, closed, reopened sein. |
issue |
|
`object` | Das [Issue](/rest/issues) selbst.
| | assignee|object | Der optionale Benutzer, der dem Problem zugewiesen oder nicht zugewiesen wurde.
`assignees`
|
`array` | Das optionale Array von Assignee-Objekten, die die Zugewiesenen für das Problem detailliert erläutern.
`label`
|
`object` | Die optionale Bezeichnung, die dem Problem hinzugefügt oder daraus entfernt wurde.
`labels`
|
`array` | Das optionale Array von Bezeichnungsobjekten, das die Beschriftungen des Problems beschreibt.
| |
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 | Typ | 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](/rest/users), der hinzugefügt wurde.
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 Aktion, die durchgeführt wurde. Kann eine von opened, closed, reopened, assigned, unassigned, labeled oder unlabeled sein. |
number | integer | Die Nummer des Pull-Requests. |
`pull_request`
|
`object` | Die [Pullanforderung](/rest/pulls) selbst.
| | assignee|object | Der optionale Benutzer, dem das Problem zugewiesen oder nicht zugewiesen wurde.
assignees | array | Das optionale Array von Assignee-Objekten, das die Assignees des Problems auflistet.
`label`
|
`object` | Die optionale Bezeichnung, die dem Problem hinzugefügt oder entfernt wurde, wenn die Aktion war `labeled` oder `unlabeled`.
`labels`
|
`array` | Das optionale Array von Bezeichnungsobjekten, das die Beschriftungen in der Pullanforderung beschreibt, wenn die Aktion war `labeled` oder `unlabeled`.
| |
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
| Key | Typ | Description |
|---|---|---|
action | string | Die durchgeführte Aktion. Kann created, updated oder dismissed sein. |
pull_request | object | Die Pull-Anforderung, auf die sich die Überprüfung bezieht. |
review | object | Die betroffene Prüfung. |
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 | Typ | BESCHREIBUNG |
|---|---|---|
action | string | Die Aktion, die für den Kommentar ausgeführt wurde. Kann created sein. |
pull_request |
|
`object` | Der [Pull Request](/rest/pulls), zu dem der Kommentar gehört.
`comment`
|
`object` | Der [Kommentar](/rest/pulls#comments) selbst.
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
| Key | Typ | Description |
|---|---|---|
repository_id | integer | Der eindeutige Bezeichner des Repositorys, in dem der Push aufgetreten ist. |
push_id | integer | Der eindeutige Bezeichner für die Push-Benachrichtigung. |
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. |
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 | Typ | BESCHREIBUNG |
|---|---|---|
action | string | Die durchgeführte Aktion. Kann published sein. |
release |
|
`object` | Das [release](/rest/releases/releases#get-a-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 | Typ | BESCHREIBUNG |
|---|---|---|
action | string | Die durchgeführte Aktion. Derzeit ist nur started möglich. |