A API de Eventos pode retornar diferentes tipos de eventos disparados pela atividade em GitHub. Cada resposta de evento contém propriedades compartilhadas, mas tem um objeto payload exclusivo determinado pelo tipo de evento. As propriedades comuns do objeto Event descrevem as propriedades compartilhadas por todos os eventos, e cada tipo de evento descreve as propriedades payload exclusivas do evento específico.
Propriedades comuns do objeto de evento
Os objetos de evento retornados dos endpoints da API de eventos têm a mesma estrutura.
| Nome do atributo da API do evento | Tipo | Descrição |
|---|---|---|
id | integer | Identificador exclusivo do evento. |
type | string | O tipo do evento. Os eventos usam PascalCase para o nome. |
actor | object | O usuário que acionou o evento. |
actor.id | integer | O identificador único para o ator. |
actor.login | string | O nome de usuário do ator. |
actor.display_login | string | O formato de exibição específico do nome de usuário. |
actor.gravatar_id | string | O identificador único do perfil Gravatar para o ator. |
actor.url | string | A URL da API REST usada para recuperar o objeto do usuário, que inclui informações adicionais sobre o usuário. |
actor.avatar_url | string | A URL da imagem do perfil do ator. |
repo | object | O objeto de repositório onde ocorreu o evento. |
repo.id | integer | O identificador único do repositório. |
repo.name | string | O nome do repositório, que inclui o proprietário e o nome do repositório. Por exemplo, octocat/hello-world é o nome do repositório hello-world pertencente à conta pessoal octocat. |
repo.url | string | A URL da API REST usada para recuperar o objeto do repositório, que inclui informações adicionais do repositório. |
payload | object | O objeto da carga de eventos é único para o tipo de evento. Confira o tipo de evento abaixo para ver o objeto payload da API de evento. |
public | boolean | Se o evento é visível a todos os usuários. |
created_at | string | A data e hora em que o evento foi acionado. O formato segue a ISO 8601. |
org | object | A organização que foi escolhida pelo ator para executar uma ação que dispara o evento. |
_A propriedade será exibida no objeto de evento somente se for aplicável._ |
| org.id | integer | O identificador exclusivo da organização. |
| org.login | string | O nome da organização. |
| org.gravatar_id | string | O identificador exclusivo do perfil da organização no Gravatar. |
| org.url | string | A URL da API REST usada para recuperar o objeto de organização, que inclui informações adicionais da organização. |
| org.avatar_url | string | A URL da imagem de perfil da organização. |
Exemplo de objeto de evento WatchEvent
Este exemplo mostra o formato da resposta WatchEvent ao usar a API de Eventos.
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
Um comentário de commit foi criado. O tipo de atividade é especificado na propriedade action do objeto de conteúdo. Para obter mais informações, confira Pontos de extremidade da API REST para comentários de confirmação.
O objeto de evento inclui propriedades comuns para todos os eventos. Cada objeto de evento inclui uma propriedade payload e o valor é exclusivo para cada tipo de evento. O objeto payload para esse evento é descrito abaixo.
Objeto payload do evento para CommitCommentEvent
| Chave | Tipo | Descrição |
|---|---|---|
comment | object | O recurso de comentário sobre o commit. |
CreateEvent
Um branch ou tag do Git é criado. Para saber mais, confira Pontos de extremidade da API REST para banco de dados Git.
O objeto de evento inclui propriedades comuns para todos os eventos. Cada objeto de evento inclui uma propriedade payload e o valor é exclusivo para cada tipo de evento. O objeto payload para esse evento é descrito abaixo.
Objeto de evento payload para CreateEvent
| Chave | Tipo | Descrição |
|---|---|---|
ref | string | O git ref branch de recursos ou null se ref_type for repository. |
ref_type | string | O tipo de objeto de ref do Git criado no repositório. Pode ser branch, tag ou repository. |
master_branch | string | O nome do branch padrão do repositório (geralmente main). |
description | string | Descrição atual do repositório. |
pusher_type | string | Pode ser user ou uma chave de implantação. |
DeleteEvent
Um branch ou tag do Git é excluído. Para obter mais informações, confira a API REST de Pontos de extremidade da API REST para banco de dados Git.
O objeto de evento inclui propriedades comuns para todos os eventos. Cada objeto de evento inclui uma propriedade payload e o valor é exclusivo para cada tipo de evento. O objeto payload para esse evento é descrito abaixo.
Objeto payload do evento para DeleteEvent
| Chave | Tipo | Descrição |
|---|---|---|
ref | string | O git ref ramo de recursos. |
ref_type | string | O tipo de objeto de referência do Git excluído no repositório. Pode ser branch ou tag. |
pusher_type | string | Pode ser user ou uma chave de implantação. |
ForkEvent
Um usuário bifurca um repositório. Para saber mais, confira Pontos de extremidade da API REST para repositórios. de dados
O objeto de evento inclui propriedades comuns para todos os eventos. Cada objeto de evento inclui uma propriedade payload e o valor é exclusivo para cada tipo de evento. O objeto payload para esse evento é descrito abaixo.
Objeto do evento payload para ForkEvent
| Chave | Tipo | Descrição |
|---|---|---|
forkee | object | O recurso repository criado. |
GollumEvent
Uma página wiki foi criada ou atualizada. Para saber mais, confira Sobre wikis.
O objeto de evento inclui propriedades comuns para todos os eventos. Cada objeto de evento inclui uma propriedade payload e o valor é exclusivo para cada tipo de evento. O objeto payload para esse evento é descrito abaixo.
Objeto de evento payload para GollumEvent
| Chave | Tipo | Descrição |
|---|---|---|
pages | array | As páginas que foram atualizadas. |
pages[][page_name] | string | O nome da página. |
pages[][title] | string | O título de página atual. |
pages[][summary] | string | Uma observação opcional sobre a página. Pode ser null. |
pages[][action] | string | A ação que foi executada na página. Pode ser created ou edited. |
pages[][sha] | string | O SHA de commit mais recente da página. |
pages[][html_url] | string | Aponta para a página wiki de HTML. |
IssueCommentEvent
Atividade relacionada a um comentário sobre um problema ou sobre uma solicitação de pull. O tipo de atividade é especificado na propriedade action do objeto de conteúdo. Para obter mais informações, confira Pontos de extremidade da API REST para issues.
O objeto de evento inclui propriedades comuns para todos os eventos. Cada objeto de evento inclui uma propriedade payload e o valor é exclusivo para cada tipo de evento. O objeto payload para esse evento é descrito abaixo.
Objeto de evento payload para IssueCommentEvent
| Chave | Tipo | Descrição |
|---|---|---|
action | string | A ação realizada no comentário. Pode ser created. |
issue |
|
`object` | O [problema](/rest/issues) ao qual o comentário pertence.
`comment`
|
`object` | O [comentário](/rest/issues#comments) em si.
IssuesEvent
Atividade relacionada a um problema. O tipo de atividade é especificado na propriedade action do objeto de conteúdo. Para obter mais informações, confira Pontos de extremidade da API REST para issues.
O objeto de evento inclui propriedades comuns para todos os eventos. Cada objeto de evento inclui uma propriedade payload e o valor é exclusivo para cada tipo de evento. O objeto payload para esse evento é descrito abaixo.
Objeto payload do evento para IssuesEvent
| Chave | Tipo | Descrição |
|---|---|---|
action | string | A ação que foi executada. Pode ser um de opened, , closed, reopened, assigned, unassigned, labeledou unlabeled. |
issue |
|
`object` | O próprio [problema](/rest/issues).
| |
EventoDeMembro
Atividade relacionada aos colaboradores do repositório. O tipo de atividade é especificado na propriedade action do objeto de conteúdo. Para obter mais informações, confira Endpoints da API REST para colaboradores.
O objeto de evento inclui propriedades comuns para todos os eventos. Cada objeto de evento inclui uma propriedade payload e o valor é exclusivo para cada tipo de evento. O objeto payload para esse evento é descrito abaixo.
Objeto de evento payload para MemberEvent
| Chave | Tipo | Descrição |
|---|---|---|
action | string | A ação que foi executada. Pode ser added para indicar que um usuário aceitou um convite para um repositório. |
member |
|
`object` | O [usuário](/rest/users) que foi adicionado.
EventoPúblico
Quando um repositório privado torna-se público.
Objeto de evento payload para PublicEvent
Esse evento retorna um objeto payload vazio.
PullRequestEvent
Atividade relacionada a pull requests. O tipo de atividade é especificado na propriedade action do objeto de conteúdo. Para obter mais informações, confira Endpoints da API REST para solicitações de pull.
O objeto de evento inclui propriedades comuns para todos os eventos. Cada objeto de evento inclui uma propriedade payload e o valor é exclusivo para cada tipo de evento. O objeto payload para esse evento é descrito abaixo.
Objeto payload do evento para PullRequestEvent
| Chave | Tipo | Descrição |
|---|---|---|
action | string | A ação que foi executada. Pode ser um de opened, closed. reopened |
number |
|
`integer` | O número da solicitação de pull.
`pull_request`
|
`object` | A [solicitação de pull](/rest/pulls) em si.
| |
PullRequestReviewEvent
Atividade relacionada a revisões de pull request. O tipo de atividade é especificado na propriedade action do objeto de conteúdo. Para obter mais informações, confira Endpoints da API REST para solicitações de pull.
O objeto de evento inclui propriedades comuns para todos os eventos. Cada objeto de evento inclui uma propriedade payload e o valor é exclusivo para cada tipo de evento. O objeto payload para esse evento é descrito abaixo.
Objeto payload do evento PullRequestReviewEvent
| Key | Tipo | Description |
|---|---|---|
action | string | A ação que foi executada. Pode ser created. |
pull_request | object | A solicitação de pull à qual a revisão pertence. |
review | object | A revisão que foi afetada. |
PullRequestReviewCommentEvent
Atividade relacionada aos comentários de revisão do pull request no diff unificado do pull request. O tipo de atividade é especificado na propriedade action do objeto de conteúdo. Para obter mais informações, confira Endpoints da API REST para solicitações de pull.
O objeto de evento inclui propriedades comuns para todos os eventos. Cada objeto de evento inclui uma propriedade payload e o valor é exclusivo para cada tipo de evento. O objeto payload para esse evento é descrito abaixo.
Objeto payload de evento para PullRequestReviewCommentEvent
| Chave | Tipo | Descrição |
|---|---|---|
action | string | A ação realizada no comentário. Pode ser created. |
pull_request |
|
`object` | A [solicitação de pull](/rest/pulls) à qual o comentário pertence.
`comment`
|
`object` | O [comentário](/rest/pulls#comments) em si.
PushEvent
Um ou mais commits são enviados para uma branch ou tag de um repositório.
O objeto de evento inclui propriedades comuns para todos os eventos. Cada objeto de evento inclui uma propriedade payload e o valor é exclusivo para cada tipo de evento. O objeto payload para esse evento é descrito abaixo.
Objeto de evento payload para PushEvent
| Key | Tipo | Description |
|---|---|---|
repository_id | integer | O identificador exclusivo do repositório em que o push ocorreu. |
push_id | integer | O identificador exclusivo para a notificação push. |
size | integer | O número de commits no push. |
distinct_size | integer | O número de commits distintos no push. |
ref | string | A git ref completa que foi enviada por push. Exemplo: refs/heads/main. |
head | string | O SHA do commit mais recente em ref após o push. |
before | string | O SHA do commit mais recente em ref antes do push. |
commits | array | Um array de objetos de commit, que descreve os commits carregados. (O array inclui um máximo de 20 commits. Se necessário, você pode usar a API de Commits para buscar commits adicionais. Este limite é aplicado apenas aos eventos da linha do tempo e não é aplicado às entregas do webhook.) |
commits[][sha] | string | O SHA do commit. |
commits[][message] | string | A mensagem do commit. |
commits[][author] | object | O autor do git do commit. |
commits[][author][name] | string | O nome do autor do git. |
commits[][author][email] | string | O endereço de e-mail do autor do git. |
commits[][url] | url | URL que aponta para o recurso de commit de API. |
commits[][distinct] | boolean | Se este compromisso é diferente de qualquer outro que tenha sido carregado anteriormente. |
Evento de Lançamento
Atividade relacionada a uma versão. O tipo de atividade é especificado na propriedade action do objeto de conteúdo. Para obter mais informações, confira a API REST de Pontos de extremidade da API REST para lançamentos e ativos de lançamento.
O objeto de evento inclui propriedades comuns para todos os eventos. Cada objeto de evento inclui uma propriedade payload e o valor é exclusivo para cada tipo de evento. O objeto payload para esse evento é descrito abaixo.
Objeto do evento payload para ReleaseEvent
| Chave | Tipo | Descrição |
|---|---|---|
action | string | A ação que foi executada. Pode ser published. |
release |
|
`object` | O objeto [release](/rest/releases/releases#get-a-release).
WatchEvent
Quando alguém marca um repositório com uma estrela. O tipo de atividade é especificado na propriedade action do objeto de conteúdo. Para obter mais informações, confira Pontos de extremidade da API REST para atividade.
O objeto de evento inclui propriedades comuns para todos os eventos. Cada objeto de evento inclui uma propriedade payload e o valor é exclusivo para cada tipo de evento. O objeto payload para esse evento é descrito abaixo.
Objeto de evento payload para WatchEvent
| Chave | Tipo | Descrição |
|---|---|---|
action | string | A ação que foi executada. Atualmente, só pode ser started. |