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, 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 | 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 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, 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 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, zu dem der Kommentar gehört. |
comment
|
object | Der Kommentar 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-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. |