I'm needing to convert one of our old soap scripts to rest, for adding new users to specific groups.
This is basically a bash script that uses curl to post to the endpoint.
The problem is that many of our groups have space in the names (eg "MyCompany Retail") and somewhere this is being ignored.
I've tried replacing the spaces in the string with either a + or %20, but these seem to be ignored, claiming the user is already part of "MyCompany".
Is such a thing possible?..
As you can see below (sorry that it's a bit untidy, I copied something we were using for another function) I ended up using %20 as it was replacing spaces.
I thought it wasn't working as the 'previously existing' return code check returns a 1 instead of a 0, but (if you ignore the last if statement shown below) it does actually work as I can see the group membership changing in the admin interface.
# create json formated output to send it
# send user create request to JIRA
create_result=$(curl -H \
-u $JIRA_ADMIN_USER:$JIRA_ADMIN_PASSWORD \
-H "Accept: application/json" \
-H "Content-Type:application/json" \
-X POST "$JIRA_URL/rest/api/2/group/user?groupname=$GROUP_NAME" \
--data "$(generate_post_data)" \
echo $create_result | grep -q "\"name\":\"$USER_NAME\""
if [ $? -eq 0 ]; then
echo "User ($USER_NAME) added to $GROUPNAME."
echo "ERROR: user NOT added to group!"
Connect with like-minded Atlassian users at free events near you!Find a group
Connect with like-minded Atlassian users at free events near you!
Unfortunately there are no AUG chapters near you at the moment.Start an AUG
We're bringing product updates and pro tips on teamwork to ten cities around the world.Save your spot