EventBridge Integration
Forward pipeline events from DevRamps to your own Amazon EventBridge event bus. Use EventBridge rules to trigger Lambda functions, Step Functions, SNS notifications, or any other AWS service when pipeline events occur.
Overview
Once connected, DevRamps automatically sends all supported pipeline events to your event bus. Events include stage failures, approval requests, and rollback notifications. You can filter and route events on your bus using standard EventBridge rules.
Supported Events
| Detail Type | Description |
|---|---|
Stage Started | A deployment stage has started executing |
Stage Succeeded | A deployment stage completed successfully |
Stage Failed | A deployment stage has failed |
Approval Required | A manual approval step is waiting for action |
Stage Auto Rolled Back | A stage was automatically rolled back (e.g., via CloudWatch alarm) |
Stage Rolled Back | A user manually triggered a rollback |
Stage Rolled Forward | A user manually triggered a roll-forward |
Step Started | A pipeline step has started (includes deploy steps, artifact builds, and pipeline synthesis) |
Step Succeeded | A pipeline step completed successfully |
Step Skipped | A pipeline step was skipped (emitted alongside step succeeded) |
Ephemeral Environment Claimed | An ephemeral environment lock was acquired |
Ephemeral Environment Released | An ephemeral environment lock was released |
Ephemeral Deployment Succeeded | An ephemeral environment deployment completed successfully |
Ephemeral Deployment Failed | An ephemeral environment deployment failed |
Prerequisites
- An EventBridge event bus must already exist in your AWS account
- The CI/CD role must have
events:PutEventspermission. This is included by default for roles created with CLI version 0.8.0+. If you bootstrapped before this version, re-runnpx @devramps/cli bootstrapto update your role permissions.
Connecting
- Navigate to Organization Settings > Integrations
- Find the EventBridge card and click Connect
- Enter your Event Bus ARN (e.g.,
arn:aws:events:us-east-1:123456789012:event-bus/my-bus) - Click Connect -- DevRamps will send a test event to verify connectivity
- If successful, the integration is active and all pipeline events will be forwarded
Event Schema
All events are sent with Source: "devramps" and a human-readable DetailType.
Event Detail Structure
{
"eventType": "stage_failed",
"pipeline": {
"id": "uuid",
"name": "My Pipeline",
"slug": "my-pipeline"
},
"stage": {
"name": "production"
},
"step": {
"name": "deploy-ecs"
},
"cause": "ECS service failed to stabilize",
"commit": {
"id": "abc123def",
"message": "Fix login bug"
},
"organization": {
"slug": "my-org"
},
"timestamp": "2024-01-15T10:30:00.000Z",
"dashboardUrl": "https://devramps.com/dashboard-new/pipeline/my-pipeline"
}
Fields like step, cause, and commit are included only when applicable to the event type.
Example EventBridge Rules
Route all failures to SNS
{
"source": ["devramps"],
"detail-type": ["Stage Failed"]
}
Route approval requests to a Lambda function
{
"source": ["devramps"],
"detail-type": ["Approval Required"]
}
Route all rollback events
{
"source": ["devramps"],
"detail-type": ["Stage Auto Rolled Back", "Stage Rolled Back", "Stage Rolled Forward"]
}
Troubleshooting
| Error | Cause | Solution |
|---|---|---|
| Permission denied | CI/CD role lacks events:PutEvents | Re-bootstrap with npx @devramps/cli bootstrap |
| Event bus not found | ARN is incorrect or bus does not exist | Verify the ARN and that the bus exists in your account |
| Connection failed | CI/CD account not configured | Configure your AWS CI/CD account in Organization Settings first |
Disconnecting
- Navigate to Organization Settings > Integrations
- Find the EventBridge card (showing "Connected")
- Click Disconnect
Events will stop being forwarded immediately. No events are lost from other notification providers (e.g., Slack).