@@ -769,6 +769,213 @@ type DeletePayload struct {
769769 } `json:"sender"`
770770}
771771
772+ // DependabotAlertPayload contains the information for GitHub's dependabot_alert hook event
773+ type DependabotAlertPayload struct {
774+ Action string `json:"action"` // "created", "dissmissed", "fixed", "reintroduced", "reopened"
775+ Alert struct {
776+ Number uint32 `json:"number"`
777+ State string `json:"state"` // "dissmissed", "fixed", "open"
778+ Dependency struct {
779+ Package struct {
780+ Ecosystem string `json:"ecosystem"`
781+ Name string `json:"name"`
782+ } `json:"package"`
783+ ManifestPath string `json:"manifest_path"`
784+ Scope string `json:"scope"` // "development", "runtime", null
785+ } `json:"dependency"`
786+ SecurityAdvisory struct {
787+ GHSAID string `json:"ghsa_id"`
788+ CVEID string `json:"cve_id"`
789+ Summary string `json:"summary"`
790+ Description string `json:"description"`
791+ Vulnerabilities []struct {
792+ Package struct {
793+ Ecosystem string `json:"ecosystem"`
794+ Name string `json:"name"`
795+ } `json:"package"`
796+ Severity string `json:"severity"` // "low", "midium", "high", "critical"
797+ VulnerableVersionRange string `json:"vulnerable_version_range"`
798+ FirstPatchedVersion struct {
799+ Identifier string `json:"identifier"`
800+ } `json:"first_patched_version"`
801+ } `json:"vulnerabilities"`
802+ Severity string `json:"severity"` // "low", "medium", "high", "critical"
803+ CVSS struct {
804+ Score float64 `json:"score"`
805+ VectorString string `json:"vector_string"`
806+ } `json:"cvss"`
807+ CWEs []struct {
808+ CWEID string `json:"cwe_id"`
809+ Name string `json:"name"`
810+ } `json:"cwes"`
811+ Identifiers []struct {
812+ Type string `json:"type"` // "CVE", "GHSA"
813+ Value string `json:"value"`
814+ } `json:"identifiers"`
815+ References []struct {
816+ URL string `json:"url"`
817+ } `json:"references"`
818+ PublishedAt string `json:"published_at"` // "YYYY-MM-DDTHH:MM:SSZ"
819+ UpdatedAt string `json:"updated_at"` // "YYYY-MM-DDTHH:MM:SSZ"
820+ WithdrawnAt string `json:"withdrawn_at"` // "YYYY-MM-DDTHH:MM:SSZ"
821+ } `json:"security_advisory"`
822+ SecurityVulnerability struct {
823+ Package struct {
824+ Ecosystem string `json:"ecosystem"`
825+ Name string `json:"name"`
826+ } `json:"package"`
827+ Severity string `json:"severity"` // "low", "medium", "high", "critical"
828+ VulnerableVersionRange string `json:"vulnerable_version_range"`
829+ FirstPatchedVersion struct {
830+ Identifier string `json:"identifier"`
831+ } `json:"first_patched_version"`
832+ } `json:"secirty_vulnerability"`
833+ URL string `json:"url"`
834+ HTMLURL string `json:"html_url"`
835+ CreatedAt string `json:"created_at"` // "YYYY-MM-DDTHH:MM:SSZ"
836+ UpdatedAt string `json:"updated_at"` // "YYYY-MM-DDTHH:MM:SSZ"
837+ DissmissedAt string `json:"dissmissed_at"` // "YYYY-MM-DDTHH:MM:SSZ"
838+ DissmissedBy struct {
839+ Name string `json:"name"`
840+ Email string `json:"email"`
841+ Login string `json:"login"`
842+ ID uint64 `json:"id"`
843+ NodeID string `json:"node_id"`
844+ AvatarURL string `json:"avatar_url"`
845+ GravatarID string `json:"gravatar_id"`
846+ URL string `json:"url"`
847+ HTMLURL string `json:"html_url"`
848+ FollowersURL string `json:"followers_url"`
849+ GistsURL string `json:"gists_url"`
850+ StarredURL string `json:"starred_url"`
851+ SubscriptionsURL string `json:"subscriptions_url"`
852+ OrganizationsURL string `json:"organizations_url"`
853+ ReposURL string `json:"repos_url"`
854+ EventsURL string `json:"events_url"`
855+ ReceivedEventsURL string `json:"received_events_url"`
856+ Type string `json:"type"`
857+ SiteAdmin bool `json:"site_admin"`
858+ StarredAt string `json:"starred_at"`
859+ } `json:"dissmissed_by"`
860+ DissmissedReason string `json:"dissmissed_reason"` // "fix_started", "inaccurate", "no_bandwidth", "not_used", "tolerable_risk", null
861+ DissmissedComment string `json:"dissmissed_comment"`
862+ FixedAt string `json:"fixed_at"` // "YYYY-MM-DDTHH:MM:SSZ"
863+ } `json:"alert"`
864+ Repository struct {
865+ ID int `json:"id"`
866+ NodeID string `json:"node_id"`
867+ Name string `json:"name"`
868+ FullName string `json:"full_name"`
869+ Owner struct {
870+ Login string `json:"login"`
871+ ID int `json:"id"`
872+ NodeID string `json:"node_id"`
873+ AvatarURL string `json:"avatar_url"`
874+ GravatarID string `json:"gravatar_id"`
875+ URL string `json:"url"`
876+ HTMLURL string `json:"html_url"`
877+ FollowersURL string `json:"followers_url"`
878+ FollowingURL string `json:"following_url"`
879+ GistsURL string `json:"gists_url"`
880+ StarredURL string `json:"starred_url"`
881+ SubscriptionsURL string `json:"subscriptions_url"`
882+ OrganizationsURL string `json:"organizations_url"`
883+ ReposURL string `json:"repos_url"`
884+ EventsURL string `json:"events_url"`
885+ ReceivedEventsURL string `json:"received_events_url"`
886+ Type string `json:"type"`
887+ SiteAdmin bool `json:"site_admin"`
888+ } `json:"owner"`
889+ Private bool `json:"private"`
890+ HTMLURL string `json:"html_url"`
891+ Description interface {} `json:"description"`
892+ Fork bool `json:"fork"`
893+ URL string `json:"url"`
894+ ForksURL string `json:"forks_url"`
895+ KeysURL string `json:"keys_url"`
896+ CollaboratorsURL string `json:"collaborators_url"`
897+ TeamsURL string `json:"teams_url"`
898+ HooksURL string `json:"hooks_url"`
899+ IssueEventsURL string `json:"issue_events_url"`
900+ EventsURL string `json:"events_url"`
901+ AssigneesURL string `json:"assignees_url"`
902+ BranchesURL string `json:"branches_url"`
903+ TagsURL string `json:"tags_url"`
904+ BlobsURL string `json:"blobs_url"`
905+ GitTagsURL string `json:"git_tags_url"`
906+ GitRefsURL string `json:"git_refs_url"`
907+ TreesURL string `json:"trees_url"`
908+ StatusesURL string `json:"statuses_url"`
909+ LanguagesURL string `json:"languages_url"`
910+ StargazersURL string `json:"stargazers_url"`
911+ ContributorsURL string `json:"contributors_url"`
912+ SubscribersURL string `json:"subscribers_url"`
913+ SubscriptionURL string `json:"subscription_url"`
914+ CommitsURL string `json:"commits_url"`
915+ GitCommitsURL string `json:"git_commits_url"`
916+ CommentsURL string `json:"comments_url"`
917+ IssueCommentURL string `json:"issue_comment_url"`
918+ ContentsURL string `json:"contents_url"`
919+ CompareURL string `json:"compare_url"`
920+ MergesURL string `json:"merges_url"`
921+ ArchiveURL string `json:"archive_url"`
922+ DownloadsURL string `json:"downloads_url"`
923+ IssuesURL string `json:"issues_url"`
924+ PullsURL string `json:"pulls_url"`
925+ MilestonesURL string `json:"milestones_url"`
926+ NotificationsURL string `json:"notifications_url"`
927+ LabelsURL string `json:"labels_url"`
928+ ReleasesURL string `json:"releases_url"`
929+ DeploymentsURL string `json:"deployments_url"`
930+ CreatedAt time.Time `json:"created_at"`
931+ UpdatedAt time.Time `json:"updated_at"`
932+ PushedAt time.Time `json:"pushed_at"`
933+ GitURL string `json:"git_url"`
934+ SSHURL string `json:"ssh_url"`
935+ CloneURL string `json:"clone_url"`
936+ SvnURL string `json:"svn_url"`
937+ Homepage interface {} `json:"homepage"`
938+ Size int `json:"size"`
939+ StargazersCount int `json:"stargazers_count"`
940+ WatchersCount int `json:"watchers_count"`
941+ Language interface {} `json:"language"`
942+ HasIssues bool `json:"has_issues"`
943+ HasProjects bool `json:"has_projects"`
944+ HasDownloads bool `json:"has_downloads"`
945+ HasWiki bool `json:"has_wiki"`
946+ HasPages bool `json:"has_pages"`
947+ ForksCount int `json:"forks_count"`
948+ MirrorURL interface {} `json:"mirror_url"`
949+ Archived bool `json:"archived"`
950+ OpenIssuesCount int `json:"open_issues_count"`
951+ License interface {} `json:"license"`
952+ Forks int `json:"forks"`
953+ OpenIssues int `json:"open_issues"`
954+ Watchers int `json:"watchers"`
955+ DefaultBranch string `json:"default_branch"`
956+ } `json:"repository"`
957+ Sender struct {
958+ Login string `json:"login"`
959+ ID int `json:"id"`
960+ NodeID string `json:"node_id"`
961+ AvatarURL string `json:"avatar_url"`
962+ GravatarID string `json:"gravatar_id"`
963+ URL string `json:"url"`
964+ HTMLURL string `json:"html_url"`
965+ FollowersURL string `json:"followers_url"`
966+ FollowingURL string `json:"following_url"`
967+ GistsURL string `json:"gists_url"`
968+ StarredURL string `json:"starred_url"`
969+ SubscriptionsURL string `json:"subscriptions_url"`
970+ OrganizationsURL string `json:"organizations_url"`
971+ ReposURL string `json:"repos_url"`
972+ EventsURL string `json:"events_url"`
973+ ReceivedEventsURL string `json:"received_events_url"`
974+ Type string `json:"type"`
975+ SiteAdmin bool `json:"site_admin"`
976+ } `json:"sender"`
977+ }
978+
772979// DeployKeyPayload contains the information for GitHub's deploy_key hook
773980type DeployKeyPayload struct {
774981 Action string `json:"action"`
0 commit comments