feat(crashlytics): add crashlytics:onboard:web command - #10861
Open
bryanatkinson wants to merge 9 commits into
Open
feat(crashlytics): add crashlytics:onboard:web command#10861bryanatkinson wants to merge 9 commits into
crashlytics:onboard:web command#10861bryanatkinson wants to merge 9 commits into
Conversation
### Description Adds support for onboarding Firebase Web Apps to Crashlytics via the `crashlytics:onboard` command. - Verifies that the project is on the Blaze plan (has a linked billing account) before proceeding, supporting interactive billing selection and non-interactive error guidance. - Enables required Google Cloud APIs (`firebasetelemetry.googleapis.com` and `firebasetelemetryadmin.googleapis.com`). - Creates and configures Cloud Logging bucket `firebase-telemetry` with observability analytics enabled, with automatic fallback to patch existing buckets. - Sets up Cloud Logging sink `firebase-telemetry-routing` to route `firebasetelemetry.googleapis.com/App` resources to the dedicated telemetry bucket. - Creates a Telemetry Config via the Telemetry Admin API with sampling rate 1 and automatic telemetry enablement. ### Scenarios Tested - Tested interactive and non-interactive Blaze plan verification on an unbilled project (`bryan-crash-cli-onboarding`). - Tested live onboarding execution end-to-end against web apps `1:894118895927:web:dad71d14e9abaa7d543ab2` in project `crash-test-app-87b7a` and `1:298871010406:web:f0b7551fb086db3dafe9a7` in project `bryan-crash-cli-onboarding`. - Ran unit test suites for Cloud Logging utilities and Crashlytics onboarding workflow (`npx mocha src/gcp/cloudlogging.spec.ts src/crashlytics/onboarding.spec.ts`). ### Sample Commands ```bash firebase crashlytics:onboard --project <project-id> firebase crashlytics:onboard 1:123:web:456 --project <project-id> ``` TAG=agy CONV=0cf98957-1b4e-437c-8a79-5ff873b6c315
Contributor
There was a problem hiding this comment.
Code Review
This pull request introduces the crashlytics:onboard CLI command to support Crashlytics web onboarding, along with the underlying telemetry configuration and Cloud Logging setup. It also refactors the billing enablement logic to be reusable across different features. Feedback on the changes suggests adding an updateMask to the telemetry config PATCH request (and updating tests accordingly), running the independent API enablement calls in parallel to improve performance, and simplifying the feature name to 'Crashlytics' for cleaner CLI output.
- Move firebasetelemetry client utility from src/gcp/ to src/crashlytics/ - Add updateMask parameter to TelemetryConfig PATCH requests - Parallelize firebasetelemetry and firebasetelemetryadmin API enablement - Simplify billing prompt feature name to 'Crashlytics' - Clarify crashlytics:onboard command description for web apps - Revert unrelated changes to src/deploy/extensions/validate.ts TAG=agy CONV=0cf98957-1b4e-437c-8a79-5ff873b6c315
bryanatkinson
force-pushed
the
crashlytics-web-onboarding
branch
from
July 29, 2026 19:37
a1a55d6 to
9d8f182
Compare
- Rename command to crashlytics:onboard:web - Update command file to src/commands/crashlytics-onboard-web.ts - Update registration in src/commands/index.ts - Update CHANGELOG.md entry TAG=agy CONV=0cf98957-1b4e-437c-8a79-5ff873b6c315
tonybaroneee
approved these changes
Jul 30, 2026
tonybaroneee
marked this pull request as ready for review
July 30, 2026 03:34
crashlytics:onboard:web command
tonybaroneee
approved these changes
Jul 30, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Adds support for onboarding Firebase Web Apps to Crashlytics via the
crashlytics:onboardcommand.firebasetelemetry.googleapis.comandfirebasetelemetryadmin.googleapis.com).firebase-telemetrywith observability analytics enabled, with automatic fallback to patch existing buckets.firebase-telemetry-routingto routefirebasetelemetry.googleapis.com/Appresources to the dedicated telemetry bucket.Scenarios Tested
bryan-crash-cli-onboarding).1:894118895927:web:dad71d14e9abaa7d543ab2in projectcrash-test-app-87b7aand1:298871010406:web:f0b7551fb086db3dafe9a7in projectbryan-crash-cli-onboarding.npx mocha src/gcp/cloudlogging.spec.ts src/crashlytics/onboarding.spec.ts).Sample Commands