Scheduled pipelines become inactive when a user is removed from the parent group, even if they still have project access through inherited or direct membership

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

Summary

A scheduled pipeline incorrectly becomes inactive when the schedule owner's direct membership is removed from a parent group, even though the owner still has proper access to the project through:

  • Inherited membership from a subgroup, OR
  • Direct membership to the project itself

This affects users even when they have direct membership to the scheduled pipeline project. Removing their membership from a parent group causes the schedule to become inactive.

Steps to reproduce

Scenario 1: Inherited membership through subgroup

  1. Create the following group/project hierarchy:

    • parent-group
    • parent-group/child-subgroup
    • parent-group/child-subgroup/project-with-schedule
  2. Add a test user with proper permissions to both:

    • parent-group (direct membership)
    • parent-group/child-subgroup (direct membership)
  3. Have the test user create a scheduled pipeline in parent-group/child-subgroup/project-with-schedule

  4. Remove the test user's direct membership from parent-group (but keep their membership in parent-group/child-subgroup)

  5. Observe the scheduled pipeline status becomes inactive

Scenario 2: Direct project membership

  1. Create the following group/project hierarchy:

    • parent-group
    • parent-group/child-subgroup
    • parent-group/child-subgroup/project-with-schedule
  2. Add a test user with proper permissions to both:

    • parent-group (direct membership)
    • parent-group/child-subgroup/project-with-schedule (direct project membership)
  3. Have the test user create a scheduled pipeline in parent-group/child-subgroup/project-with-schedule

  4. Remove the test user's direct membership from parent-group (but keep their direct project membership)

  5. Observe the scheduled pipeline status becomes inactive

What is the current bug behavior?

The scheduled pipeline becomes inactive when the owner loses direct membership from a parent group, even though they still have valid access to the project through:

  • Inherited membership via a subgroup, OR
  • Direct project membership

What is the expected correct behavior?

The scheduled pipeline should remain active as long as the owner has any valid access to the project, whether through:

  • Direct project membership
  • Inherited membership through subgroups

Output of checks

This bug happens on GitLab.com

Edited by 🤖 GitLab Bot 🤖