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

Earn badges and make progress

You're on your way to the next level! Join the Kudos program to earn points and save your progress.

Deleted user Avatar
Deleted user

Level 1: Seed

25 / 150 points

Next: Root

Avatar

1 badge earned

Collect

Participate in fun challenges

Challenges come and go, but your rewards stay with you. Do more to earn more!

Challenges
Coins

Gift kudos to your peers

What goes around comes around! Share the love by gifting kudos to your peers.

Recognition
Ribbon

Rise up in the ranks

Keep earning points to reach the top of the leaderboard. It resets every quarter so you always have a chance!

Leaderboard

Come for the products,
stay for the community

The Atlassian Community can help you and your team get more value out of Atlassian products and practices.

Atlassian Community about banner
4,456,970
Community Members
 
Community Events
176
Community Groups

Is it possible to create users via REST api?

Can I create a user that authenticates against a Delegated Authentication Directory via the REST api?  If so, can you provide an example using curl?

I've tried posting to /crowd/rest/usermanagement/latest/user but can't seem to get it right.

6 answers

2 votes

Here's an example of a POST to create a user (which should work for a delegated authentication directory as with any other writable directory):

curl -i -X POST http://crowd.corp.sf/crowd/rest/usermanagement/latest/user -H'Content-type: application/json' -H'Accept: application/json' -umyappname:myapppass -d'
{
    "email": "testuser@example.com",
    "name": "test.user",
    "password": {
        "value": "testpass"
    }
}'

(you'll need to specify the real name and password for a Crowd application for the -u flag of course)

In general, Crowd uses the same entities (json or xml layout) for fetching things, updating things, and creating things, so - for example - if you can fetch a user, then that will get you 90% of the way to creating an identical user.

Thanks Casper, I have done that but it only adds the user to the internal crowd directory. We have an internal directory and we also use Active Directory to authenticate users. We need to pre-populate the the LDAP directory for new users, otherwise they get an error on their first login attempt and need to wait until the directory syncronizes before they can login.

Which directory the user is created in is determined by the ordering of the directories in the application definition in Crowd: the user will be created in the first directory with create user permission. This is intentional; the idea of Crowd applications is that they don't notice that they are getting users from several different directories. To ensure the user is created in a particular directory, you can either disable create user permission in the internal directory, or move the delegated auth directory to the top position in the Crowd application definition, or create a separate application in Crowd which only contains the delegated auth directory. I get the impression that you're writing a standalone script, so I recommend that last option.

Hi ,

Is this possible with multiple groups can be created ? Does the REST API support this ?

Hi ,

Is this possible with multiple users ? Does the REST API support this ?

Thanks 

I am having same problem here. Can this related to multiple users using one request ? Please update me if you get an solution.

I know this is old but it may help others.  This link describes what JIRA user directory is used when creating/deleting users via REST API.

https://confluence.atlassian.com/jirakb/how-to-create-users-in-delegated-authentication-directory-using-jira-rest-api-779294020.html

Hope this helps.

Ahmad

Ahmad, I appreciate the response, however I am trying to add users in crowd, which has multiple directories.  Even if the answer holds true for crowd, There is no way that I can see to re-order the directories,

As it stands, we automatically create import files with new users and then manually invoke the import users function via crowd.

OK I see your point.  

As Casper mentioned, it's due to the directory order within the application you're authenticating as to run the command.

To ensure we're explicit about which directory the users are created in, we've had to create a unique application for each directory we want to create users/groups in, and then authenticate as that application for the REST call.

CCM

Just to clarify, I am able to add users to the Crowd Internal Directory. What I am attempting to do is to prepopulate a Delegated Directory that is connected to our company AD. Using the REST API, it does not seem to allow specification of which directory to add to, it always uses the CROWD Internal Directory.

0 votes
Pedro Cora Atlassian Team Oct 16, 2014

Yes, according to https://developer.atlassian.com/display/CROWDDEV/Crowd+REST+APIs you can use Crowd's REST interface to create users.

For more details, take a look on the REST documentation at https://developer.atlassian.com/display/CROWDDEV/Crowd+REST+Resources#CrowdRESTResources-UserResource

;)

-- Pedro

Pedro, thanks, I have already gone through all the documentation. I don't see where it allows you to specify which directory you want to add to. I have only been able to add to the default directory.

Suggest an answer

Log in or Sign up to answer
TAGS

Atlassian Community Events