이벤트 API는 GitHub에서 활동에 의해 트리거되는 다양한 유형의 이벤트를 반환할 수 있습니다. 각 이벤트 응답에는 공유 속성이 포함되어 있지만 해당 이벤트 유형에 따라 결정되는 고유한 payload
개체가 있습니다. Event 개체 공통 속성은 모든 이벤트에서 공유하는 속성을 설명하고 각 이벤트 유형은 특정 이벤트에 고유한 payload
속성을 설명합니다.
이벤트 개체 공통 속성
이벤트 API 엔드포인트에서 반환된 이벤트 개체의 구조는 동일합니다.
이벤트 API 특성 이름 | Type | 설명 |
---|---|---|
id | string | 이벤트에 대한 고유 식별자입니다. |
type | string | 이벤트의 유형입니다. 이벤트는 이름에 PascalCase를 사용합니다. |
actor | object | 이벤트를 트리거한 사용자입니다. |
actor.id | string | 작업자의 고유 식별자입니다. |
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 | string | 리포지토리의 고유 식별자입니다. |
repo.name | string | 리포지토리의 이름으로, 여기에는 소유자 및 리포지토리 이름이 포함되어 있습니다. 예를 들어 octocat/hello-world 는 octocat 개인 계정이 소유한 hello-world 리포지토리의 이름입니다. |
repo.url | string | 추가 리포지토리 정보가 포함된 리포지토리 개체를 검색하는 데 사용되는 REST API URL입니다. |
payload | object | 이벤트 페이로드 개체는 이벤트 유형에 고유합니다. 이벤트 API payload 개체는 아래 이벤트 유형을 참조하세요. |
public | boolean | 이벤트가 모든 사용자에게 표시되는지 여부입니다. |
created_at | string | 이벤트가 트리거된 날짜 및 시간입니다. ISO 8601에 따라 형식이 지정됩니다. |
org | object | 이벤트를 트리거하는 작업을 수행하기 위해 행위자가 선택한 조직입니다. 속성은 해당되는 경우에만 이벤트 개체에 나타납니다. |
org.id | string | 조직의 고유 식별자입니다. |
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"
[
{
"type": "WatchEvent",
"public": false,
"payload": {
},
"repo": {
"id": 3,
"name": "octocat/Hello-World",
"url": "https://api.github.com/repos/octocat/Hello-World"
},
"actor": {
"id": 1,
"login": "octocat",
"gravatar_id": "",
"avatar_url": "https://github.com/images/error/octocat_happy.gif",
"url": "https://api.github.com/users/octocat"
},
"org": {
"id": 1,
"login": "github",
"gravatar_id": "",
"url": "https://api.github.com/orgs/github",
"avatar_url": "https://github.com/images/error/octocat_happy.gif"
},
"created_at": "2011-09-06T17:26:27Z",
"id": "12345"
}
]
CommitCommentEvent
커밋 주석이 생성되었습니다. 활동 유형은 페이로드 개체의 action
속성에서 지정됩니다. 자세한 내용은 "커밋 주석에 대한 REST API 엔드포인트" 항목을 참조하세요.
이벤트 개체에는 모든 이벤트에 공통적인 속성이 포함됩니다. 각 이벤트 개체에는 payload
속성이 포함되며 값은 각 이벤트 유형에 고유합니다. 이 이벤트의 payload
개체는 아래에 설명되어 있습니다.
CommitCommentEvent에 대한 이벤트 payload
개체
키 | 형식 | 설명 |
---|---|---|
action | string | 수행된 작업입니다. created 일 수 있습니다. |
comment | object | 커밋 주석 리소스입니다. |
CreateEvent
Git 분기 또는 태그가 생성되었습니다. 자세한 내용은 "Git 데이터베이스에 대한 REST API 엔드포인트"을(를) 참조하세요.
이벤트 개체에는 모든 이벤트에 공통적인 속성이 포함됩니다. 각 이벤트 개체에는 payload
속성이 포함되며 값은 각 이벤트 유형에 고유합니다. 이 이벤트의 payload
개체는 아래에 설명되어 있습니다.
CreateEvent에 대한 이벤트 payload
개체
키 | 형식 | 설명 |
---|---|---|
ref | string | git ref 리소스입니다. ref_type 이 repository 인 경우 null 입니다. |
ref_type | string | 리포지토리에서 만든 Git ref 개체의 형식입니다. branch , tag 또는 repository 일 수 있습니다. |
master_branch | string | 리포지토리의 기본 분기 이름(일반적으로 main )입니다. |
description | string | 리포지토리의 현재 설명입니다. |
pusher_type | string | user 또는 배포 키일 수도 있습니다. |
DeleteEvent
Git 분기 또는 태그가 삭제되었습니다. 자세한 내용은 "Git 데이터베이스에 대한 REST API 엔드포인트" REST API를 참조하세요.
이벤트 개체에는 모든 이벤트에 공통적인 속성이 포함됩니다. 각 이벤트 개체에는 payload
속성이 포함되며 값은 각 이벤트 유형에 고유합니다. 이 이벤트의 payload
개체는 아래에 설명되어 있습니다.
DeleteEvent에 대한 이벤트 payload
개체
키 | 형식 | 설명 |
---|---|---|
ref | string | git ref 리소스입니다. |
ref_type | string | 리포지토리에서 삭제된 Git ref 개체의 형식입니다. branch 또는 tag 중 하나일 수 있습니다. |
ForkEvent
사용자가 리포지토리를 포크합니다. 자세한 내용은 "리포지토리에 대한 REST API 엔드포인트"을(를) 참조하세요.
이벤트 개체에는 모든 이벤트에 공통적인 속성이 포함됩니다. 각 이벤트 개체에는 payload
속성이 포함되며 값은 각 이벤트 유형에 고유합니다. 이 이벤트의 payload
개체는 아래에 설명되어 있습니다.
ForkEvent에 대한 이벤트 payload
개체
키 | 형식 | 설명 |
---|---|---|
forkee | object | 만든 repository 리소스입니다. |
GollumEvent
Wiki 페이지가 생성되었거나 업데이트되었습니다. 자세한 내용은 "위키 정보"을(를) 참조하세요.
이벤트 개체에는 모든 이벤트에 공통적인 속성이 포함됩니다. 각 이벤트 개체에는 payload
속성이 포함되며 값은 각 이벤트 유형에 고유합니다. 이 이벤트의 payload
개체는 아래에 설명되어 있습니다.
GollumEvent에 대한 이벤트 payload
개체
키 | 형식 | 설명 |
---|---|---|
pages | array | 업데이트된 페이지입니다. |
pages[][page_name] | string | 페이지의 이름입니다. |
pages[][title] | string | 현재 페이지 제목입니다. |
pages[][action] | string | 페이지에서 수행된 작업입니다. created 또는 edited 일 수 있습니다. |
pages[][sha] | string | 페이지의 최신 커밋 SHA입니다. |
pages[][html_url] | string | HTML Wiki 페이지를 가리킵니다. |
IssueCommentEvent
문제 또는 끌어오기 요청 설명과 관련된 활동입니다. 활동 유형은 페이로드 개체의 action
속성에서 지정됩니다. 자세한 내용은 "이슈에 대한 REST API 엔드포인트" 항목을 참조하세요.
이벤트 개체에는 모든 이벤트에 공통적인 속성이 포함됩니다. 각 이벤트 개체에는 payload
속성이 포함되며 값은 각 이벤트 유형에 고유합니다. 이 이벤트의 payload
개체는 아래에 설명되어 있습니다.
IssueCommentEvent에 대한 이벤트 payload
개체
키 | 형식 | 설명 |
---|---|---|
action | string | 설명에 대해 수행된 작업입니다. created , edited 또는 deleted 중 하나일 수 있습니다. |
changes | object | 작업이 edited 인 경우 주석에 대한 변경 내용입니다. |
changes[body][from] | string | 작업이 edited 인 경우 본문의 이전 버전입니다. |
issue | object | 주석이 속한 문제입니다. |
comment | object | 설명 자체입니다. |
IssuesEvent
이슈와 관련된 작업입니다. 활동 유형은 페이로드 개체의 action
속성에서 지정됩니다. 자세한 내용은 "이슈에 대한 REST API 엔드포인트" 항목을 참조하세요.
이벤트 개체에는 모든 이벤트에 공통적인 속성이 포함됩니다. 각 이벤트 개체에는 payload
속성이 포함되며 값은 각 이벤트 유형에 고유합니다. 이 이벤트의 payload
개체는 아래에 설명되어 있습니다.
IssuesEvent에 대한 이벤트 payload
개체
키 | 형식 | 설명 |
---|---|---|
action | string | 수행된 작업입니다. opened , edited , closed , reopened , assigned , unassigned , labeled 또는 unlabeled 중 하나일 수 있습니다. |
issue | object | 이슈 자체입니다. |
changes | object | 작업이 edited 인 경우 이슈에 대한 변경 사항입니다. |
changes[title][from] | string | 작업이 edited 인 경우 제목의 이전 버전입니다. |
changes[body][from] | string | 작업이 edited 인 경우 본문의 이전 버전입니다. |
assignee | object | 문제에서 할당되거나 할당되지 않은 선택적 사용자입니다. |
label | object | 이슈에서 추가 또는 제거된 선택적 레이블입니다. |
MemberEvent
리포지토리 협력자 관련 작업입니다. 활동 유형은 페이로드 개체의 action
속성에서 지정됩니다. 자세한 내용은 "협업자에 대한 REST API 엔드포인트" 항목을 참조하세요.
이벤트 개체에는 모든 이벤트에 공통적인 속성이 포함됩니다. 각 이벤트 개체에는 payload
속성이 포함되며 값은 각 이벤트 유형에 고유합니다. 이 이벤트의 payload
개체는 아래에 설명되어 있습니다.
MemberEvent에 대한 이벤트 payload
개체
키 | 형식 | 설명 |
---|---|---|
action | string | 수행된 작업입니다. 사용자가 리포지토리 초대를 수락했음을 나타내기 위해 added 일 수 있습니다. |
member | object | 추가된 사용자입니다. |
changes | object | 작업이 edited 인 경우 협력자 권한에 대한 변경 사항입니다. |
changes[old_permission][from] | string | 작업이 edited 인 경우 협력자의 이전 사용 권한입니다. |
PublicEvent
프라이빗 리포지토리가 공개되는 경우. 의심의 여지없이 최고의 GitHub 이벤트입니다.
PublicEvent에 대한 이벤트 payload
개체
이 이벤트는 빈 payload
개체를 반환합니다.
PullRequestEvent
끌어오기 요청과 관련된 작업입니다. 활동 유형은 페이로드 개체의 action
속성에서 지정됩니다. 자세한 내용은 "끌어오기 요청에 대한 REST API 엔드포인트" 항목을 참조하세요.
이벤트 개체에는 모든 이벤트에 공통적인 속성이 포함됩니다. 각 이벤트 개체에는 payload
속성이 포함되며 값은 각 이벤트 유형에 고유합니다. 이 이벤트의 payload
개체는 아래에 설명되어 있습니다.
PullRequestEvent에 대한 이벤트 payload
개체
키 | 형식 | 설명 |
---|---|---|
action | string | 수행된 작업입니다. opened , edited , closed , reopened , assigned , unassigned , review_requested , review_request_removed , labeled , unlabeled , synchronize 중 하나일 수 있습니다. |
number | integer | 끌어오기 요청 번호입니다. |
changes | object | 작업이 edited 인 경우 커밋에 대한 변경 내용입니다. |
changes[title][from] | string | 작업이 edited 인 경우 제목의 이전 버전입니다. |
changes[body][from] | string | 작업이 edited 인 경우 본문의 이전 버전입니다. |
pull_request | object | 끌어오기 요청 자체입니다. |
reason | string | 작업이 dequeued 인 경우 통합 큐에서 끌어오기 요청이 제거된 이유입니다. |
PullRequestReviewEvent
끌어오기 요청 검토와 관련된 활동입니다. 활동 유형은 페이로드 개체의 action
속성에서 지정됩니다. 자세한 내용은 "끌어오기 요청에 대한 REST API 엔드포인트" 항목을 참조하세요.
이벤트 개체에는 모든 이벤트에 공통적인 속성이 포함됩니다. 각 이벤트 개체에는 payload
속성이 포함되며 값은 각 이벤트 유형에 고유합니다. 이 이벤트의 payload
개체는 아래에 설명되어 있습니다.
PullRequestReviewEvent에 대한 이벤트 payload
개체
키 | 형식 | 설명 |
---|---|---|
action | string | 수행된 작업입니다. created 일 수 있습니다. |
pull_request | object | 검토와 관련된 끌어오기 요청입니다. |
review | object | 영향을 받은 검토입니다. |
PullRequestReviewCommentEvent
끌어오기 요청의 통합 차이에서 끌어오기 요청 검토 설명과 관련된 활동입니다. 활동 유형은 페이로드 개체의 action
속성에서 지정됩니다. 자세한 내용은 "끌어오기 요청에 대한 REST API 엔드포인트" 항목을 참조하세요.
이벤트 개체에는 모든 이벤트에 공통적인 속성이 포함됩니다. 각 이벤트 개체에는 payload
속성이 포함되며 값은 각 이벤트 유형에 고유합니다. 이 이벤트의 payload
개체는 아래에 설명되어 있습니다.
PullRequestReviewCommentEvent에 대한 이벤트 payload
개체
키 | 형식 | 설명 |
---|---|---|
action | string | 설명에 대해 수행된 작업입니다. created 일 수 있습니다. |
changes | object | 작업이 edited 인 경우 커밋에 대한 변경 내용입니다. |
changes[body][from] | string | 작업이 edited 인 경우 본문의 이전 버전입니다. |
pull_request | object | 커밋이 속한 끌어오기 요청입니다. |
comment | object | 설명 자체입니다. |
PullRequestReviewThreadEvent
끌어오기 요청이 해결됨 또는 해결되지 않음으로 표시되는 주석 스레드와 관련된 작업입니다. 활동 유형은 페이로드 개체의 action
속성에서 지정됩니다.
이벤트 개체에는 모든 이벤트에 공통적인 속성이 포함됩니다. 각 이벤트 개체에는 payload
속성이 포함되며 값은 각 이벤트 유형에 고유합니다. 이 이벤트의 payload
개체는 아래에 설명되어 있습니다.
PullRequestReviewThreadEvent에 대한 이벤트 payload
개체
키 | 형식 | 설명 |
---|---|---|
action | string | 수행된 작업입니다. 다음 중 하나일 수 있습니다.
|
pull_request | object | 스레드와 관련된 끌어오기 요청입니다. |
thread | object | 영향을 받은 스레드입니다. |
PushEvent
하나 이상의 커밋이 리포지토리 분기 또는 태그로 푸시됩니다.
이벤트 개체에는 모든 이벤트에 공통적인 속성이 포함됩니다. 각 이벤트 개체에는 payload
속성이 포함되며 값은 각 이벤트 유형에 고유합니다. 이 이벤트의 payload
개체는 아래에 설명되어 있습니다.
PushEvent에 대한 이벤트 payload
개체
키 | 형식 | 설명 |
---|---|---|
push_id | integer | 푸시의 고유 식별자입니다. |
size | integer | 푸시의 커밋 수입니다. |
distinct_size | integer | 푸시의 고유 커밋 수입니다. |
ref | string | 푸시된 전체 git ref 입니다. 예: refs/heads/main |
head | string | 푸시 후 ref 에 대한 가장 최근 커밋의 SHA입니다. |
before | string | 푸시 후 ref 에 대한 가장 최근 커밋의 SHA입니다. |
commits | array | 푸시된 커밋을 설명하는 커밋 개체의 배열. (배열에는 최대 20개의 커밋이 포함됩니다. 필요한 경우 커밋 API를 사용하여 추가 커밋을 가져올 수 있습니다. 이 제한은 타임라인 이벤트에만 적용되며 웹후크 배달에는 적용되지 않습니다.) |
commits[][sha] | string | 커밋의 SHA입니다. |
commits[][message] | string | 커밋 메시지. |
commits[][author] | object | 커밋의 git 작성자. |
commits[][author][name] | string | git 작성자의 이름. |
commits[][author][email] | string | git 작성자의 메일 주소입니다. |
commits[][url] | url | 커밋 API 리소스를 가리키는 URL. |
commits[][distinct] | boolean | 이 커밋이 이전에 푸시된 커밋과 구별되는지 여부. |
ReleaseEvent
릴리스와 관련된 작업입니다. 활동 유형은 페이로드 개체의 action
속성에서 지정됩니다. 자세한 내용은 "릴리스 및 릴리스 자산에 대한 REST API 엔드포인트" REST API를 참조하세요.
이벤트 개체에는 모든 이벤트에 공통적인 속성이 포함됩니다. 각 이벤트 개체에는 payload
속성이 포함되며 값은 각 이벤트 유형에 고유합니다. 이 이벤트의 payload
개체는 아래에 설명되어 있습니다.
ReleaseEvent에 대한 이벤트 payload
개체
키 | 형식 | 설명 |
---|---|---|
action | string | 수행된 작업입니다. published 일 수 있습니다. |
changes[body][from] | string | 작업이 edited 인 경우 본문의 이전 버전입니다. |
changes[name][from] | string | 작업이 edited 인 경우 이름의 이전 버전입니다. |
release | object | 릴리스 개체입니다. |
SponsorshipEvent
스폰서쉽 목록과 관련된 활동입니다. 활동 유형은 페이로드 개체의 action
속성에서 지정됩니다. 자세한 내용은 "GitHub 스폰서 정보" 항목을 참조하세요.
SponsorshipEvent에 대한 이벤트 payload
개체
키 | 형식 | 설명 |
---|---|---|
action | string | 수행된 작업입니다. 이 매개 변수는 created 이 될 수 있습니다. |
effective_date | string | pending_cancellation 및 pending_tier_change 이벤트 유형에는 취소 또는 계층 변경이 적용되는 날짜가 포함됩니다. |
changes[tier][from] | object | tier_changed 및 pending_tier_change 에는 변경 또는 보류 중인 변경 전 원래 계층이 포함됩니다. 자세한 내용은 보류 중인 계층 변경 페이로드를 참조하세요. |
changes[privacy_level][from] | string | edited 이벤트 유형에는 누군가가 스폰서쉽을 편집하여 개인 정보를 변경할 때 변경에 대한 세부 정보가 포함됩니다. |
WatchEvent
누군가가 리포지토리에 별표를 지정할 때. 활동 유형은 페이로드 개체의 action
속성에서 지정됩니다. 자세한 내용은 "활동에 대한 REST API 엔드포인트" 항목을 참조하세요.
이벤트 개체에는 모든 이벤트에 공통적인 속성이 포함됩니다. 각 이벤트 개체에는 payload
속성이 포함되며 값은 각 이벤트 유형에 고유합니다. 이 이벤트의 payload
개체는 아래에 설명되어 있습니다.
WatchEvent에 대한 이벤트 payload
개체
키 | 형식 | 설명 |
---|---|---|
action | string | 수행된 작업입니다. 현재는 started 만 될 수 있습니다. |