Announcing the Saviynt Knowledge Exchange unifying the Saviynt forums, documentation, training,
and more in a single search tool across platforms. Read the announcement here.

Account Entitlement association is not updated.

Kumat
New Contributor
New Contributor

I'm using REST connector to collect accounts, entitlements and accEnt association using below JSON. Accounts and entitlements are successfully collected, But i don't see account entitlement association for any accounts. I was able to collect the assigned entitlements under account customproperty.

Please help me on why i don't see account entitlement association for ay accounts.

Here is the JSON i'm using 

{
"accountParams": {
"connection": "userAuth",
"processingType": "SequentialAndIterative",
"call": {
"call1": {
"callOrder": 0,
"stageNumber": 0,
"http": {
"url": "https://api.cloudflare.com/client/v4/accounts/09fd3a16b2b05b606bff7d91b2b9a4d7/members",
"httpHeaders": {
"Authorization": "${access_token}",
"Accept": "application/json"
},
"httpContentType": "application/json",
"httpMethod": "GET"
},
"listField": "result",
"keyField": "name",
"colsToPropsMap": {
"name": "user.email~#~char",
"accountID": "user.email~#~char",
"customproperty2": "user.id~#~char",
"customproperty7": "roles[0].id~#~char",
"customproperty31": "STORE#ACC#ENT#MAPPINGINFO~#~char"
}
}
},
"acctEntMappings": {
"roles": {
"listPath": "",
"idPath": "entitlement_value",
"keyField": "entitlementID",
"importAsEntitlement": true
}
}
},
"entitlementParams": {
"connection": "userAuth",
"processingType": "SequentialAndIterative",
"entTypes": {
"roles": {
"entTypeOrder": 0,
"entTypeLabels": {},
"call": {
"call1": {
"callOrder": 0,
"stageNumber": 0,
"http": {
"url": "https://api.cloudflare.com/client/v4/accounts/09fd3a16b2b05b606bff7d91b2b9a4d7/members",
"httpHeaders": {
"Authorization": "${access_token}",
"Accept": "application/json"
},
"httpContentType": "application/json",
"httpMethod": "GET"
},
"listField": "result",
"keyField": "entitlement_value",
"colsToPropsMap": {
"entitlementID": "roles.id~#~char",
"entitlement_value": "roles.id~#~char",
"displayname": "roles.name~#~char",
"customproperty1": "deleted~#~char",
"customproperty2": "created_at~#~char",
"customproperty3": "updated_at~#~char"
},
"disableDeletedEntitlements": true
}
}
}
}
},
"acctEntParams": {
"processingType": "acctToEntMapping"
}
}

 

 

Attached are the logs for reference

13 REPLIES 13

SB
Saviynt Employee
Saviynt Employee

This could be due to the acctEntMappings you have defined in the JSON. You can refer to the below REST Connector guide to understand the mapping (under ImportAccountEntJSON section) and update your JSON accordingly. 

https://docs.saviyntcloud.com/bundle/REST-v23x/page/Content/Examples-for-JSON-Construction.htm#Impor...

 


Regards,
Sahil

Kumat
New Contributor
New Contributor

Thank you for your response.

I followed the REST Connector Guide to create the JSON/Update the above JSON. Still i don't see it is working as expected. I opened a FD ticket even support suggested to refer to REST Connector Guide. But no luck. 

SB
Saviynt Employee
Saviynt Employee

Can you confirm if you are able to see the entitlement assigned to the account populating in CP31 of the account.

If this value is populating, can you update ConfigJSON param in the REST connection with value {"showLogs":true}. Run the job and share the log string Got Webservice API Response

 


Regards,
Sahil

Kumat
New Contributor
New Contributor

Here is what i see in the CP1 on the account.

Kumat_0-1681854409611.png

 

Attached are the logs.

 

Kumat
New Contributor
New Contributor

Already added showlogs = true

Kumat_1-1681854557919.png

 

There no mapping coming from target in accounts CP31. Does data is coming from postman if yes please share screenshot


Regards,
Rushikesh Vartak
If you find the response useful, kindly consider selecting Accept As Solution and clicking on the kudos button.

"result": [
        {
            "id""b207a793c9bf26622777038582c9692c",
            "user": {
                "id""14aaf9febdce4ef805a119fb7f682d84",
                "first_name"null,
                "last_name"null,
                "email""abcd@google.com",
                "two_factor_authentication_enabled"false
            },
            "api_access_enabled"null,
            "status""accepted",
            "roles": [
                {
                    "id""33666b9c79b9a5273fc7344ff42f953d",
                    "name""Super Administrator - All Privileges",
                    "description""Can edit any Cloudflare setting, make purchases, update billing, and manage memberships. Super Administrators can revoke the access of other Super Administrators.",
 
Kumat_0-1681917948842.png

 

SB
Saviynt Employee
Saviynt Employee

Can you check in the saviynt logs if you are seeing the data being pulled as well.

You can search for the keyword "Got Webservice API Response"


Regards,
Sahil

Kumat
New Contributor
New Contributor

I was able to see the date being pulled.

Kumat_0-1682014618079.png

 

SB
Saviynt Employee
Saviynt Employee

Can you update acctEntMappings as below and try.

"acctEntMappings": {
"roles": {
"listPath": "roles",
"idPath": "id",
"keyField": "entitlementID",
"importAsEntitlement": true
}
}


Regards,
Sahil

Kumat
New Contributor
New Contributor

I made the change and I assume we are back to square one.

Seeing the same error which i have seen earlier.

Log error:

2023-04-21/16:56:23.620 [{}] [quartzScheduler_Worker-6] DEBUG println.PrintlnToLogger - Println :: | Error java.lang.NullPointerException: Cannot invoke method get() on null object

UI job error:

Failed to import one or more object types due to
multiple errors. Check the Job Log Details page
for more information

Attached are the logs for reference.

SB
Saviynt Employee
Saviynt Employee

I checked this and it should be working now. We need to set the value for "importAsEntitlement": to false. We already have a separate call to import entitlements under entitlementParams so the entitlements will be imported with it.

"acctEntMappings": {
"roles": {
"listPath": "roles",
"idPath": "id",
"keyField": "entitlementID",
"importAsEntitlement": false
}
}


Regards,
Sahil

Kumat
New Contributor
New Contributor

Thank you issue is now resolved.