HI ,
Im trying to add user to a specific project role in a project by using JIRA rest api and invoking it throw a power shell ,but when i'm passing json data as below , its giving me "Remote server returned error:400 bad request" error.
Invoke Rest-Method -Uri "https://jira url/jira/rest/api/2/project/project id/role/ role id" -Method post -Headers $Headers -Body $data1 -ContentType "application/json"
Json data
$data= @"
{
"user" : ["userid/name"]
}
"@
$data1= $data | ConvertTo-Json
and please let me know whether i have to use PUT/POST functionality to add user to project role and its helpful if any code need to be added to Json .
Hey Madhuri,
This should work for you
curl -D- -u <username>:<password> -H "Content-Type:application/json" -X POST -d '{"user":["username"]}' -k https://jira-stg.example.com/rest/api/2/project/ABC/role/10002
Using Node.js
//Use .defaults({strictSSL: false}) to by pass SSL certificate or https connection var request = require('request').defaults({strictSSL: false}) var headers = { 'Content-Type': 'application/json' }; var dataString = '{"user":["cinguva","apawl"]}'; var options = { url: 'https://jira-stg.gogoair.com/rest/api/2/project/PSOBAT/role/10002', method: 'POST', headers: headers, body: dataString, auth: { 'user': 'admin', 'pass': 'password' } }; function callback(error, response, body) { console.log(error); } request(options, callback);
Hope this helps
Reference threads and this one
Cheers
Chander
The curl command worked for me for setting the project role. How would you unselect a role?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
There is a set of ROLE APIs. One of them (GET) is used to get all the roles and the ID of each:
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Thanks it helps me to add users to a project using role id. As each user is having different role id so just replace while assigning role to respective member.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hello,
just wanted to share a simple Power shell script that will add users to project roles directly from a CSV file. You will need 3 columns in the CSV - User (username of the user in JIRA), Project (project key), and RoleID (ID of the role).
and
With just a little bit of adjustment, it can be used for many more in JIRA.
$csvpath="C:\YOURPATHTOCSV\YourCSVFile.csv"
$auth = "Yourusername:Yourpassword"
$Encoded = [System.Text.Encoding]::UTF8.GetBytes($auth)
$authorizationInfo = [System.Convert]::ToBase64String($Encoded)
$headers = New-Object "System.Collections.Generic.Dictionary[[String],[String]]"
$headers.Add("Content-Type", "application/json")
$headers.Add("Authorization","Basic $($authorizationInfo)")
$csvfile = Import-Csv -Path $csvpath -Delimiter ";" #change to , if you use comma as delimiter
Foreach($el in $csvfile){
$body = "{`"user`": [`"$($el.User)`"]}"
$response = Invoke-RestMethod "https://YOURURL/rest/api/2/project/$($el.Project)/role/$($el.RoleID)" -Method 'POST' -Headers $headers -Body $body
$response | ConvertTo-Json
}
You need to edit bold parts of the code accordingly.
Have a nice day!
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi @David Hrdý
I liked the look of your script and want to give it a try. I made a tiny adjustment to hopefully use a personal access token. I still need to upgrade my instance of Jira so I haven't been able to test it, but I was wondering if you could take a quick look to see if my adjustments look alright?
$csvpath="C:\YOURPATHTOCSV\YourCSVFile.csv"
$auth = "YourToken"
#$Encoded = [System.Text.Encoding]::UTF8.GetBytes($auth)
#$authorizationInfo = [System.Convert]::ToBase64String($Encoded)
$headers = New-Object "System.Collections.Generic.Dictionary[[String],[String]]"
$headers.Add("Content-Type", "application/json")
$headers.Add("Authorization","Bearer $($auth)")
$csvfile = Import-Csv -Path $csvpath -Delimiter ";" #change to , if you use comma as delimiter
Foreach($el in $csvfile){
$body = "{`"user`": [`"$($el.User)`"]}"
$response = Invoke-RestMethod "https://YOURURL/rest/api/2/project/$($el.Project)/role/$($el.RoleID)" -Method 'POST' -Headers $headers -Body $body
$response | ConvertTo-Json
}
Thanks,
Tim
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hello, I have a scenario from my user . Situation is he wants around 100 users to be added to around 20 projects and assigned to multiple project roles. Can you suggest through curl example. From my end. we are not creating new groups due to our maintenance issues in jira. Without groups. is it possible through rest api from curl to achive this. Summarizinfg again. Adding m,ultople users to multiple project roles for around 20 projects. Please suggest/.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Online forums and learning are now in one easy-to-use experience.
By continuing, you accept the updated Community Terms of Use and acknowledge the Privacy Policy. Your public name, photo, and achievements may be publicly visible and available in search engines.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.