AzureAD GLM (Group Lifecycle Management) - Manage AzureAD groups Using ARS tile

AMavurapu
New Contributor
New Contributor

Hello All,

I am working on Azure AD GLM - Update/manage Entitlement use case, referring Saviynt document "https://docs.saviyntcloud.com/bundle/AzureAD-v23x/page/Content/Configuring-the-Integration-for-Manag..." updated and tried with below two UpdateGroupJSON in AzureAD connection Type. Updated role description from ARS/Manage AAD of a test entitlement which created update entitlement pending task for Azure AD endpoint and Update entitlement provisioning task failed with below errors and what is customproperty16 from below JSON. Could you please provide the details of how to achieve GLM - AzureAD manage groups/entitlements Using ARS tile. Thanks in Advance.....

UpdateGroupJSON: V1

{
  "connection": "userAuth",
  "url": "https://graph.microsoft.com/v1.0/groups/${entitlementValue.entitlementID}",
  "httpMethod": "PATCH",
  "httpParams": "${(customproperty16=='office365')?'{\"description\": \"+roles.description\", \"displayName\": \"+roles.displayname\", \"groupTypes\": [\"Unified\"], \"mailEnabled\": true, \"mailNickname\": \"+roles.displayname\", \"securityEnabled\": false,\"owners@odata.bind\": [\"+allOwner\"]}': '{\"description\": \"+roles.description\", \"displayName\": \"+roles.displayname\", \"groupTypes\": [], \"mailEnabled\": false, \"mailNickname\": \"+roles.displayname\", \"securityEnabled\": true,\"owners@odata.bind\": [\"+allOwner\"]}'}",
  "httpHeaders": {
    "Authorization": "${access_token}",
    "Content-Type": "application/json"
  },
  "httpContentType": "application/json"
}

Error:

<br> Unrecognized token '$': was expecting ('true', 'false' or 'null') at [Source: ${(customproperty16=='office365')?'{"description": "+roles.description", "displayName": "+roles.displayname", "groupTypes": ["Unified"], "mailEnabled": true, "mailNickname": "+roles.displayname", "securityEnabled": false,"owners@odata.bind": ["+allOwner"]}': '{"description": "+roles.description", "displayName": "+roles.displayname", "groupTypes": [], "mailEnabled": false, "mailNickname": "+roles.displayname", "securityEnabled": true,"owners@odata.bind": ["+allOwner"]}'}; line: 1, column: 2]

 

UpdateGroupJSON: V2

{
"connection": "userAuth",
"url": "https://graph.microsoft.com/v1.0/groups/${entitlementValue.entitlementID}",
"httpMethod": "PATCH",
"httpParams": {
\"description\": \"+roles.description\"
},
"httpHeaders": {
"Authorization": "${access_token}",
"Content-Type": "application/json"
},
"httpContentType": "application/json"
}

 Error:

<br> Cannot get property 'httpParams' on null object 

 

Thanks

Anitha Mavurapu

8 REPLIES 8

sudeshjaiswal
Saviynt Employee
Saviynt Employee

Hello @AMavurapu,

customproperty16 is the typo error, there is no such binding variable present, instead please use roles.customproperty16.
Can you please use the below json and try,
{
"connection": "userAuth",
"url": "https://graph.microsoft.com/v1.0/groups/${entitlementValue.entitlementID}",
"httpMethod": "PATCH",
"httpParams": "${(roles.customproperty16=='office365')?'{\"description\": \"+roles.description\", \"displayName\": \"+roles.displayname\", \"groupTypes\": [\"Unified\"], \"mailEnabled\": true, \"mailNickname\": \"+roles.displayname\", \"securityEnabled\": false,\"owners@odata.bind\": [\"+allOwner\"]}': '{\"description\": \"+roles.description\", \"displayName\": \"+roles.displayname\", \"groupTypes\": [], \"mailEnabled\": false, \"mailNickname\": \"+roles.displayname\", \"securityEnabled\": true,\"owners@odata.bind\": [\"+allOwner\"]}'}",
"httpHeaders": {
"Authorization": "${access_token}",
"Content-Type": "application/json"
},
"httpContentType": "application/json"


Thanks,

Hi Sudesh, 

Thank you so much for the above response.

I did try above Json that you provided, but provisioning update entitlement pending task failed with below error. I am not sure what is going wrong here, any thoughts/inputs/suggestions. Thanks in Advance....

Error:

AMavurapu_0-1695360960607.png

UpdateGroupJSON:

{
"connection": "userAuth",
"url": "https://graph.microsoft.com/v1.0/groups/${entitlementValue.entitlementID}",
"httpMethod": "PATCH",
"httpParams": "${(roles.customproperty21=='office365')?'{\"description\": \"+roles.description\", \"displayName\": \"+roles.displayname\", \"groupTypes\": [\"Unified\"], \"mailEnabled\": true, \"mailNickname\": \"+roles.displayname\", \"securityEnabled\": false,\"owners@odata.bind\": [\"+allOwner\"]}': '{\"description\": \"+roles.description\", \"displayName\": \"+roles.displayname\", \"groupTypes\": [], \"mailEnabled\": false, \"mailNickname\": \"+roles.displayname\", \"securityEnabled\": true,\"owners@odata.bind\": [\"+allOwner\"]}'}",
"httpHeaders": {
"Authorization": "${access_token}",
"Content-Type": "application/json"
},
"httpContentType": "application/json"
}

Note: Used customproperty21 instead customproperty16.

FYI - Updated connection, Provisioning Connection parameters with same connection with AzureAD connection type in which updateGroupJson is configured.

AMavurapu_1-1695361415577.png

FYI - Below are custom property attributes holding the values of below mapped parameters when tried to create an entitlement/group.

Custom Property 21 - AADGroup Type (Office365)

Custom property 22 - Mail Enabled (1)

Custom property 23 - Security Enabled (1)

Custom property 24 - Team (1)

Custom property 25 - Channel (1)

Custom property 26 - Channel Name (Test_Channel_MKT)

Custom Property 27 - Channel Description (Test_Channel_MKT)

AMavurapu_5-1695362012932.png

 

AMavurapu_3-1695361753303.png

 

Thanks

Anitha Mavurapu

sudeshjaiswal
Saviynt Employee
Saviynt Employee

Hello @AMavurapu,

Sorry for the late response,
Please try with the below json,

{
  "connection": "userAuth",
  "url": "https://graph.microsoft.com/v1.0/groups/${entitlementValue.entitlementID}",
  "httpMethod": "PATCH",
  "httpParams": "{\"description\": \"${roles.description}\", \"displayName\": \"${roles.displayname}\", \"groupTypes\": [\"${(roles.customproperty21=='Office365')?'Unified':''}\"], \"mailEnabled\": \"${roles.customproperty22 == '1' ? true : false}\", \"mailNickname\": \"${roles.displayname}\", \"securityEnabled\": \"${roles.customproperty23 == '1' ? true : false}\",\"owners@odata.bind\": [\"${allOwner}\"]}",
  "httpHeaders": {
    "Authorization": "${access_token}",
    "Content-Type": "application/json"
  },
  "httpContentType": "application/json"
}

Thanks

norameehan
New Contributor
New Contributor

Hi Sudesh, 

I confirmed with Anitha we have already been provided this JSON and attempted, but still receiving errors during provisioning task (null pointer exception). 

Anitha can provide further details if needed, but we also met with our assigned TAM this morning on this issue who suggested we open up a ticket at this point as well.

If there are any other insights/information you can provide to assist with resolving this issue though that would be much appreciated. ASAP is needed as this issue is delaying migration to production activities. 

Thanks, 

Nora 

(MajorKey PM)

 

Try below

{
 "connection": "userAuth",
  "url": "https://graph.microsoft.com/v1.0/groups",
  "httpMethod": "POST",
  "httpParams": "{\"description\": \"${roles.description}\", \"displayName\": \"${roles.displayname}\", \"groupTypes\": [\"${(roles.customproperty21=='Office365')?'Unified':''}\"], \"mailEnabled\": \"${roles.customproperty22 == '1' ? true : false}\", \"mailNickname\": \"${roles.displayname}\", \"securityEnabled\": \"${roles.customproperty23 == '1' ? true : false}\",\"owners@odata.bind\": [\"${allOwner}\"]}",
  "httpHeaders": {
   "Authorization": "${access_token}",
    "Content-Type": "application/json"
  },
  "httpContentType": "application/json"
}

Regards,
Rushikesh Vartak
If the response is helpful, please click Accept As Solution and kudos it.

Hello @AMavurapu , @norameehan,

Please confirm whether passing a static value in the JSON works. Also, are you still getting the same error as before? Please share the logs snippet.

Please also give a try with the below json as well.

{
  "connection": "userAuth",
  "url": "https://graph.microsoft.com/v1.0/groups/${entitlementValue.entitlementID}",
  "httpMethod": "PATCH",
  "httpParams": "{\"description\": \"${roles.description}\", \"displayName\": \"${roles.displayname}\", \"groupTypes\": [\"${(roles.customproperty21=='Office365')?'Unified':''}\"], \"mailEnabled\": \"${roles.customproperty22 == '1' ? true : false}\", \"mailNickname\": \"${roles.displayname}\", \"securityEnabled\": \"${roles.customproperty23 == '1' ? 'true' : 'false'}\",\"owners@odata.bind\": [\"${allOwner}\"]}",
  "httpHeaders": {
    "Authorization": "${access_token}",
    "Content-Type": "application/json"
  },
  "httpContentType": "application/json"
}


Thanks.

Hi Sudesh and Rushikesh, 

Thank you for your follow ups! We are still receiving the same errors though with attempting to use either JSON (both yours and Rushikesh's provided), and either static or dynamic values. 

Please see the logs snippet, and our JSON values below:

Note: we are receiving the SAME error every time (http parameters 

norameehan_0-1698349013374.jpeg

CreateGroupJSON:
 
Version1:
{
"connection": "userAuth",
"url": "https://graph.microsoft.com/v1.0/groups/${entitlementValue.entitlementID}",
"httpMethod": "PATCH",
"httpParams": "{\"description\": \"${roles.description}\", \"displayName\": \"${roles.displayname}\", \"groupTypes\": [\"${(roles.customproperty21=='Office365')?'Unified':''}\"], \"mailEnabled\": \"${roles.customproperty22 == '1' ? true : false}\", \"mailNickname\": \"${roles.displayname}\", \"securityEnabled\": \"${roles.customproperty23 == '1' ? 'true' : 'false'}\",\"owners@odata.bind\": [\"${allOwner}\"]}",
"httpHeaders": {
"Authorization": "${access_token}",
"Content-Type": "application/json"
},
"httpContentType": "application/json"
}
 
Version2:
{
"connection": "userAuth",
"url": "https://graph.microsoft.com/v1.0/groups/${entitlementValue.entitlementID}",
"httpMethod": "PATCH",
"httpParams": "{\"displayName\": \"${roles.displayname}\", \"groupTypes\": [\"${(roles.customproperty21=='Office365')?'Unified':''}\"], \"mailEnabled\": \"${roles.customproperty22 == '1' ? true : false}\", \"mailNickname\": \"${roles.displayname}\", \"securityEnabled\": \"${roles.customproperty23 == '1' ? 'true' : 'false'}\"}",
"httpHeaders": {
"Authorization": "${access_token}",
"Content-Type": "application/json"
},
"httpContentType": "application/json"
}
 
Please advise of any suggestions for immediate resolution. 
Thank you! 
Nora 

 

sudeshjaiswal
Saviynt Employee
Saviynt Employee

Hello @norameehan @AMavurapu,

Can you please provide the snippet in the text form as it's barely readable.

Thanks.