feat(aws-lambda): Add frontend pipeline steps for AWS Lambda integration setup#112736
Conversation
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 2 potential issues.
Autofix Details
Bugbot Autofix prepared fixes for both issues found in the latest run.
- ✅ Fixed: Missing minimum length validation on
awsExternalIdfield- Added
.min(1, t('External ID is required'))validation to the awsExternalId field in cloudFormationSchema to match legacy component behavior and prevent empty string submission.
- Added
- ✅ Fixed: Enabled functions derived from stale state object
- Changed enabledFunctions submission to filter from current stepData.functions array instead of iterating stale enabled state, ensuring only valid functions are submitted.
Or push these changes by commenting:
@cursor push e16b04dbc2
Preview (e16b04dbc2)
diff --git a/static/app/components/pipeline/pipelineIntegrationAwsLambda.tsx b/static/app/components/pipeline/pipelineIntegrationAwsLambda.tsx
--- a/static/app/components/pipeline/pipelineIntegrationAwsLambda.tsx
+++ b/static/app/components/pipeline/pipelineIntegrationAwsLambda.tsx
@@ -122,7 +122,7 @@
.min(1, t('AWS Account Number is required'))
.regex(/^\d{12}$/, t('Must be a 12-digit AWS account number')),
region: z.string().min(1, t('Region is required')),
- awsExternalId: z.string(),
+ awsExternalId: z.string().min(1, t('External ID is required')),
});
function CloudFormationStep({
@@ -413,9 +413,9 @@
size="sm"
disabled={isAdvancing || enabledCount === 0}
onClick={() => {
- const enabledFunctions = Object.entries(enabled)
- .filter(([_, v]) => v)
- .map(([name]) => name);
+ const enabledFunctions = functions
+ .filter(fn => enabled[fn.name])
+ .map(fn => fn.name);
advance({enabledFunctions});
}}
>This Bugbot Autofix run was free. To enable autofix for future PRs, go to the Cursor dashboard.
044b74c to
29cdb63
Compare
| const CardButton = styled('button')` | ||
| appearance: none; | ||
| background: transparent; | ||
| border: none; | ||
| padding: 0; | ||
| text-align: left; | ||
| cursor: pointer; | ||
| `; |
There was a problem hiding this comment.
Could this be replaced with a scraps <Button />? also appearance: none is interesting, TIL
29cdb63 to
a7cfa81
Compare
…ion setup Three-step React frontend for the API-driven AWS Lambda integration pipeline: project selection, CloudFormation stack creation with AWS account verification, and Lambda function instrumentation with selectable function cards and success/failure result tags. Registers the pipeline in the frontend registry behind the `integration-api-pipeline-aws-lambda` feature flag. Fixes [VDY-70](https://linear.app/getsentry/issue/VDY-70/aws-lambda-api-driven-integration-setup)
a7cfa81 to
ec55233
Compare
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit ec55233. Configure here.
| }); | ||
| }, | ||
| 200 | ||
| ); |
There was a problem hiding this comment.
Single debounced function swallows analytics for different fields
Low Severity
debouncedTrackInputChange is a single module-level debounced function shared across all three fields (accountNumber, region, awsExternalId). Since lodash/debounce cancels pending invocations when called again within the wait period, changing different fields within 200ms causes earlier fields' analytics events to be silently dropped — only the last field's event fires. Each field needs its own debounced instance (e.g., a map keyed by field name) to track independently.
Additional Locations (2)
Reviewed by Cursor Bugbot for commit ec55233. Configure here.
…ion setup (#112736) Three-step React frontend for the API-driven AWS Lambda integration pipeline: project selection, CloudFormation stack creation with AWS account verification, and Lambda function instrumentation with selectable function cards and success/failure result tags. Registers the pipeline in the frontend registry behind the `integration-api-pipeline-aws-lambda` feature flag. https://github.com/user-attachments/assets/009e2b74-9775-46b9-9c56-1cbc992e0871 Fixes [VDY-70](https://linear.app/getsentry/issue/VDY-70/aws-lambda-api-driven-integration-setup)



Three-step React frontend for the API-driven AWS Lambda integration
pipeline: project selection, CloudFormation stack creation with AWS
account verification, and Lambda function instrumentation with
selectable function cards and success/failure result tags.
Registers the pipeline in the frontend registry behind the
integration-api-pipeline-aws-lambdafeature flag.Screen.Recording.2026-04-13.at.10.38.41.mov
Fixes VDY-70