I have written a python script to pull list of groups and associated users in ICCS using API.
In script you need to replace url and Id and password that has admin access in your environment.
Here is the script
import requests
import json
sid=''
url = "https:Infaurl/api/v2/user/login"
payload = json.dumps({
"username": "Adminuser",
"password": "Adminpassword"
})
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
login=json.loads(response.text)
for i in login:
if i=="icSessionId":
sid=login[i]
#print(sid)
groupurl = "https://infaurl/public/core/v3/userGroups?limit=50"
payload = {}
grpheaders = {
'INFA-SESSION-ID': sid
}
groupresponse = requests.request("GET", groupurl, headers=grpheaders, data=payload)
data=groupresponse.json()
#print(groupresponse.text)
groupresponsestring = json.dumps(data, ensure_ascii=False)
#groupresponsestring=data.decode('utf-8')
groupresponse2=json.loads(groupresponsestring)
for block in groupresponse2:
user_group_name = block.get("userGroupName")
user_names = [user['userName'] for user in block.get('users', [])]
for user_name in user_names:
print(user_group_name, ":", user_name)
groupurl2 = "https://infaurl/public/core/v3/userGroups?limit=50&skip=50"
groupresponsepart2 = requests.request("GET", groupurl2, headers=grpheaders, data=payload)
data2=groupresponsepart2.json()
#print(groupresponse.text)
groupresponsestring2 = json.dumps(data2, ensure_ascii=False)
#groupresponsestring=data.decode('utf-8')
groupresponse21=json.loads(groupresponsestring2)
for block2 in groupresponse21:
user_group_name2 = block2.get("userGroupName")
user_names = [user['userName'] for user in block2.get('users', [])]
for user_name in user_names:
print(user_group_name2, ":", user_name)
groupurl3 = "https://infaurl/public/core/v3/userGroups?limit=50&skip=100"
groupresponsepart3 = requests.request("GET", groupurl3, headers=grpheaders, data=payload)
data3=groupresponsepart3.json()
#print(groupresponse.text)
groupresponsestring3 = json.dumps(data3, ensure_ascii=False)
#groupresponsestring=data.decode('utf-8')
groupresponse3=json.loads(groupresponsestring3)
for block3 in groupresponse3:
user_group_name3 = block3.get("userGroupName")
user_names = [user['userName'] for user in block3.get('users', [])]
for user_name in user_names:
print(user_group_name3, ":", user_name)
groupurl4 = "https://infaurl/public/core/v3/userGroups?limit=50&skip=150"
groupresponsepart4 = requests.request("GET", groupurl4, headers=grpheaders, data=payload)
data4=groupresponsepart4.json()
#print(groupresponse.text)
groupresponsestring4 = json.dumps(data4, ensure_ascii=False)
#groupresponsestring=data.decode('utf-8')
groupresponse4=json.loads(groupresponsestring4)
for block4 in groupresponse4:
user_group_name4 = block4.get("userGroupName")
user_names = [user['userName'] for user in block4.get('users', [])]
for user_name in user_names:
print(user_group_name4, ":", user_name)
Comments
Post a Comment