Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

Next challenges

Recent achievements

  • Global
  • Personal

Recognition

  • Give kudos
  • Received
  • Given

Leaderboard

  • Global

Trophy case

Kudos (beta program)

Kudos logo

You've been invited into the Kudos (beta program) private group. Chat with others in the program, or give feedback to Atlassian.

View group

It's not the same without you

Join the community to find out what other Atlassian users are discussing, debating and creating.

Atlassian Community Hero Image Collage

How-to create multiple users in Jira with one batch run

Requirement

You have a lot of users in a CSV file and you don't want to add them manually to Jira.

Your skills

  • you know how to create and edit CSV files
  • you can edit configuration files
  • you have create user rights on Jira (Administrator)
  • you have PHP installed
    • for Linux: there a packages for most distributions available (Ubuntu: apt-get install php php-curl php-xml)
    • for Win: get a package here https://windows.php.net/download
      • enable curl in php.ini: extension=C:\<path to>\php\ext\php_curl.dll
      • enable ssl in php.ini, if your site is HTTPS: extension=C:\<path to>\php\ext\php_openssl.dll
  • (optional) PHP coding xp if you would like to extend the script.

Before you run the script

  • Atlassians REST API function to create users is experimental.
  • This function doesn't allow to select a specific user directory. Make sure the one where you would like to create users is the primary (in the UI).
  • The created users will grant access to Jira-Software.
  • The script has just the minimum required lines of code - you can spend a couple of hours to make it more comfortable / dynamic.
  • The script supports sites with self-signed SSL certs.

Prepare the CSV file

  • one line per new user
  • delimiter is ";"
  • column 1 = username
  • column 2 = password
  • column 3 = email
  • column 4 = displayed user name
  • save the file to users.csv

Adapt the script to your needs

Copy & paste the script to a file called createusers.php and modify the 5 "define" values to your needs. Note that adding a password with special characters (like '$') will not work without escaping.

<?php
define('JIRA_URL', 'https://mydomain.com');
define('USER', 'user');
define('PASS', 'pass');
define('CSVFILE', 'users.csv');
define('FILELENGTH', 2048);


function create_user($json) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt_array($ch, array(
CURLOPT_POST => 1,
CURLOPT_URL => JIRA_URL . '/rest/api/latest/user',
CURLOPT_USERPWD => USER . ':' . PASS,
CURLOPT_POSTFIELDS => $json,
CURLOPT_HTTPHEADER => array('Content-type: application/json','User-Agent: x'),
CURLOPT_RETURNTRANSFER => true,
CURLOPT_SSL_VERIFYPEER => 0
));
$result = curl_exec($ch);

if(!$result) {
trigger_error(curl_error($ch));
exit(1);
}

if (!curl_errno($ch)) {
switch ($http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE)) {
case 201:
break;
default:
echo "Request failed with HTTP-Code: ", $http_code, "\n";
var_dump($result);
exit(1);
}
}

curl_close($ch);
}

$handle = fopen(CSVFILE, "r");
if ($handle) {
while (($data = fgetcsv($handle, FILELENGTH, ";")) !== FALSE) {

$uname = utf8_decode($data[0]);
$upass = utf8_decode($data[1]);
$uemail = utf8_decode($data[2]);
$udname = utf8_decode($data[3]);

$request = '{"name":"'.$uname.'","password":"'.$upass.'","emailAddress":"'.$uemail.'","displayName":"'.$udname.'","applicationKeys":["jira-software"]}';

echo "New user " . $uname ;
create_user($request);
echo " created.\n";
}
fclose($handle);
} else
echo "The file " . CSVFILE . " could not be opened!\n";

?>

Run the script in Linux

php -f /path/to/createusers.php

Run the script on Win PowerShell

.\php.exe -f \path\to\createusers.php

 (developed and tested with PHP 7.0.33-0ubuntu0.16.04.1 an Jira Server 7.12.3)

1 comment

Mohammed Amine Community Leader Sep 26, 2020

a suggestion : if you can adapt the script for shell. Thank you for this article.

Comment

Log in or Sign up to comment
TAGS
Community showcase
Published in Jira Software

How to create Jira issus from Excel file?

When to use CSV importer When managing your processes in Jira, there are many occasions where you need to create a lot of tasks. Creating them one by one will cost you a lot of time and effort and i...

5,415 views 22 39
Read article

Community Events

Connect with like-minded Atlassian users at free events near you!

Find an event

Connect with like-minded Atlassian users at free events near you!

Unfortunately there are no Community Events near you at the moment.

Host an event

You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events

Events near you