Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 

Add users via api

Swarna Radha
Contributor
September 4, 2019

Hi,

 

I want to add users as customers during workflow transition. 

Please my script below to add users but i am getting error :401

import groovy.json.JsonSlurper;
import groovy.json.StreamingJsonBuilder;
import com.atlassian.jira.ComponentManager;
import com.atlassian.jira.issue.CustomFieldManager;
import com.atlassian.jira.issue.fields.CustomField;
import com.atlassian.jira.issue.IssueManager;
import com.atlassian.jira.component.ComponentAccessor;
import com.atlassian.jira.issue.Issue;
import com.atlassian.jira.issue.MutableIssue
import org.apache.commons.codec.binary.Base64;
import groovyx.net.http.HTTPBuilder
import static groovyx.net.http.ContentType.*
import groovyx.net.http.ContentType
import static groovyx.net.http.Method.*
import groovy.json.JsonSlurper
import net.sf.json.groovy.JsonSlurper
import groovy.json.JsonOutput
import com.atlassian.jira.component.ComponentAccessor
import groovy.json.JsonBuilder


//def finalJSON = new JsonBuilder(jsonBody).toString().build()

def jsonBody = [:]

jsonBody.put("email", "fred10@example.com")
jsonBody.put("fullName", "Fred F. User10")


// Define Web API to post to
def baseURL = "http://jiradev.mcb.local:8080/rest/servicedeskapi/customer;"

// Establish Connection and post data

URL url = new URL(baseURL);
//URLConnection connection = url.openConnection();

HttpURLConnection connection = url.openConnection() as HttpURLConnection;
connection.requestMethod = "POST"
connection.doOutput = true
connection.setRequestProperty('Authorization', 'Basic ' + 'username:password'.bytes.encodeBase64().toString())
connection.setRequestProperty("Content-Type", "application/json;charset=UTF-8")
connection.outputStream
connection.outputStream.withWriter("UTF-8") { new StreamingJsonBuilder(it, jsonBody) }
connection.connect();
log.info ("URL="+url+"Status="+connection.getResponseCode() as String)

 

Kindly advice,

swarna

1 answer

1 accepted

0 votes
Answer accepted
PD Sheehan
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
September 4, 2019

I see you are using Jira Server ... why are you using the REST API?

You can connect directly to the Java API:

import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.user.UserDetails

def userManager = ComponentAccessor.userManager
newUserData = new UserDetails("fred10@example.com", "Fred F. User10").withEmail("fred10@example.com")
newUser = userManager.createUser(newUserData)

Suggest an answer

Log in or Sign up to answer