@@ -96,7 +96,27 @@ type Repository struct {
9696 Watchers int64 `json:"watchers"`
9797 DefaultBranch string `json:"default_branch"`
9898}
99-
99+ type Permissions struct {
100+ Administration string `json:"administration"`
101+ Checks string `json:"checks"`
102+ Contents string `json:"contents"`
103+ Deployments string `json:"deployments"`
104+ Issues string `json:"issues"`
105+ Members string `json:"members"`
106+ Metadata string `json:"metadata"`
107+ OrganizatonAdministration string `json:"organization_administration"`
108+ OrganizationHooks string `json:"organization_hooks"`
109+ OrganizationPlan string `json:"organization_plan"`
110+ OrganizationProjects string `json:"organization_projects"`
111+ OrganizationUserBlocking string `json:"organization_user_blocking"`
112+ Pages string `json:"pages"`
113+ PullRequests string `json:"pull_requests"`
114+ RepositoryHooks string `json:"repository_hooks"`
115+ RepositoryProjects string `json:"repository_projects"`
116+ Statuses string `json:"statuses"`
117+ TeamDiscussion string `json:"team_discussions"`
118+ VulnerabilityAlerts string `json:"vulnerability_alerts"`
119+ }
100120type Installation struct {
101121 ID int64 `json:"id"`
102122 NodeID string `json:"node_id"`
@@ -149,34 +169,14 @@ type CheckApp struct {
149169 Type string `json:"type"`
150170 SiteAdmin bool `json:"site_admin"`
151171 } `json:"owner"`
152- Name string `json:"name"`
153- Description string `json:"description"`
154- ExternalURL string `json:"external_url"`
155- HtmlURL string `json:"html_url"`
156- CreatedAt string `json:"created_at"`
157- UpdatedAt string `json:"updated_at"`
158- Permissions struct {
159- Administration string `json:"administration"`
160- Checks string `json:"checks"`
161- Contents string `json:"contents"`
162- Deployments string `json:"deployments"`
163- Issues string `json:"issues"`
164- Members string `json:"members"`
165- Metadata string `json:"metadata"`
166- OrganizatonAdministration string `json:"organization_administration"`
167- OrganizationHooks string `json:"organization_hooks"`
168- OrganizationPlan string `json:"organization_plan"`
169- OrganizationProjects string `json:"organization_projects"`
170- OrganizationUserBlocking string `json:"organization_user_blocking"`
171- Pages string `json:"pages"`
172- PullRequests string `json:"pull_requests"`
173- RepositoryHooks string `json:"repository_hooks"`
174- RepositoryProjects string `json:"repository_projects"`
175- Statuses string `json:"statuses"`
176- TeamDiscussion string `json:"team_discussions"`
177- VulnerabilityAlerts string `json:"vulnerability_alerts"`
178- } `json:"permissions"`
179- Events []string `json:"events"` //TODO: check
172+ Name string `json:"name"`
173+ Description string `json:"description"`
174+ ExternalURL string `json:"external_url"`
175+ HtmlURL string `json:"html_url"`
176+ CreatedAt string `json:"created_at"`
177+ UpdatedAt string `json:"updated_at"`
178+ Permissions Permissions `json:"permissions"`
179+ Events []string `json:"events"` //TODO: check
180180}
181181type CheckRunPayload struct {
182182 Action string `json:"action"`
@@ -738,8 +738,7 @@ type GollumPayload struct {
738738type InstallationPayload struct {
739739 Action string `json:"action"`
740740 Installation struct {
741- ID int64 `json:"id"`
742- NodeID string `json:"node_id"`
741+ ID int64 `json:"id"`
743742 Account struct {
744743 Login string `json:"login"`
745744 ID int64 `json:"id"`
@@ -767,22 +766,19 @@ type InstallationPayload struct {
767766 AppID int `json:"app_id"`
768767 TargetID int `json:"target_id"`
769768 TargetType string `json:"target_type"`
770- Permissions struct {
771- Issues string `json:"issues"`
772- Metadata string `json:"metadata"`
773- PullRequests string `json:"pull_requests"`
774- RepositoryProjects string `json:"repository_projects"`
775- } `json:"permissions"`
776- Events []string `json:"events"`
777- CreatedAt int64 `json:"created_at"`
778- UpdatedAt int64 `json:"updated_at"`
779- SingleFileName * string `json:"single_file_name"`
769+ //TODO check, assuming installation permissions are the same as those defined in
770+ //App object for CheckRun and CheckSuite
771+ Permissions Permissions `json:"permissions"`
772+ Events []string `json:"events"`
773+ CreatedAt int64 `json:"created_at"`
774+ UpdatedAt int64 `json:"updated_at"`
775+ SingleFileName * string `json:"single_file_name"`
780776 } `json:"installation"`
781777 Repositories []struct {
782778 ID int64 `json:"id"`
783- NodeID string `json:"node_id"`
784779 Name string `json:"name"`
785780 FullName string `json:"full_name"`
781+ Private bool `json:"private"`
786782 } `json:"repositories"`
787783 Sender struct {
788784 Login string `json:"login"`
@@ -808,10 +804,10 @@ type InstallationPayload struct {
808804
809805// InstallationRepositoriesPayload contains the information for GitHub's installation_repositories hook events
810806type InstallationRepositoriesPayload struct {
811- Action string `json:"action"`
812- Installation struct {
813- ID int64 `json:"id"`
814- NodeID string `json:"node_id "`
807+ Action string `json:"action"`
808+ RepositorySelection string `json:"repository_selection"`
809+ Installation struct {
810+ ID int64 `json:"id "`
815811 Account struct {
816812 Login string `json:"login"`
817813 ID int64 `json:"id"`
@@ -832,28 +828,18 @@ type InstallationRepositoriesPayload struct {
832828 Type string `json:"type"`
833829 SiteAdmin bool `json:"site_admin"`
834830 } `json:"account"`
835- RepositorySelection string `json:"repository_selection"`
836- AccessTokensURL string `json:"access_tokens_url"`
837- RepositoriesURL string `json:"repositories_url"`
838- HTMLURL string `json:"html_url"`
839- AppID int `json:"app_id"`
840- TargetID int `json:"target_id"`
841- TargetType string `json:"target_type"`
842- Permissions struct {
843- Issues string `json:"issues"`
844- Metadata string `json:"metadata"`
845- PullRequests string `json:"pull_requests"`
846- RepositoryProjects string `json:"repository_projects"`
847- VulnerabilityAlerts string `json:"vulnerability_alerts"`
848- Statuses string `json:"statuses"`
849- Administration string `json:"administration"`
850- Deployments string `json:"deployments"`
851- Contents string `json:"contents"`
852- } `json:"permissions"`
853- Events []string `json:"events"`
854- CreatedAt int64 `json:"created_at"`
855- UpdatedAt int64 `json:"updated_at"`
856- SingleFileName * string `json:"single_file_name"`
831+ RepositorySelection string `json:"repository_selection"`
832+ AccessTokensURL string `json:"access_tokens_url"`
833+ RepositoriesURL string `json:"repositories_url"`
834+ HTMLURL string `json:"html_url"`
835+ AppID int `json:"app_id"`
836+ TargetID int `json:"target_id"`
837+ TargetType string `json:"target_type"`
838+ Permissions Permissions `json:"permissions"`
839+ Events []string `json:"events"`
840+ CreatedAt int64 `json:"created_at"`
841+ UpdatedAt int64 `json:"updated_at"`
842+ SingleFileName * string `json:"single_file_name"`
857843 } `json:"installation"`
858844 RepositoriesAdded []struct {
859845 ID int64 `json:"id"`
0 commit comments