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 |
|---|---|---|
action | string | A ação executada. Pode ser created. |
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. |
full_ref | string | O recurso ref totalmente formado, o que significa que, para ramificações, o formato é refs/heads/<branch_name>. |
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. |
full_ref | string | O recurso ref totalmente formado, o que significa que, para ramificações, o formato é refs/heads/<branch_name>. |
pusher_type | string | Pode ser user ou uma chave de implantação. |
EventoDeDiscussão
Uma discussão é criada em um repositório. Para saber mais, confira Documentação do GitHub Discussions.
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 DiscussionEvent
| Key | Tipo | Description |
|---|---|---|
action | string | A ação executada. Pode ser created. |
discussion | object | A discussão que foi criada. |
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 |
|---|---|---|
action | string | A ação executada. Pode ser forked. |
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 |
issue |
|
`object` | O próprio [problema](/rest/issues).
| | assignee|object | O usuário opcional que foi associado ou desassociado da questão.
`assignees`
|
`array` | A matriz opcional de objetos atribuídos detalhando os atribuidores sobre o problema.
`label`
|
`object` | O rótulo opcional que foi adicionado ou removido do problema.
`labels`
|
`array` | A matriz opcional de objetos de etiqueta que descrevem as etiquetas da questão.
| |
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 dos opened, closed, reopened, , assigned, unassignede labeled``unlabeled. |
number |
|
`integer` | O número da solicitação de pull.
`pull_request`
|
`object` | A [solicitação de pull](/rest/pulls) em si.
| | assignee|object | O usuário opcional que foi associado ou desassociado da questão.
`assignees`
|
`array` | A matriz opcional de objetos atribuídos detalhando os atribuidores sobre o problema.
`label`
|
`object` | O rótulo opcional que foi adicionado ou removido do problema se a ação foi `labeled` ou `unlabeled`.
`labels`
|
`array` | A matriz opcional de objetos de rótulo que descrevem os rótulos na solicitação de pull se a ação foi `labeled` ou `unlabeled`.
| |
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, updated ou dismissed. |
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. |
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. |
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. |