123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752 |
- // Copyright 2016 The go-github AUTHORS. All rights reserved.
- //
- // Use of this source code is governed by a BSD-style
- // license that can be found in the LICENSE file.
- // These event types are shared between the Events API and used as Webhook payloads.
- package github
- // CommitCommentEvent is triggered when a commit comment is created.
- // The Webhook event name is "commit_comment".
- //
- // GitHub API docs: https://developer.github.com/v3/activity/events/types/#commitcommentevent
- type CommitCommentEvent struct {
- Comment *RepositoryComment `json:"comment,omitempty"`
- // The following fields are only populated by Webhook events.
- Action *string `json:"action,omitempty"`
- Repo *Repository `json:"repository,omitempty"`
- Sender *User `json:"sender,omitempty"`
- Installation *Installation `json:"installation,omitempty"`
- }
- // CreateEvent represents a created repository, branch, or tag.
- // The Webhook event name is "create".
- //
- // Note: webhooks will not receive this event for created repositories.
- // Additionally, webhooks will not receive this event for tags if more
- // than three tags are pushed at once.
- //
- // GitHub API docs: https://developer.github.com/v3/activity/events/types/#createevent
- type CreateEvent struct {
- Ref *string `json:"ref,omitempty"`
- // RefType is the object that was created. Possible values are: "repository", "branch", "tag".
- RefType *string `json:"ref_type,omitempty"`
- MasterBranch *string `json:"master_branch,omitempty"`
- Description *string `json:"description,omitempty"`
- // The following fields are only populated by Webhook events.
- PusherType *string `json:"pusher_type,omitempty"`
- Repo *Repository `json:"repository,omitempty"`
- Sender *User `json:"sender,omitempty"`
- Installation *Installation `json:"installation,omitempty"`
- }
- // DeleteEvent represents a deleted branch or tag.
- // The Webhook event name is "delete".
- //
- // Note: webhooks will not receive this event for tags if more than three tags
- // are deleted at once.
- //
- // GitHub API docs: https://developer.github.com/v3/activity/events/types/#deleteevent
- type DeleteEvent struct {
- Ref *string `json:"ref,omitempty"`
- // RefType is the object that was deleted. Possible values are: "branch", "tag".
- RefType *string `json:"ref_type,omitempty"`
- // The following fields are only populated by Webhook events.
- PusherType *string `json:"pusher_type,omitempty"`
- Repo *Repository `json:"repository,omitempty"`
- Sender *User `json:"sender,omitempty"`
- Installation *Installation `json:"installation,omitempty"`
- }
- // DeploymentEvent represents a deployment.
- // The Webhook event name is "deployment".
- //
- // Events of this type are not visible in timelines, they are only used to trigger hooks.
- //
- // GitHub API docs: https://developer.github.com/v3/activity/events/types/#deploymentevent
- type DeploymentEvent struct {
- Deployment *Deployment `json:"deployment,omitempty"`
- Repo *Repository `json:"repository,omitempty"`
- // The following fields are only populated by Webhook events.
- Sender *User `json:"sender,omitempty"`
- Installation *Installation `json:"installation,omitempty"`
- }
- // DeploymentStatusEvent represents a deployment status.
- // The Webhook event name is "deployment_status".
- //
- // Events of this type are not visible in timelines, they are only used to trigger hooks.
- //
- // GitHub API docs: https://developer.github.com/v3/activity/events/types/#deploymentstatusevent
- type DeploymentStatusEvent struct {
- Deployment *Deployment `json:"deployment,omitempty"`
- DeploymentStatus *DeploymentStatus `json:"deployment_status,omitempty"`
- Repo *Repository `json:"repository,omitempty"`
- // The following fields are only populated by Webhook events.
- Sender *User `json:"sender,omitempty"`
- Installation *Installation `json:"installation,omitempty"`
- }
- // ForkEvent is triggered when a user forks a repository.
- // The Webhook event name is "fork".
- //
- // GitHub API docs: https://developer.github.com/v3/activity/events/types/#forkevent
- type ForkEvent struct {
- // Forkee is the created repository.
- Forkee *Repository `json:"forkee,omitempty"`
- // The following fields are only populated by Webhook events.
- Repo *Repository `json:"repository,omitempty"`
- Sender *User `json:"sender,omitempty"`
- Installation *Installation `json:"installation,omitempty"`
- }
- // Page represents a single Wiki page.
- type Page struct {
- PageName *string `json:"page_name,omitempty"`
- Title *string `json:"title,omitempty"`
- Summary *string `json:"summary,omitempty"`
- Action *string `json:"action,omitempty"`
- SHA *string `json:"sha,omitempty"`
- HTMLURL *string `json:"html_url,omitempty"`
- }
- // GollumEvent is triggered when a Wiki page is created or updated.
- // The Webhook event name is "gollum".
- //
- // GitHub API docs: https://developer.github.com/v3/activity/events/types/#gollumevent
- type GollumEvent struct {
- Pages []*Page `json:"pages,omitempty"`
- // The following fields are only populated by Webhook events.
- Repo *Repository `json:"repository,omitempty"`
- Sender *User `json:"sender,omitempty"`
- Installation *Installation `json:"installation,omitempty"`
- }
- // EditChange represents the changes when an issue, pull request, or comment has
- // been edited.
- type EditChange struct {
- Title *struct {
- From *string `json:"from,omitempty"`
- } `json:"title,omitempty"`
- Body *struct {
- From *string `json:"from,omitempty"`
- } `json:"body,omitempty"`
- }
- // ProjectChange represents the changes when a project has been edited.
- type ProjectChange struct {
- Name *struct {
- From *string `json:"from,omitempty"`
- } `json:"name,omitempty"`
- Body *struct {
- From *string `json:"from,omitempty"`
- } `json:"body,omitempty"`
- }
- // ProjectCardChange represents the changes when a project card has been edited.
- type ProjectCardChange struct {
- Note *struct {
- From *string `json:"from,omitempty"`
- } `json:"note,omitempty"`
- }
- // ProjectColumnChange represents the changes when a project column has been edited.
- type ProjectColumnChange struct {
- Name *struct {
- From *string `json:"from,omitempty"`
- } `json:"name,omitempty"`
- }
- // TeamChange represents the changes when a team has been edited.
- type TeamChange struct {
- Description *struct {
- From *string `json:"from,omitempty"`
- } `json:"description,omitempty"`
- Name *struct {
- From *string `json:"from,omitempty"`
- } `json:"name,omitempty"`
- Privacy *struct {
- From *string `json:"from,omitempty"`
- } `json:"privacy,omitempty"`
- Repository *struct {
- Permissions *struct {
- From *struct {
- Admin *bool `json:"admin,omitempty"`
- Pull *bool `json:"pull,omitempty"`
- Push *bool `json:"push,omitempty"`
- } `json:"from,omitempty"`
- } `json:"permissions,omitempty"`
- } `json:"repository,omitempty"`
- }
- // InstallationEvent is triggered when a GitHub App has been installed or uninstalled.
- // The Webhook event name is "installation".
- //
- // GitHub API docs: https://developer.github.com/v3/activity/events/types/#installationevent
- type InstallationEvent struct {
- // The action that was performed. Can be either "created" or "deleted".
- Action *string `json:"action,omitempty"`
- Sender *User `json:"sender,omitempty"`
- Installation *Installation `json:"installation,omitempty"`
- }
- // InstallationRepositoriesEvent is triggered when a repository is added or
- // removed from an installation. The Webhook event name is "installation_repositories".
- //
- // GitHub API docs: https://developer.github.com/v3/activity/events/types/#installationrepositoriesevent
- type InstallationRepositoriesEvent struct {
- // The action that was performed. Can be either "added" or "removed".
- Action *string `json:"action,omitempty"`
- RepositoriesAdded []*Repository `json:"repositories_added,omitempty"`
- RepositoriesRemoved []*Repository `json:"repositories_removed,omitempty"`
- RepositorySelection *string `json:"repository_selection,omitempty"`
- Sender *User `json:"sender,omitempty"`
- Installation *Installation `json:"installation,omitempty"`
- }
- // IssueCommentEvent is triggered when an issue comment is created on an issue
- // or pull request.
- // The Webhook event name is "issue_comment".
- //
- // GitHub API docs: https://developer.github.com/v3/activity/events/types/#issuecommentevent
- type IssueCommentEvent struct {
- // Action is the action that was performed on the comment.
- // Possible values are: "created", "edited", "deleted".
- Action *string `json:"action,omitempty"`
- Issue *Issue `json:"issue,omitempty"`
- Comment *IssueComment `json:"comment,omitempty"`
- // The following fields are only populated by Webhook events.
- Changes *EditChange `json:"changes,omitempty"`
- Repo *Repository `json:"repository,omitempty"`
- Sender *User `json:"sender,omitempty"`
- Installation *Installation `json:"installation,omitempty"`
- }
- // IssuesEvent is triggered when an issue is assigned, unassigned, labeled,
- // unlabeled, opened, closed, or reopened.
- // The Webhook event name is "issues".
- //
- // GitHub API docs: https://developer.github.com/v3/activity/events/types/#issuesevent
- type IssuesEvent struct {
- // Action is the action that was performed. Possible values are: "assigned",
- // "unassigned", "labeled", "unlabeled", "opened", "closed", "reopened", "edited".
- Action *string `json:"action,omitempty"`
- Issue *Issue `json:"issue,omitempty"`
- Assignee *User `json:"assignee,omitempty"`
- Label *Label `json:"label,omitempty"`
- // The following fields are only populated by Webhook events.
- Changes *EditChange `json:"changes,omitempty"`
- Repo *Repository `json:"repository,omitempty"`
- Sender *User `json:"sender,omitempty"`
- Installation *Installation `json:"installation,omitempty"`
- }
- // LabelEvent is triggered when a repository's label is created, edited, or deleted.
- // The Webhook event name is "label"
- //
- // GitHub API docs: https://developer.github.com/v3/activity/events/types/#labelevent
- type LabelEvent struct {
- // Action is the action that was performed. Possible values are:
- // "created", "edited", "deleted"
- Action *string `json:"action,omitempty"`
- Label *Label `json:"label,omitempty"`
- // The following fields are only populated by Webhook events.
- Changes *EditChange `json:"changes,omitempty"`
- Repo *Repository `json:"repository,omitempty"`
- Org *Organization `json:"organization,omitempty"`
- Installation *Installation `json:"installation,omitempty"`
- }
- // MarketplacePurchaseEvent is triggered when a user purchases, cancels, or changes
- // their GitHub Marketplace plan.
- // Webhook event name "marketplace_purchase".
- //
- // Github API docs: https://developer.github.com/v3/activity/events/types/#marketplacepurchaseevent
- type MarketplacePurchaseEvent struct {
- // Action is the action that was performed. Possible values are:
- // "purchased", "cancelled", "changed".
- Action *string `json:"action,omitempty"`
- // The following fields are only populated by Webhook events.
- EffectiveDate *Timestamp `json:"effective_date,omitempty"`
- MarketplacePurchase *MarketplacePurchase `json:"marketplace_purchase,omitempty"`
- PreviousMarketplacePurchase *MarketplacePurchase `json:"previous_marketplace_purchase,omitempty"`
- Sender *User `json:"sender,omitempty"`
- Installation *Installation `json:"installation,omitempty"`
- }
- // MemberEvent is triggered when a user is added as a collaborator to a repository.
- // The Webhook event name is "member".
- //
- // GitHub API docs: https://developer.github.com/v3/activity/events/types/#memberevent
- type MemberEvent struct {
- // Action is the action that was performed. Possible value is: "added".
- Action *string `json:"action,omitempty"`
- Member *User `json:"member,omitempty"`
- // The following fields are only populated by Webhook events.
- Repo *Repository `json:"repository,omitempty"`
- Sender *User `json:"sender,omitempty"`
- Installation *Installation `json:"installation,omitempty"`
- }
- // MembershipEvent is triggered when a user is added or removed from a team.
- // The Webhook event name is "membership".
- //
- // Events of this type are not visible in timelines, they are only used to
- // trigger organization webhooks.
- //
- // GitHub API docs: https://developer.github.com/v3/activity/events/types/#membershipevent
- type MembershipEvent struct {
- // Action is the action that was performed. Possible values are: "added", "removed".
- Action *string `json:"action,omitempty"`
- // Scope is the scope of the membership. Possible value is: "team".
- Scope *string `json:"scope,omitempty"`
- Member *User `json:"member,omitempty"`
- Team *Team `json:"team,omitempty"`
- // The following fields are only populated by Webhook events.
- Org *Organization `json:"organization,omitempty"`
- Sender *User `json:"sender,omitempty"`
- Installation *Installation `json:"installation,omitempty"`
- }
- // MilestoneEvent is triggered when a milestone is created, closed, opened, edited, or deleted.
- // The Webhook event name is "milestone".
- //
- // GitHub API docs: https://developer.github.com/v3/activity/events/types/#milestoneevent
- type MilestoneEvent struct {
- // Action is the action that was performed. Possible values are:
- // "created", "closed", "opened", "edited", "deleted"
- Action *string `json:"action,omitempty"`
- Milestone *Milestone `json:"milestone,omitempty"`
- // The following fields are only populated by Webhook events.
- Changes *EditChange `json:"changes,omitempty"`
- Repo *Repository `json:"repository,omitempty"`
- Sender *User `json:"sender,omitempty"`
- Org *Organization `json:"organization,omitempty"`
- Installation *Installation `json:"installation,omitempty"`
- }
- // OrganizationEvent is triggered when a user is added, removed, or invited to an organization.
- // Events of this type are not visible in timelines. These events are only used to trigger organization hooks.
- // Webhook event name is "organization".
- //
- // GitHub API docs: https://developer.github.com/v3/activity/events/types/#organizationevent
- type OrganizationEvent struct {
- // Action is the action that was performed.
- // Can be one of "member_added", "member_removed", or "member_invited".
- Action *string `json:"action,omitempty"`
- // Invitaion is the invitation for the user or email if the action is "member_invited".
- Invitation *Invitation `json:"invitation,omitempty"`
- // Membership is the membership between the user and the organization.
- // Not present when the action is "member_invited".
- Membership *Membership `json:"membership,omitempty"`
- Organization *Organization `json:"organization,omitempty"`
- Sender *User `json:"sender,omitempty"`
- Installation *Installation `json:"installation,omitempty"`
- }
- // OrgBlockEvent is triggered when an organization blocks or unblocks a user.
- // The Webhook event name is "org_block".
- //
- // GitHub API docs: https://developer.github.com/v3/activity/events/types/#orgblockevent
- type OrgBlockEvent struct {
- // Action is the action that was performed.
- // Can be "blocked" or "unblocked".
- Action *string `json:"action,omitempty"`
- BlockedUser *User `json:"blocked_user,omitempty"`
- Organization *Organization `json:"organization,omitempty"`
- Sender *User `json:"sender,omitempty"`
- // The following fields are only populated by Webhook events.
- Installation *Installation `json:"installation,omitempty"`
- }
- // PageBuildEvent represents an attempted build of a GitHub Pages site, whether
- // successful or not.
- // The Webhook event name is "page_build".
- //
- // This event is triggered on push to a GitHub Pages enabled branch (gh-pages
- // for project pages, master for user and organization pages).
- //
- // Events of this type are not visible in timelines, they are only used to trigger hooks.
- //
- // GitHub API docs: https://developer.github.com/v3/activity/events/types/#pagebuildevent
- type PageBuildEvent struct {
- Build *PagesBuild `json:"build,omitempty"`
- // The following fields are only populated by Webhook events.
- ID *int64 `json:"id,omitempty"`
- Repo *Repository `json:"repository,omitempty"`
- Sender *User `json:"sender,omitempty"`
- Installation *Installation `json:"installation,omitempty"`
- }
- // PingEvent is triggered when a Webhook is added to GitHub.
- //
- // GitHub API docs: https://developer.github.com/webhooks/#ping-event
- type PingEvent struct {
- // Random string of GitHub zen.
- Zen *string `json:"zen,omitempty"`
- // The ID of the webhook that triggered the ping.
- HookID *int64 `json:"hook_id,omitempty"`
- // The webhook configuration.
- Hook *Hook `json:"hook,omitempty"`
- Installation *Installation `json:"installation,omitempty"`
- }
- // ProjectEvent is triggered when project is created, modified or deleted.
- // The webhook event name is "project".
- //
- // GitHub API docs: https://developer.github.com/v3/activity/events/types/#projectevent
- type ProjectEvent struct {
- Action *string `json:"action,omitempty"`
- Changes *ProjectChange `json:"changes,omitempty"`
- Project *Project `json:"project,omitempty"`
- // The following fields are only populated by Webhook events.
- Repo *Repository `json:"repository,omitempty"`
- Org *Organization `json:"organization,omitempty"`
- Sender *User `json:"sender,omitempty"`
- Installation *Installation `json:"installation,omitempty"`
- }
- // ProjectCardEvent is triggered when a project card is created, updated, moved, converted to an issue, or deleted.
- // The webhook event name is "project_card".
- //
- // GitHub API docs: https://developer.github.com/v3/activity/events/types/#projectcardevent
- type ProjectCardEvent struct {
- Action *string `json:"action,omitempty"`
- Changes *ProjectCardChange `json:"changes,omitempty"`
- AfterID *int64 `json:"after_id,omitempty"`
- ProjectCard *ProjectCard `json:"project_card,omitempty"`
- // The following fields are only populated by Webhook events.
- Repo *Repository `json:"repository,omitempty"`
- Org *Organization `json:"organization,omitempty"`
- Sender *User `json:"sender,omitempty"`
- Installation *Installation `json:"installation,omitempty"`
- }
- // ProjectColumnEvent is triggered when a project column is created, updated, moved, or deleted.
- // The webhook event name is "project_column".
- //
- // GitHub API docs: https://developer.github.com/v3/activity/events/types/#projectcolumnevent
- type ProjectColumnEvent struct {
- Action *string `json:"action,omitempty"`
- Changes *ProjectColumnChange `json:"changes,omitempty"`
- AfterID *int64 `json:"after_id,omitempty"`
- ProjectColumn *ProjectColumn `json:"project_column,omitempty"`
- // The following fields are only populated by Webhook events.
- Repo *Repository `json:"repository,omitempty"`
- Org *Organization `json:"organization,omitempty"`
- Sender *User `json:"sender,omitempty"`
- Installation *Installation `json:"installation,omitempty"`
- }
- // PublicEvent is triggered when a private repository is open sourced.
- // According to GitHub: "Without a doubt: the best GitHub event."
- // The Webhook event name is "public".
- //
- // GitHub API docs: https://developer.github.com/v3/activity/events/types/#publicevent
- type PublicEvent struct {
- // The following fields are only populated by Webhook events.
- Repo *Repository `json:"repository,omitempty"`
- Sender *User `json:"sender,omitempty"`
- Installation *Installation `json:"installation,omitempty"`
- }
- // PullRequestEvent is triggered when a pull request is assigned, unassigned,
- // labeled, unlabeled, opened, closed, reopened, or synchronized.
- // The Webhook event name is "pull_request".
- //
- // GitHub API docs: https://developer.github.com/v3/activity/events/types/#pullrequestevent
- type PullRequestEvent struct {
- // Action is the action that was performed. Possible values are:
- // "assigned", "unassigned", "review_requested", "review_request_removed", "labeled", "unlabeled",
- // "opened", "closed", "reopened", "synchronize", "edited".
- // If the action is "closed" and the merged key is false,
- // the pull request was closed with unmerged commits. If the action is "closed"
- // and the merged key is true, the pull request was merged.
- Action *string `json:"action,omitempty"`
- Number *int `json:"number,omitempty"`
- PullRequest *PullRequest `json:"pull_request,omitempty"`
- // The following fields are only populated by Webhook events.
- Changes *EditChange `json:"changes,omitempty"`
- // RequestedReviewer is populated in "review_requested", "review_request_removed" event deliveries.
- // A request affecting multiple reviewers at once is split into multiple
- // such event deliveries, each with a single, different RequestedReviewer.
- RequestedReviewer *User `json:"requested_reviewer,omitempty"`
- Repo *Repository `json:"repository,omitempty"`
- Sender *User `json:"sender,omitempty"`
- Installation *Installation `json:"installation,omitempty"`
- Label *Label `json:"label,omitempty"` // Populated in "labeled" event deliveries.
- }
- // PullRequestReviewEvent is triggered when a review is submitted on a pull
- // request.
- // The Webhook event name is "pull_request_review".
- //
- // GitHub API docs: https://developer.github.com/v3/activity/events/types/#pullrequestreviewevent
- type PullRequestReviewEvent struct {
- // Action is always "submitted".
- Action *string `json:"action,omitempty"`
- Review *PullRequestReview `json:"review,omitempty"`
- PullRequest *PullRequest `json:"pull_request,omitempty"`
- // The following fields are only populated by Webhook events.
- Repo *Repository `json:"repository,omitempty"`
- Sender *User `json:"sender,omitempty"`
- Installation *Installation `json:"installation,omitempty"`
- // The following field is only present when the webhook is triggered on
- // a repository belonging to an organization.
- Organization *Organization `json:"organization,omitempty"`
- }
- // PullRequestReviewCommentEvent is triggered when a comment is created on a
- // portion of the unified diff of a pull request.
- // The Webhook event name is "pull_request_review_comment".
- //
- // GitHub API docs: https://developer.github.com/v3/activity/events/types/#pullrequestreviewcommentevent
- type PullRequestReviewCommentEvent struct {
- // Action is the action that was performed on the comment.
- // Possible values are: "created", "edited", "deleted".
- Action *string `json:"action,omitempty"`
- PullRequest *PullRequest `json:"pull_request,omitempty"`
- Comment *PullRequestComment `json:"comment,omitempty"`
- // The following fields are only populated by Webhook events.
- Changes *EditChange `json:"changes,omitempty"`
- Repo *Repository `json:"repository,omitempty"`
- Sender *User `json:"sender,omitempty"`
- Installation *Installation `json:"installation,omitempty"`
- }
- // PushEvent represents a git push to a GitHub repository.
- //
- // GitHub API docs: https://developer.github.com/v3/activity/events/types/#pushevent
- type PushEvent struct {
- PushID *int64 `json:"push_id,omitempty"`
- Head *string `json:"head,omitempty"`
- Ref *string `json:"ref,omitempty"`
- Size *int `json:"size,omitempty"`
- Commits []PushEventCommit `json:"commits,omitempty"`
- Before *string `json:"before,omitempty"`
- DistinctSize *int `json:"distinct_size,omitempty"`
- // The following fields are only populated by Webhook events.
- After *string `json:"after,omitempty"`
- Created *bool `json:"created,omitempty"`
- Deleted *bool `json:"deleted,omitempty"`
- Forced *bool `json:"forced,omitempty"`
- BaseRef *string `json:"base_ref,omitempty"`
- Compare *string `json:"compare,omitempty"`
- Repo *PushEventRepository `json:"repository,omitempty"`
- HeadCommit *PushEventCommit `json:"head_commit,omitempty"`
- Pusher *User `json:"pusher,omitempty"`
- Sender *User `json:"sender,omitempty"`
- Installation *Installation `json:"installation,omitempty"`
- }
- func (p PushEvent) String() string {
- return Stringify(p)
- }
- // PushEventCommit represents a git commit in a GitHub PushEvent.
- type PushEventCommit struct {
- Message *string `json:"message,omitempty"`
- Author *CommitAuthor `json:"author,omitempty"`
- URL *string `json:"url,omitempty"`
- Distinct *bool `json:"distinct,omitempty"`
- // The following fields are only populated by Events API.
- SHA *string `json:"sha,omitempty"`
- // The following fields are only populated by Webhook events.
- ID *string `json:"id,omitempty"`
- TreeID *string `json:"tree_id,omitempty"`
- Timestamp *Timestamp `json:"timestamp,omitempty"`
- Committer *CommitAuthor `json:"committer,omitempty"`
- Added []string `json:"added,omitempty"`
- Removed []string `json:"removed,omitempty"`
- Modified []string `json:"modified,omitempty"`
- }
- func (p PushEventCommit) String() string {
- return Stringify(p)
- }
- // PushEventRepository represents the repo object in a PushEvent payload.
- type PushEventRepository struct {
- ID *int64 `json:"id,omitempty"`
- Name *string `json:"name,omitempty"`
- FullName *string `json:"full_name,omitempty"`
- Owner *PushEventRepoOwner `json:"owner,omitempty"`
- Private *bool `json:"private,omitempty"`
- Description *string `json:"description,omitempty"`
- Fork *bool `json:"fork,omitempty"`
- CreatedAt *Timestamp `json:"created_at,omitempty"`
- PushedAt *Timestamp `json:"pushed_at,omitempty"`
- UpdatedAt *Timestamp `json:"updated_at,omitempty"`
- Homepage *string `json:"homepage,omitempty"`
- Size *int `json:"size,omitempty"`
- StargazersCount *int `json:"stargazers_count,omitempty"`
- WatchersCount *int `json:"watchers_count,omitempty"`
- Language *string `json:"language,omitempty"`
- HasIssues *bool `json:"has_issues,omitempty"`
- HasDownloads *bool `json:"has_downloads,omitempty"`
- HasWiki *bool `json:"has_wiki,omitempty"`
- HasPages *bool `json:"has_pages,omitempty"`
- ForksCount *int `json:"forks_count,omitempty"`
- OpenIssuesCount *int `json:"open_issues_count,omitempty"`
- DefaultBranch *string `json:"default_branch,omitempty"`
- MasterBranch *string `json:"master_branch,omitempty"`
- Organization *string `json:"organization,omitempty"`
- URL *string `json:"url,omitempty"`
- ArchiveURL *string `json:"archive_url,omitempty"`
- HTMLURL *string `json:"html_url,omitempty"`
- StatusesURL *string `json:"statuses_url,omitempty"`
- GitURL *string `json:"git_url,omitempty"`
- SSHURL *string `json:"ssh_url,omitempty"`
- CloneURL *string `json:"clone_url,omitempty"`
- SVNURL *string `json:"svn_url,omitempty"`
- }
- // PushEventRepoOwner is a basic representation of user/org in a PushEvent payload.
- type PushEventRepoOwner struct {
- Name *string `json:"name,omitempty"`
- Email *string `json:"email,omitempty"`
- }
- // ReleaseEvent is triggered when a release is published.
- // The Webhook event name is "release".
- //
- // GitHub API docs: https://developer.github.com/v3/activity/events/types/#releaseevent
- type ReleaseEvent struct {
- // Action is the action that was performed. Possible value is: "published".
- Action *string `json:"action,omitempty"`
- Release *RepositoryRelease `json:"release,omitempty"`
- // The following fields are only populated by Webhook events.
- Repo *Repository `json:"repository,omitempty"`
- Sender *User `json:"sender,omitempty"`
- Installation *Installation `json:"installation,omitempty"`
- }
- // RepositoryEvent is triggered when a repository is created.
- // The Webhook event name is "repository".
- //
- // Events of this type are not visible in timelines, they are only used to
- // trigger organization webhooks.
- //
- // GitHub API docs: https://developer.github.com/v3/activity/events/types/#repositoryevent
- type RepositoryEvent struct {
- // Action is the action that was performed. Possible values are: "created", "deleted",
- // "publicized", "privatized".
- Action *string `json:"action,omitempty"`
- Repo *Repository `json:"repository,omitempty"`
- // The following fields are only populated by Webhook events.
- Org *Organization `json:"organization,omitempty"`
- Sender *User `json:"sender,omitempty"`
- Installation *Installation `json:"installation,omitempty"`
- }
- // StatusEvent is triggered when the status of a Git commit changes.
- // The Webhook event name is "status".
- //
- // Events of this type are not visible in timelines, they are only used to
- // trigger hooks.
- //
- // GitHub API docs: https://developer.github.com/v3/activity/events/types/#statusevent
- type StatusEvent struct {
- SHA *string `json:"sha,omitempty"`
- // State is the new state. Possible values are: "pending", "success", "failure", "error".
- State *string `json:"state,omitempty"`
- Description *string `json:"description,omitempty"`
- TargetURL *string `json:"target_url,omitempty"`
- Branches []*Branch `json:"branches,omitempty"`
- // The following fields are only populated by Webhook events.
- ID *int64 `json:"id,omitempty"`
- Name *string `json:"name,omitempty"`
- Context *string `json:"context,omitempty"`
- Commit *RepositoryCommit `json:"commit,omitempty"`
- CreatedAt *Timestamp `json:"created_at,omitempty"`
- UpdatedAt *Timestamp `json:"updated_at,omitempty"`
- Repo *Repository `json:"repository,omitempty"`
- Sender *User `json:"sender,omitempty"`
- Installation *Installation `json:"installation,omitempty"`
- }
- // TeamEvent is triggered when an organization's team is created, modified or deleted.
- // The Webhook event name is "team".
- //
- // Events of this type are not visible in timelines. These events are only used
- // to trigger hooks.
- //
- // GitHub API docs: https://developer.github.com/v3/activity/events/types/#teamevent
- type TeamEvent struct {
- Action *string `json:"action,omitempty"`
- Team *Team `json:"team,omitempty"`
- Changes *TeamChange `json:"changes,omitempty"`
- Repo *Repository `json:"repository,omitempty"`
- // The following fields are only populated by Webhook events.
- Org *Organization `json:"organization,omitempty"`
- Sender *User `json:"sender,omitempty"`
- Installation *Installation `json:"installation,omitempty"`
- }
- // TeamAddEvent is triggered when a repository is added to a team.
- // The Webhook event name is "team_add".
- //
- // Events of this type are not visible in timelines. These events are only used
- // to trigger hooks.
- //
- // GitHub API docs: https://developer.github.com/v3/activity/events/types/#teamaddevent
- type TeamAddEvent struct {
- Team *Team `json:"team,omitempty"`
- Repo *Repository `json:"repository,omitempty"`
- // The following fields are only populated by Webhook events.
- Org *Organization `json:"organization,omitempty"`
- Sender *User `json:"sender,omitempty"`
- Installation *Installation `json:"installation,omitempty"`
- }
- // WatchEvent is related to starring a repository, not watching. See this API
- // blog post for an explanation: https://developer.github.com/changes/2012-09-05-watcher-api/
- //
- // The event’s actor is the user who starred a repository, and the event’s
- // repository is the repository that was starred.
- //
- // GitHub API docs: https://developer.github.com/v3/activity/events/types/#watchevent
- type WatchEvent struct {
- // Action is the action that was performed. Possible value is: "started".
- Action *string `json:"action,omitempty"`
- // The following fields are only populated by Webhook events.
- Repo *Repository `json:"repository,omitempty"`
- Sender *User `json:"sender,omitempty"`
- Installation *Installation `json:"installation,omitempty"`
- }
|