Die Ereignis-API kann verschiedene Arten von Ereignissen zurückgeben, die durch Aktivität für 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 |
|---|---|---|
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. |
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. |
pusher_type | string | Kann entweder user oder ein Bereitstellungsschlüssel 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 | 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. Dies kann eine von opened, closed, reopened, assigned, unassigned, labeled oder unlabeled sein. |
issue |
|
`object` | Das [Issue](/rest/issues) selbst.
| |
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 sein. |
number | integer | Die Nummer des Pull-Requests. |
`pull_request`
|
`object` | Die [Pullanforderung](/rest/pulls) 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
| Key | Typ | Description |
|---|---|---|
action | string | Die durchgeführte Aktion. Kann created 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. |
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 | 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. |