이벤트 API는 GitHub 활동에 의해 트리거되는 다양한 유형의 이벤트를 반환할 수 있습니다. 각 이벤트 응답에는 공유 속성이 포함되어 있지만 해당 이벤트 유형에 따라 결정되는 고유한 payload 개체가 있습니다.
Event 개체 공통 속성은 모든 이벤트에서 공유하는 속성을 설명하고 각 이벤트 유형은 특정 이벤트에 고유한 payload 속성을 설명합니다.
이벤트 개체 공통 속성
이벤트 API 엔드포인트에서 반환된 이벤트 개체의 구조는 동일합니다.
| 이벤트 API 특성 이름 | 유형 | 설명 |
|---|---|---|
id | integer | 이벤트에 대한 고유 식별자입니다. |
type | string | 이벤트의 유형입니다. 이벤트는 이름에 PascalCase를 사용합니다. |
actor | object | 이벤트를 트리거한 사용자입니다. |
actor.id | integer | 행위자의 고유 식별자입니다. |
actor.login | string | 행위자의 사용자 이름입니다. |
actor.display_login | string | 사용자 이름의 특정 표시 형식입니다. |
actor.gravatar_id | string | 행위자에 대한 Gravatar 프로필의 고유 식별자입니다. |
actor.url | string | 추가 사용자 정보를 포함하는 사용자 개체를 검색하는 데 사용되는 REST API URL입니다. |
actor.avatar_url | string | 액터의 프로필 이미지 URL입니다. |
repo | object | 이벤트가 발생한 리포지토리 개체입니다. |
repo.id | integer | 리포지토리의 고유 식별자입니다. |
repo.name | string | 리포지토리의 이름으로, 여기에는 소유자 및 리포지토리 이름이 포함되어 있습니다. 예를 들어 octocat/hello-world는 hello-world 개인 계정이 소유한 octocat 리포지토리의 이름입니다. |
repo.url | string | 추가 리포지토리 정보가 포함된 리포지토리 개체를 검색하는 데 사용되는 REST API URL입니다. |
payload | object | 이벤트 페이로드 개체는 이벤트 유형에 고유합니다. 이벤트 API payload 개체는 아래 이벤트 유형을 참조하세요. |
public | boolean | 이벤트가 모든 사용자에게 표시되는지 여부입니다. |
created_at | string | 이벤트가 트리거된 날짜 및 시간입니다. ISO 8601에 따라 형식이 지정됩니다. |
org | object | 이벤트를 트리거하는 작업을 수행하기 위해 행위자가 선택한 조직입니다. |
_속성은 해당되는 경우에만 이벤트 개체에 나타납니다._ |
| org.id | integer | 조직의 고유 식별자입니다. |
| org.login | string | 조직의 이름입니다. |
| org.gravatar_id | string | 조직에 대한 Gravatar 프로필의 고유 식별자입니다. |
| org.url | string | 추가 조직 정보가 포함된 조직 개체를 검색하는 데 사용되는 REST API URL입니다. |
| org.avatar_url | string | 조직 프로필 이미지의 URL입니다. |
WatchEvent 이벤트 개체 예제
이 예제에서는 이벤트 API를 사용할 때 WatchEvent 응답의 형식을 보여 줍니다.
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 (커밋 댓글 이벤트)
데이터 재사용 가능항목.webhooks.commit_comment_short_desc %}
이벤트 개체에는 모든 이벤트에 공통적인 속성이 포함됩니다. 각 이벤트 개체에는 payload 속성이 포함되며 값은 각 이벤트 유형에 고유합니다. 이 이벤트의 payload 개체는 아래에 설명되어 있습니다.
CommitCommentEvent의 이벤트 payload 개체
| 키 | 형식 | 설명 |
|---|---|---|
action | string | 수행된 작업입니다. |
`created`일 수 있습니다.
| |
comment|object |
커밋 주석 리소스입니다.
CreateEvent
Git 분기 또는 태그가 생성되었습니다. 자세한 내용은 Git 데이터베이스에 대한 REST API 엔드포인트을(를) 참조하세요.
이벤트 개체에는 모든 이벤트에 공통적인 속성이 포함됩니다. 각 이벤트 개체에는 payload 속성이 포함되며 값은 각 이벤트 유형에 고유합니다. 이 이벤트의 payload 개체는 아래에 설명되어 있습니다.
CreateEvent에 대한 이벤트 payload 개체
| 키 | 형식 | 설명 |
|---|---|---|
ref | string |
[
`git ref`
](/rest/git#get-a-reference) 리소스 분기, 또는 `null`은/는 `ref_type`이 `repository`일 경우.
ref_type|string | 리포지토리에서 만든 Git ref 개체의 형식입니다.
branch, tag 또는 repository일 수 있습니다.
| |
full_ref|string | 정규화된 ref 리소스입니다. 즉, 분기의 경우 형식은 refs/heads/<branch_name>입니다.
| |
master_branch|string | 리포지토리의 기본 분기 이름(일반적으로 main)입니다.
description|string | 리포지토리의 현재 설명입니다.
pusher_type|string |
user 또는 배포 키일 수도 있습니다.
이벤트 삭제
{데이터 재사용 가능 웹훅 삭제_짧은_설명}
이벤트 개체에는 모든 이벤트에 공통적인 속성이 포함됩니다. 각 이벤트 개체에는 payload 속성이 포함되며 값은 각 이벤트 유형에 고유합니다. 이 이벤트의 payload 개체는 아래에 설명되어 있습니다.
DeleteEvent의 이벤트 payload 개체
| 키 | 형식 | 설명 |
|---|---|---|
ref | string | 리소스 브랜치입니다 git ref . |
ref_type | string | 리포지토리에서 삭제된 Git ref 개체의 형식입니다. |
`branch` 또는 `tag` 중 하나일 수 있습니다.
| |
full_ref|string | 정규화된 ref 리소스입니다. 즉, 분기의 경우 형식은 refs/heads/<branch_name>입니다.
| |
pusher_type|string |
user 또는 배포 키일 수도 있습니다.
DiscussionEvent
데이터 재사용 가능 웹훅의 토론_짧은_설명 %}
이벤트 개체에는 모든 이벤트에 공통적인 속성이 포함됩니다. 각 이벤트 개체에는 payload 속성이 포함되며 값은 각 이벤트 유형에 고유합니다. 이 이벤트의 payload 개체는 아래에 설명되어 있습니다.
DiscussionEvent에 대한 이벤트 payload 객체
데이터 재활용 가능 웹훅 토론 속성 %}
포크이벤트 (ForkEvent)
사용자가 리포지토리를 포크합니다. 자세한 내용은 리포지토리에 대한 REST API 엔드포인트을(를) 참조하세요.
이벤트 개체에는 모든 이벤트에 공통적인 속성이 포함됩니다. 각 이벤트 개체에는 payload 속성이 포함되며 값은 각 이벤트 유형에 고유합니다. 이 이벤트의 payload 개체는 아래에 설명되어 있습니다.
ForkEvent의 payload 이벤트 객체
| 키 | Type | 설명 |
|---|---|---|
action | string | 수행된 작업입니다. forked일 수 있습니다. |
forkee | object | 생성된 repository 리소스입니다. |
GollumEvent
Wiki 페이지가 생성되었거나 업데이트되었습니다. 자세한 내용은 위키 정보을(를) 참조하세요.
이벤트 개체에는 모든 이벤트에 공통적인 속성이 포함됩니다. 각 이벤트 개체에는 payload 속성이 포함되며 값은 각 이벤트 유형에 고유합니다. 이 이벤트의 payload 개체는 아래에 설명되어 있습니다.
GollumEvent의 이벤트 객체 payload
| 키 | 형식 | 설명 |
|---|---|---|
pages | array | 업데이트된 페이지입니다. |
pages[][page_name] | string | 페이지의 이름입니다. |
pages[][title] | string | 현재 페이지 제목입니다. |
pages[][summary] | string | 페이지에 대한 선택적 참고 사항입니다. |
`null`일 수 있습니다.
pages[][action]|string | 페이지에서 수행된 작업입니다.
created 또는 edited일 수 있습니다.
pages[][sha]|string | 페이지의 최신 커밋 SHA입니다.
pages[][html_url]|string | HTML Wiki 페이지를 가리킵니다.
이슈 댓글 이벤트
데이터 재사용 가능.webhooks.issue_comment_short_desc %}
이벤트 개체에는 모든 이벤트에 공통적인 속성이 포함됩니다. 각 이벤트 개체에는 payload 속성이 포함되며 값은 각 이벤트 유형에 고유합니다. 이 이벤트의 payload 개체는 아래에 설명되어 있습니다.
IssueCommentEvent의 이벤트 payload 개체
| 키 | 형식 | 설명 |
|---|---|---|
action | string | 설명에 대해 수행된 작업입니다. |
`created`일 수 있습니다.
issue
|
object | 주석이 속한 문제입니다.
`comment`
|
`object` | [설명](/rest/issues#comments) 자체입니다.
이슈 이벤트
이슈와 관련된 작업입니다. 활동 유형은 페이로드 개체의 action 속성에서 지정됩니다. 자세한 내용은 이슈에 대한 REST API 엔드포인트. 항목을 참조하세요.
이벤트 개체에는 모든 이벤트에 공통적인 속성이 포함됩니다. 각 이벤트 개체에는 payload 속성이 포함되며 값은 각 이벤트 유형에 고유합니다. 이 이벤트의 payload 개체는 아래에 설명되어 있습니다.
IssuesEvent용 이벤트 payload 개체
| 키 | 형식 | 설명 |
|---|---|---|
action | string | 수행된 작업입니다. |
`opened`, `closed`, `reopened` 중 하나일 수 있습니다.
| |
issue
|
object | 이슈 자체입니다.
| | assignee|object | 문제에 할당되었거나 할당 해제된 선택적 사용자입니다.
`assignees`
|
`array` | 문제에 대한 담당자를 자세히 설명하는 담당자 개체의 선택적 배열입니다.
`label`
|
`object` | 이슈에서 추가 또는 제거된 선택적 레이블입니다.
`labels`
|
`array` | 문제에 대한 레이블을 설명하는 레이블 개체의 선택적 배열입니다.
| |
멤버 이벤트
데이터 재사용 가능 항목.webhooks.회원_간단_설명 %}
이벤트 개체에는 모든 이벤트에 공통적인 속성이 포함됩니다. 각 이벤트 개체에는 payload 속성이 포함되며 값은 각 이벤트 유형에 고유합니다. 이 이벤트의 payload 개체는 아래에 설명되어 있습니다.
MemberEvent의 이벤트 payload 객체
| 키 | 형식 | 설명 |
|---|---|---|
action | string | 수행된 작업입니다. 사용자가 리포지토리 초대를 수락했음을 나타내기 위해 added일 수 있습니다. |
member |
|
`object` | 추가된 [사용자](/rest/users)입니다.
공개 이벤트
프라이빗 리포지토리가 공개되는 경우.
PublicEvent의 이벤트 payload 개체
이 이벤트는 빈 payload 개체를 반환합니다.
PullRequestEvent
끌어오기 요청과 관련된 작업입니다. 활동 유형은 페이로드 개체의 action 속성에서 지정됩니다. 자세한 내용은 끌어오기 요청에 대한 REST API 엔드포인트 항목을 참조하세요.
이벤트 개체에는 모든 이벤트에 공통적인 속성이 포함됩니다. 각 이벤트 개체에는 payload 속성이 포함되며 값은 각 이벤트 유형에 고유합니다. 이 이벤트의 payload 개체는 아래에 설명되어 있습니다.
PullRequestEvent에 대한 이벤트 payload 개체
| 키 | 형식 | 설명 |
|---|---|---|
action | string | 수행된 작업입니다. |
`opened`, `closed`, `merged`, `reopened`, `assigned`, `unassigned`, `labeled` 또는 `unlabeled` 중 하나일 수 있습니다.
| |
number
|
integer | 끌어오기 요청 번호입니다.
`pull_request`
|
`object` | [끌어오기 요청](/rest/pulls) 자체입니다.
| | assignee|object | 문제에 할당되었거나 할당 해제된 선택적 사용자입니다.
`assignees`
|
`array` | 문제에 대한 담당자를 자세히 설명하는 담당자 개체의 선택적 배열입니다.
`label`
|
`object` | 작업이 `labeled` 또는 `unlabeled`였을 경우 문제에 추가되거나 제거된 선택적 레이블입니다.
`labels`
|
`array` | 작업이 `labeled` 또는 `unlabeled`인 경우 끌어오기 요청의 레이블을 설명하는 레이블 객체의 선택적 배열입니다.
| |
PullRequestReviewEvent
끌어오기 요청 검토와 관련된 활동입니다. 활동 유형은 페이로드 개체의 action 속성에서 지정됩니다. 자세한 내용은 끌어오기 요청에 대한 REST API 엔드포인트 항목을 참조하세요.
이벤트 개체에는 모든 이벤트에 공통적인 속성이 포함됩니다. 각 이벤트 개체에는 payload 속성이 포함되며 값은 각 이벤트 유형에 고유합니다. 이 이벤트의 payload 개체는 아래에 설명되어 있습니다.
PullRequestReviewEvent에 대한 이벤트 payload 개체
| Key | 유형 | Description |
|---|---|---|
action | string | 수행된 작업입니다. |
`created`, `updated` 또는 `dismissed`일 수 있습니다.
| |
pull_request|object | 검토와 관련된 끌어오기 요청 입니다.
review|object | 영향을 받은 검토 입니다.
PullRequestReviewCommentEvent
끌어오기 요청의 통합 차이에서 끌어오기 요청 검토 설명과 관련된 활동입니다. 활동 유형은 페이로드 개체의 action 속성에서 지정됩니다. 자세한 내용은 끌어오기 요청에 대한 REST API 엔드포인트 항목을 참조하세요.
이벤트 개체에는 모든 이벤트에 공통적인 속성이 포함됩니다. 각 이벤트 개체에는 payload 속성이 포함되며 값은 각 이벤트 유형에 고유합니다. 이 이벤트의 payload 개체는 아래에 설명되어 있습니다.
PullRequestReviewCommentEvent에 대한 이벤트 객체 payload
| 키 | 형식 | 설명 |
|---|---|---|
action | string | 설명에 대해 수행된 작업입니다. created일 수 있습니다. |
pull_request |
|
`object` | 커밋이 속한 [끌어오기 요청](/rest/pulls)입니다.
`comment`
|
`object` | [설명](/rest/pulls#comments) 자체입니다.
PushEvent
하나 이상의 커밋이 리포지토리 분기 또는 태그로 푸시됩니다.
이벤트 개체에는 모든 이벤트에 공통적인 속성이 포함됩니다. 각 이벤트 개체에는 payload 속성이 포함되며 값은 각 이벤트 유형에 고유합니다. 이 이벤트의 payload 개체는 아래에 설명되어 있습니다.
PushEvent에 대한 이벤트 payload 개체
| Key | 유형 | Description |
|---|---|---|
repository_id | integer | 푸시가 발생한 리포지토리의 고유 식별자입니다. |
push_id | integer | 푸시에 대한 고유 식별자입니다. |
ref | string | 푸시된 전체 git ref입니다. 예: refs/heads/main. |
head | string | 푸시 후 ref에 대한 가장 최근 커밋의 SHA입니다. |
before | string | 푸시 전 ref에 대한 가장 최근 커밋의 SHA입니다. |
출시 이벤트
릴리스와 관련된 작업입니다. 활동 유형은 페이로드 개체의 action 속성에서 지정됩니다. 자세한 내용은 릴리스 및 릴리스 자산에 대한 REST API 엔드포인트 REST API를 참조하세요.
이벤트 개체에는 모든 이벤트에 공통적인 속성이 포함됩니다. 각 이벤트 개체에는 payload 속성이 포함되며 값은 각 이벤트 유형에 고유합니다. 이 이벤트의 payload 개체는 아래에 설명되어 있습니다.
ReleaseEvent에 대한 이벤트 payload 개체
| 키 | 형식 | 설명 |
|---|---|---|
action | string | 수행된 작업입니다. published일 수 있습니다. |
release |
|
`object` | [릴리스](/rest/releases/releases#get-a-release) 개체입니다.
WatchEvent
누군가가 리포지토리에 별표를 지정할 때. 활동 유형은 페이로드 개체의 action 속성에서 지정됩니다. 자세한 내용은 활동에 대한 REST API 엔드포인트 항목을 참조하세요.
이벤트 개체에는 모든 이벤트에 공통적인 속성이 포함됩니다. 각 이벤트 개체에는 payload 속성이 포함되며 값은 각 이벤트 유형에 고유합니다. 이 이벤트의 payload 개체는 아래에 설명되어 있습니다.
WatchEvent의 payload 이벤트 객체
| 키 | 형식 | 설명 |
|---|---|---|
action | string | 수행된 작업입니다. 현재는 started만 될 수 있습니다. |