Hi,
Since Atlassian is pretty ignorant in providing a REST endpoint to (de)activate a jira user in Jira Software Server, removing all groups from the user isn't sufficient enough and Bob Swift's CLI is way to slow, I'm trying to deactivate a user by making a webrequest in powershell. Except I keep hitting the XSRF Security Token Missing error.
Does anyone know what I'm doing wrong? Here's the script:
$username = "currentUsername"
$fullname = "User Name"
$email = "username@domain.com"
$active = "false"
$editName = "newUsername"
$adminUsername = "admin"
$adminPassword = "password"
$jiraUrl = "https://jira.domain.com"
$loginUrl="$jiraUrl/login.jsp"
$authUrl="$jiraUrl/secure/admin/WebSudoAuthenticate.jspa"
$deactivateUrl="$jiraUrl/secure/admin/user/EditUser.jspa"
$postParams = @{os_username='$adminUsername';os_password='$adminPassword';os_destination=''}
$temp = Invoke-WebRequest -Uri $loginUrl -SessionVariable session -Method POST -Body $postParams -ContentType "application/x-www-form-urlencoded"
Write-Host $xsrfToken
Write-Host $xsrfToken.GetType().FullName
$postParams = @{atl_token=$xsrfToken;decorator='dialog';username=$username;fullName=$fullname;email=$email;active=$active;editName=$editName;returnUrl='UserBrowser.jspa'}
Invoke-WebRequest -Uri $deactivateUrl -WebSession $session -Method POST -Body $postParams -ContentType "application/x-www-form-urlencoded" | Out-String
The Write-Host output looks correct:
YADA-YADA-YADA-YADA_13d2ad076a732acced5b8da9f3d21abab6eea7cc_lout
System.String
Thanks in advance!