Alla Sasikanth
Alla Sasikanth

Reputation: 563

Adding a bulk number of users to Jenkins

To create a new user in Jenkins, admin needs to provide a username, emialID and password. Being an admin, is there a way to add a large number of users to Jenkins at a time by providing their username as their mail id, display name as their name and a common password*?
*Assuming that password will be reset at the time of each user logging in

Upvotes: 2

Views: 3045

Answers (3)

Upen
Upen

Reputation: 1438

I am using the below groovy script to add a user to Jenkins and provide only build permission.

import hudson.model.*
import hudson.security.*
import hudson.tasks.Mailer

def userId = args[0]
def password = args[1]
def email = args[2]
def fullName= args[3]
def instance = jenkins.model.Jenkins.instance
def existingUser = instance.securityRealm.allUsers.find {it.id == userId}

if (existingUser == null) {
    def user = instance.securityRealm.createAccount(userId, password)
    user.addProperty(new Mailer.UserProperty(email));
    user.setFullName(fullName)

    def strategy = (GlobalMatrixAuthorizationStrategy) 
    instance.getAuthorizationStrategy()
    strategy.add(hudson.model.Item.BUILD,userId)
    instance.setAuthorizationStrategy(strategy)
    instance.save()
}

The script is invoked using jenkins-cli.

Upvotes: 2

Mor Lajb
Mor Lajb

Reputation: 2636

looks like the Jenkins cli doesn't support add users , but check this one - using groovy script you can do it.

Creating user in Jenkins via API

if you want give specific permissions per job , maybe you can use the CLI get-job & update-job commands.

Or you can try check this one - Jenkins Add permissions to jobs using groovy it discuses almost the same ...

Upvotes: 0

Hasson
Hasson

Reputation: 1914

It is easier to connect Jenkins to LDAP. See this plugin here

Upvotes: 0

Related Questions