3

I have just a single instance of jenkins on a local machine which we are using to build our code. We have different project teams working on different projects, and different jobs for each project. To eliminate the possibility of someone from one team accidentally messing up another team's job, i have created multiple jenkins users. However, all of the users that can log on still see all of the jobs. Is there a way for certain users to only see the jobs that pertain to them?

I have searched extensively for something like this but no luck. I haven't found any plugins for this. I am using matrix based security currently, and although you can change the permissions of all the users through this, you can not apply specific permissions to specific jobs. At least to my knowledge. Any ideas?

Just to clarify, I want one of the many teams to log in to their user account in jenkins, and only see their jobs. The jobs of the other teams should not be visible, only the ones that they are assigned should be visible when they log on

The closest thing i have found for this is in the Role Strategy Plugin, there is a user-based job filter

SpencerRakoczy
  • 111
  • 2
  • 7

1 Answers1

8

Turns out there is a feature already in jenkins for this, no plugins necessary! In the Configure Global Security section in Manage Jenkins, click "Project-based matrix authorization strategy". Then you can configure permissions in the job configure screen for that particular job by clicking "enable project-based security".

Now you can configure your Jenkins so that "Joe can access project A, B, and C but he can't see D".

SpencerRakoczy
  • 111
  • 2
  • 7