Implement Hotspot Root Cause Analysis experiment
What does this MR do and why?
This MR implements the Root Cause Analysis Hotspot experiment. Key changes include:
- Created a new component:
root_cause_analysis_hotspot_experiment.vue - Wraps
RootCauseAnalysisButtonwithRootCauseAnalysisHotspotExperiment - Replaces RootCauseAnalysisButton with RootCauseAnalysisHotspotExperiment in:
app/assets/javascripts/ci/job_details/job_app.vueapp/assets/javascripts/ci/pipelines_page/components/failure_widget/failed_job_details.vue
- Added the feature flag configuration:
config/feature_flags/experiment/root_cause_analysis_hotspot.yml - Added the hotspot gif and initial tracking along with associated specs
This MR does not include:
- Persisted callout logic for User on popover dismissal (to be handled in follow-on MR)
- Full tracking for hotspot persisted / dismissed - and render_hotspot abiding by that logic to be handled in follow-on MR
References
Please include cross links to any resources that are relevant to this MR. This will give reviewers and future readers helpful context to give an efficient review of the changes introduced.
MR acceptance checklist
Please evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.
Screenshots or screen recordings
Screenshots are required for UI changes, and strongly recommended for all other merge requests.
| Before (Control) | After (Candidate) |
|---|---|
Tracking:
rca-experiment-first-half-tracking rca-experiment-second-half-tracking
How to set up and validate locally
Numbered steps to set up and validate the change are strongly suggested.
## Steps
- Have Duo setup (see https://docs.gitlab.com/ee/development/ai_features/index.html)
Or apply this patch 507261.patch
- Ensure GitLab SAAS is setup with GITLAB_SIMULATE_SAAS=1
- Enable the feature flag
`root_cause_analysis_hotspot` - Visit a job details page with a failed job and verify the hotspot or control button appears in place of the standard Root Cause Analysis button
- Click the hotspot and confirm it opens the Duo chat interface with the correct job context
- Visit the pipelines page with a failed job and confirm the hotspot appears in the failed job details section
- Click the hotspot from the pipelines page and verify it correctly opens Duo chat with the appropriate job information
- Verify tracking events are captured with Snowplow inspector when interacting with the hotspot and experiment
Related to #521443



