workwithjirausers.ps1
#####################################################
# workwithJiraUsers.ps1
# Adde oder entferne Benutzer aus einer Jiragruppe
# borwinius / 2022
# Jiramodul muss auf dem Tenfoldserver installiert sein
# Benutzer muss in Gruppe JiraProjectUsers sein und sich einmal am Jiraserver angemeldet haben!
# wenn Benutzer schon in Gruppe ist aber in Gruppe eingefügt werden soll, dann trotzdem in tenfold eintragen
# wenn Benutzer nicht in Gruppe ist aber aus Gruppe entfernt werden soll, dann trotzdem aus tenfold entfernen
#####################################################
 
$username = $params.request.person.masterdata.userName
$rti = $params.request.type.id
$server = $params.server
$jgrp = $params.group
$jsrv = "https://$server/"
 
#####Remoteverbindung zum JIRA-Server testen
 
# prüfe ob der Port 443 offen ist
if (-not (Test-NetConnection -ComputerName $server -Port 443).TcpTestSucceeded){
    throw "error: Server $server auf Port 443 nicht erreichbar!";
    }
else {
    Set-JiraConfigServer -Server $jsrv
 
 	#Prüfe ob die lokale Jiragruppe auf dem Server existiert
    if (-not (Get-JiraGroup -GroupName $jgrp -Credential $cred -ErrorAction SilentlyContinue)){
    	throw "error: Groupname $jgrp does not exist on $jsrv"}
 
    #Prüfe ob der Benutzer Mitglied der lokalen Jiragruppe ist
    $ismember = ((Get-JiraGroupMember -Group $jgrp -Credential $cred | select name) -like "*$username*")
 
    #Benutzer aus Jira-Gruppe entfernen
    if ($ismember -and $rti -eq 3)
 
        {#'Name in Gruppe, lösche Benutzer aus Gruppe'
            Remove-JiraGroupMember -Group $jgrp -User $username -Credential $cred -Confirm:$false
        }
    #Benutzer in Jira-Gruppe zufügen
    elseif((!$ismember) -and $rti -eq 1)
        {#' nicht in Gruppe, adde Benutzer in Gruppe'
            Add-JiraGroupMember -Group $jgrp -user $username -Credential $cred -Confirm:$false
        }
}