Skip to content

Create show page for a trigger job

Mireya Andres requested to merge bridge-page-vue-app into master

What does this MR do and why?

For #345046

This sets up the show page for a bridge/trigger job. This is hidden behind the :ci_retry_downstream_pipeline feature flag.

In the pipeline graph, jobs that trigger a downstream pipeline currently link to the page for the downstream pipeline. In this MR, we are changing the behavior by creating a show page for the trigger job. In the future, this page will contain actions for retrying the whole downstream pipeline, or for retrying only the failed/canceled jobs in the downstream pipeline.

To keep a clean separation of data, and because the retry actions will be implemented in graphQL, we decided to implement a separate vue app instead of integrating the new show page with the existing job vue app (which uses REST and vuex). A trigger job also doesn't have any of the extra components shown in a job page (such as artifacts, logs, etc.).

This MR is just for setting up the page. Fetching and displaying the job details will be implemented in another MR to reduce bloat on this one.

Screenshots or screen recordings

Regualr Job Page Trigger Job Page
Current Job Page Trigger Job Page
FF Disabled (links to downstream pipeline) FF Enabled (links to trigger show page)
downstream_pipeline trigger_job_page

How to set up and validate locally

  1. Enable the ci_retry_downstream_pipeline feature flag. (rails c then Feature.enable(:ci_retry_downstream_pipeline))
  2. Add the following content to your .gitlab-ci.yml file:
    stages:
      - prepare
      - deploy
    
    job:
      stage: prepare
      script:
        - echo "running prepare_job"
    
    triggerJob:
      stage: deploy
      trigger:
        include:
          - project: "/path/to/project" # replace with another project
            file: ".gitlab-ci.yml"
  3. Visit the pipeline and click on the triggerJob job pill.
  4. Site should redirect to the trigger show page.

MR acceptance checklist

This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.

Edited by Mireya Andres

Merge request reports