Pipeline Use of 'includes' Should Allow Developer and Maintainer Access Levels for YML Files in Other Projects.

Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.

Proposal

When using includes in a GitLab CI/CD pipeline that is referencing a .yml file in another project, in order for the pipeline to run and complete successfully, the user running the pipeline must also have the Owner access level in the other project that contains the .yml file.

example:

include:
  - project: 'department1/gitlab-includes/some_script'
    ref: main
    file: '.script.yml'

So if I want to include the .script.yml file in the department1/gitlab-includes/some_script project in my pipeline, I need to be an Owner of department1/gitlab-includes/some_script, whereas I might just be a user with a Developer or Maintainer access level. I don't want to change anything in department1/gitlab-includes/some_script. I just want my pipeline to use .script.yml within.

At present, there are two ways around this:

1. Make the project public. Not possible in many use cases.

2. You can setup a mirror into a new group/project (on the same host) and set your includes in your pipelines to the new mirrored project. The users will sill need to have the owner access level on the mirrored project, but that will separate the need to have owner on the original project.

The request here is that includes also be functional in this way with the Developer and Maintainer access levels, in addition to the Owner access level.

Edited by 🤖 GitLab Bot 🤖