Downstream pipeline job that uses environments with approvals is not clickable

Downstream pipeline job that uses environments with approvals is not clickable.

When job uses environments with approvals, and triggers downstream pipeline, job is not clickable in UI. It's difficult to understand that job requires approval. For regular jobs, we can click on job and we are redirected to view that explains that approval is required. See screenshots:

Downstream job, not clickable:

approval_downstream

Regular job, clickable:

approval_simple_job

We reproduce this by using the following setup:

  • create an environment named production and protect it requiring approval
  • create a simple upstream pipeline config as follows:
stages:          # List of stages for jobs, and their order of execution
  - build
  - test
  - deploy

build-job:       # This job runs in the build stage, which runs first.
  stage: build
  script:
    - echo "Compiling the code..."
    - echo "Compile complete."

trigger_job:
  trigger:
    include:
      - local: child-pipeline.yml
  environment: production
  • create the child pipeline config as follows:
downstream-job:       # This job runs in the build stage, which runs first.
  stage: test
  script:
    - echo "Compiling the code..."
    - echo "Compile complete."

The result in the pipeline view: no action possible on the trigger job and no indication that the reason here is that the environment approval has to be given.

FYI @ahergenhan

Enterprise ticket: https://support.gitlab.com/hc/en-us/requests/605820

Implementation guide

Problem

Manual jobs requiring approval have deployment page links in status.action.path, but this isn't used in the UI. In job_item.vue, blocked manual jobs lack detailsPath and hasDetails properties, preventing navigation to deployment details.

Required Changes

  • Update job_item.vue to use status.action.path when available
  • Enable navigation to deployment details for blocked manual jobs
  • Update UI to indicate when deployment details are accessible

Expected Outcome

Users can navigate to deployment details from blocked manual jobs, with a clear UI indication that this functionality exists.

Edited Apr 08, 2025 by Anna Vovchenko
Assignee Loading
Time tracking Loading