Trigger mergeRequestMergeStatusUpdated when pipeline state changes
What does this MR do and why?
When Pipelines must succeed
setting is enabled, pipeline state affects the mergeability of the MR.
In order for the frontend to show updated status of merge widget in real-time when pipeline state changes, we need to trigger the mergeRequestMergeStatusUpdated
GraphQL subscription for the following state transitions:
running
success
failed
canceled
skipped
This is behind the pipeline_trigger_merge_status
feature flag.
Screenshots
Success
Running
Failed, Canceled or Skipped (when not considered as successful)
How to set up and validate locally
- Enable
pipeline_trigger_merge_status
andrealtime_mr_status_change
(this is so frontend can update in real-time) feature flags. - Create a project with pipeline that runs on MRs.
- Enable
Pipelines must succeed
underSettings > Merge requests
. - Create a MR.
- On a separate window or terminal, push some changes to the MR's branch.
- See the merge widget update its state in real-time depending on the status of the pipeline.
MR acceptance checklist
This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.
-
I have evaluated the MR acceptance checklist for this MR.
Related to #372524 (closed)
Edited by Patrick Bajao