GitLab Admin feature to transfer Scheduled Pipeline Ownership to another user
Description
I have a feature request. Currently when a scheduled pipeline is created, it is owned by the user creating the schedule. When their account is deactivated, that scheduled pipeline breaks. Unfortunately in a larger organization it is difficult to keep track of which projects have scheduled pipelines and who is the owner in case they leave the company and their account is deactivated.
Additional details
I propose having a scheduled pipelines admin page that shows every scheduled pipeline in the gitlab installation along with who owns it. That way when an account is being deactivated, we can easily see which scheduled pipelines they own and transfer ownership immediately.
This part is done..
Also, one way around this is to have scheduled pipelines owned by "service accounts". These accounts use an email alias and aren't owned by a specific employee, rather they're owned by a team. We use service accounts for API keys, for example.
It would be very convenient if people had permission to transfer ownership to other accounts, for example service accounts. That way they can immediately schedule pipelines owned by the account and not have to worry about pipelines breaking when their personal account is deactivated. Currently that is a cumbersome process that involves temporarily logging into the service account and creating the schedule there, but it could be much easier by transferring ownership while logged into my personal account.
I realize the permission complexity of doing this, how do you control which accounts a user can transfer ownership to, etc. But I think its worth exploring.
On Take Ownership feature:
It does not [Solve the problem] because the button will only transfer ownership to myself. I'd like to transfer ownership to a special service account without having to log out of my personal account and log into that service account. I'd also like to see all scheduled pipelines and their owners, all in one table.
Proposal
MVC
A first iteration may be to auto-assign the pipeline to the project owner when a user with a scheduled pipeline is deleted / removed from the project.
The use cases for this would be:
- Users removed from the project
- Users in a blocked state for the project
Possible iterations
A second iteration may be to alert on delete that the user has active scheduled pipelines which need to be transferred. Transfer/reassign ownership would need to be then developed.