This document lists all GitHub webhook events that are NOT essential for core GitOps deployment workflows. These events are available but not prioritized for implementation in this library.
issues- Issue opened, closed, edited, assigned, etc.issue_comment- Comment on issue or pull requestcommit_comment- Comment on a commit
pull_request_review- Pull request review submittedpull_request_review_comment- Comment on PR diffpull_request_review_thread- PR review thread activity
project- Project (classic) created, edited, deletedproject_card- Project card moved, created, deletedproject_column- Project column created, updated, deletedprojects_v2- Project (new) activityprojects_v2_item- Project item activityprojects_v2_status_update- Project status update
discussion- Discussion created, edited, deleted, etc.discussion_comment- Comment on a discussion
label- Label created, edited, deletedmilestone- Milestone created, edited, deleted, etc.gollum- Wiki page created or updated
repository- Repository created, deleted, archived, renamed, etc.repository_dispatch- Custom webhook event triggered via APIrepository_import- Repository import activitypublic- Repository visibility changed to publicfork- Repository forked
member- Collaborator added, removed, or permissions changedmembership- User added/removed from teamteam- Team created, deleted, editedteam_add- Team added to repositoryorganization- Organization settings changedorg_block- User blocked/unblocked from organization
branch_protection_rule- Branch protection rule created, edited, deletedbranch_protection_configuration- Branch protection configuration changedrepository_ruleset- Repository ruleset activitydeploy_key- Deploy key added or removedcustom_property- Custom property changedcustom_property_values- Custom property values updated
code_scanning_alert- Code scanning alert created, fixed, dismissedsecret_scanning_alert- Secret detected in codesecret_scanning_alert_location- Secret location detectedsecret_scanning_scan- Secret scanning scan completeddependabot_alert- Dependabot alert created, fixed, dismissedrepository_vulnerability_alert- Vulnerability alert (legacy)
security_advisory- Security advisory publishedrepository_advisory- Repository security advisorysecurity_and_analysis- Security and analysis settings changed
deployment_protection_rule- Deployment protection rule activitydeployment_review- Deployment review requested/approved
installation- GitHub App installed, uninstalled, suspendedinstallation_repositories- Repositories added/removed from installationinstallation_target- Installation moved to different accountgithub_app_authorization- User authorizes/revokes GitHub App
workflow_dispatch- Workflow manually triggered (for workflow visibility, not deployment)workflow_job- Individual job status (detailed monitoring, not essential for GitOps)
meta- Webhook itself is modified or deleted
star- Repository starred or unstarredwatch- User starts/stops watching repositorysponsorship- Sponsorship tier created, cancelled, changed
package- GitHub Packages published, updated, deletedregistry_package- Container registry package activity
page_build- GitHub Pages site build attempt (success/failure)
marketplace_purchase- GitHub Marketplace app purchased, cancelled, changed
merge_group- Merge queue activitypersonal_access_token_request- PAT request in organizationsub_issues- Sub-issue activity (tasklists)issue_dependencies- Issue dependency tracking
Total events: 65
These events are useful for:
- Building GitHub dashboards and analytics
- Issue/PR automation and bots
- Security monitoring and compliance
- Team collaboration tools
- Community engagement tracking
- Project management automation
However, they are not required for the core GitOps use case of:
- Syncing manifest repositories
- Managing deployment environments
- Tracking deployment status
- Triggering deployments on code changes
The library handles all these events gracefully:
match event {
WebhookEvent::Push(push_event) => {
// Handle GitOps sync
}
WebhookEvent::Unknown(event_type) => {
// Log and ignore non-essential events
println!("Received non-essential event: {}", event_type);
}
_ => {}
}If you need to implement any of these events, you can:
- Add the event struct to
webhook.rs - Add a variant to
WebhookEventenum - Add parsing logic to
WebhookVerifier::parse_event() - Submit a PR to the library