GitOpsHQ Docs
Governance & Security

Notifications and Audit

Complete guide to notification channels, personal routing, escalation policies, audit logging, and compliance evidence.

GitOpsHQ provides a comprehensive notification system for alerting teams about important events and a full audit trail for compliance and incident investigation. Together, these features ensure that the right people are informed at the right time and that every action is traceable.

Key Concept

Notifications answer "what just happened?" in real-time. Audit logs answer "what happened, when, and who did it?" after the fact. Both are essential for operational excellence and regulatory compliance.

Notification Channels

GitOpsHQ supports multiple notification channels to meet different team workflows:

ChannelTierDescriptionConfiguration
In-AppFreeNotifications displayed in the GitOpsHQ UI bell iconAutomatic — always available
EmailFreeEmail notifications via SMTPConfigured at org level
HTTP WebhookFreeCustom HTTP endpoint for integrationURL + optional secret
SlackProSlack workspace integration via Bot or Incoming WebhookOAuth or webhook URL
DiscordProDiscord channel notificationsWebhook URL
Microsoft TeamsProTeams channel cardsIncoming webhook connector
PagerDutyProPagerDuty incident creationIntegration key
OpsGenieProOpsGenie alert creationAPI key

Webhook Delivery

HTTP webhook notifications are delivered with a single HTTP attempt. There is no automatic retry logic. If the target endpoint is unavailable, the notification is lost for that delivery attempt.

Loading diagram…

Notification Event Categories

Events are organized into categories so you can subscribe to the signals that matter for your role:

Deployment Events

EventDescriptionTypical Audience
release.createA new release was createdDevOps, SRE
release.approveA release was approved for deploymentDevOps, Manager
release.deployA release was successfully deployedDevOps, SRE, Stakeholders
release.failA release deployment failedSRE, On-Call

Promotion Events

EventDescriptionTypical Audience
promotion.requestA promotion was requested between environmentsDevOps
promotion.approveA promotion was approvedDevOps, Manager
promotion.executeA promotion was completedDevOps, SRE

Rollback Events

EventDescriptionTypical Audience
rollback.initiateA rollback was startedSRE, On-Call
rollback.completeA rollback finished successfullySRE, DevOps

Governance Events

EventDescriptionTypical Audience
policy.violation.detectA policy violation was foundSecurity, DevOps
policy.violation.resolveA policy violation was resolvedSecurity
approval.requestAn action requires approvalApprovers

Cluster Events

EventDescriptionTypical Audience
agent.connectA cluster agent came onlineSRE
agent.disconnectA cluster agent went offlineSRE, On-Call
drift.detectCluster state diverged from GitSRE, DevOps

Security Events

EventDescriptionTypical Audience
break_glass.openedA break-glass session was initiatedSecurity, Manager
apikey.createA new API key was generatedSecurity
member.role.changeA member's role was modifiedSecurity, Manager

Personal Notification Preferences

Each user configures their own notification routing. This allows different team members to receive different signals through different channels.

Open Notification Settings

Navigate to your Profile → Notification Preferences to configure your personal routing rules.

Select Event Categories

Choose which event categories you want to receive. You can subscribe to entire categories or individual events.

Assign Channels

For each selected event, choose which notification channel(s) should deliver the message. You can route different events to different channels.

Set Scope

Optionally scope your preferences to specific projects. For example, only receive production deployment notifications for the api-platform project.

Enable Digest Mode

For high-volume events, enable digest mode to receive a batched summary instead of individual notifications. Digests are sent at configurable intervals (e.g., every 15 minutes or hourly).

Role-Based Recommendations

RoleRecommended EventsRecommended Channels
DevOps EngineerDeployment, promotion, rollback eventsSlack + In-App
SRE / On-CallCluster health, deployment failures, rollbacksSlack + Email + PagerDuty (via webhook)
Security EngineerBreak-glass, API key, role changes, policy violationsEmail + Slack
Engineering ManagerApproval requests, production deployments, policy violationsEmail + Teams
DeveloperRelease created, promotion executed (own projects)In-App + Slack

Escalation Policies (Pro/Enterprise)

Escalation policies ensure that critical notifications are not missed by defining automatic escalation rules.

Pro/Enterprise Feature

Escalation policies are available on Pro and Enterprise plans. They are essential for organizations with on-call rotations and SLA requirements.

How Escalation Works

Loading diagram…

Escalation Configuration

FieldDescriptionExample
Policy NameDescriptive nameProduction Deployment Failure
Trigger EventsWhich events activate this policyrelease.failed, agent.disconnected
Escalation TiersOrdered list of notification targetsTier 1: SRE on-call, Tier 2: SRE lead, Tier 3: VP Engineering
TimeoutTime before escalating to next tier10 minutes
RepeatWhether to re-notify if still unacknowledgedYes, every 30 minutes

Alert Fatigue Reduction

Escalation policies include built-in protections against alert fatigue:

  • Aggregation: Multiple similar events within a time window are grouped into a single notification
  • Deduplication: Identical events are suppressed after the first notification
  • Cooldown: After an event is acknowledged, similar events within a cooldown period are suppressed
  • Business hours: Different escalation rules for business hours vs. off-hours

Audit Log

The audit log at /audit provides a complete, immutable record of all organizational activity.

Delivery and Organizational Audit

Tracks all operational events in the organization:

Event TypeExamples
DeploymentRelease created, approved, deployed, failed, rolled back
ConfigurationProject settings changed, environment updated, variable modified
DeliveryDelivery generated, preview executed, bindings changed
ClusterAgent registered, sync triggered, manifests applied
GitCommits created, files edited, delivery output written
PromotionPromotion requested, approved, executed
WebhookWebhook created, updated, delivery attempted

IAM Audit

Tracks all identity and access management events:

Event TypeExamples
Member ManagementUser invited, role changed, removed
Service AccountsCreated, updated, key rotated, deleted
API KeysCreated, scoped, revoked
Break-GlassSession started, action performed, session ended
Role ChangesRole assigned, permission granted, scope modified
AuthenticationLogin, logout, MFA changes

Audit Entry Structure

Every audit entry contains:

The AuditLog model contains these fields:

FieldDescriptionExample
idUnique audit entry identifieruuid
projectIdProject associated with this eventproject-uuid
tenantIdTenant associated with this event (if applicable)tenant-uuid
userIdUser who performed the actionuser-uuid
actorTypeCategory of the actoruser, service_account, system
actionWhat was donerelease.deploy, image.update
detailsAction-specific metadata (JSON){"environment": "production", "previousVersion": "2.0.5"}
gitCommitShaAssociated Git commit SHA (if applicable)abc123def456
createdAtPrecise time of the event (UTC)2026-03-27T10:30:15.123Z

The audit explorer provides powerful filtering:

FilterDescription
Date RangeStart and end timestamps
Event TypeFilter by action category
ActorFilter by specific user or service account
Actor TypeFilter by user, service_account, or system
ResourceFilter by resource type and ID
ProjectScope to a specific project
StatusFilter by success, failure, or blocked

Audit for Compliance

Compliance-Ready

GitOpsHQ's audit system is designed to meet SOC 2, ISO 27001, and similar compliance frameworks that require comprehensive change tracking and access logging.

Immutability

Audit records are immutable — they cannot be modified, deleted, or tampered with. This provides a trustworthy evidence chain for compliance auditors.

Traceability

Every change in the system is traceable to an actor:

  • User actions: Linked to the authenticated user identity
  • Service account actions: Linked to the service account and its creator
  • System actions: Labeled as system with the originating subsystem identified
  • Break-glass actions: Prominently flagged with the break-glass session ID and justification

API Access

Audit logs are available via GET /api/v2/audit-logs, which returns paginated JSON. There is no CSV or JSON file export endpoint. For external compliance reporting, consume the paginated API and aggregate externally.

Correlating Events

Related events can be correlated by filtering on shared fields such as projectId, tenantId, and gitCommitSha. For example, a production deployment creates a chain of events:

Loading diagram…

Events in this chain share the same projectId and gitCommitSha, making it possible to trace the full lifecycle during incident investigation.

Troubleshooting

ErrorMeaningResolution
400 missing organization contextRequest missing org contextEnsure you're authenticated in an active organization
400 project not found in active organizationInvalid project scope in preferenceVerify the project belongs to your current organization
404 notification policy not foundStale policy referenceRefresh the policy list; the policy may have been deleted
500 failed to listBackend fetch errorRetry the request; if persistent, check system status

Best Practices

  1. Configure notifications for production events — Production deployments and failures should always notify the responsible team
  2. Use escalation policies for critical alerts — Never rely on a single person receiving an alert
  3. Review audit logs during post-mortems — The audit trail provides the timeline needed for incident analysis
  4. Consume the audit API regularly — Use GET /api/v2/audit-logs to pull logs into external systems for compliance retention
  5. Set up digest mode for noisy environments — Avoid alert fatigue by batching low-priority notifications
  6. Scope preferences to projects — Only receive notifications for projects you actively work on
  7. Correlate events using shared fields — Filter by projectId, tenantId, or gitCommitSha to trace the full context of any event
  8. Monitor break-glass events — These should be rare and always warrant review

On this page