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

Dependent Call for Updating entitlement Customproperty is not working

rishabhgupta
New Contributor II
New Contributor II

I need to update one customproperty for the entitlement import from call1 in call2, but its failing.

in call1 we are getting list of entitlements 

"call1": {
"connection": "acctAuth",
"callOrder": 0,
"stageNumber": 0,
"http": {
"httpHeaders": {
"Authorization": "${access_token}"
},
"url": "https://<<Host Name>>/vedsdk/identity/browse",
"httpContentType": "application/json",
"httpMethod": "POST",
"httpParams": "{\"IdentityType\": 2}"
},
"listField": "Identities",
"keyField": "entitlementID",
"statusConfig": {
"active": "true",
"inactive": "false"
},
"colsToPropsMap": {
"entitlementID": "PrefixedUniversal~#~char",
"entitlement_value": "Name~#~char",
"status": "true",
"customproperty1": "FullName~#~char",
"customproperty2": "Universal~#~char"
},
"disableDeletedEntitlements": true
},

and in call2 i need to update one customproperty using response of call1

"call2": {
"connection": "acctAuth",
"callOrder": 1,
"stageNumber": 1,
"http": {
"httpHeaders": {
"Authorization": "${access_token}"
},
"url": "https://<<Host Name>>/vedsdk/Teams/local/${customproperty2}",
"httpContentType": "application/json",
"httpMethod": "GET"
},
"inputParams": {
"dependentCall": true
},
"listField": "Owners",
"keyField": "entitlementID",
"nextApiKeyField": "entitlementID",
"statusConfig": {
"active": "true",
"inactive": "false"
},
"colsToPropsMap": {
"customproperty4": "Owners.Name~#~char"
},
"disableDeletedEntitlements": true
}

but its failing and give below error

Failed url-https://<<Host Name>>/vedsdk/Teams/local/${customproperty2} for entType-Groups with Error Message-null
23 REPLIES 23

sudeshjaiswal
Saviynt Employee
Saviynt Employee

Hello @rishabhgupta,

Can you please share the postman reponse for the Call 1 and Call2, want to understant what exactly you want to pass in call 2 from Call1.
Please share the full postman response and body .

Thanks.

If you find the above response useful, Kindly Mark it as "Accept As Solution".

Call1 API : https://<<HostName>>/vedsdk/identity/browse

Post Method

Body : {IdentityType: 2}

for call1 response is:

{
"Identities": [
{
"FullName": "<Name>",
"IsGroup": true,
"Name": "Everyone",
"Prefix": "local",
"PrefixedName": "local:Everyone",
"PrefixedUniversal": "local:{<<Prefixed>>}",
"Type": 2,
"Universal": "{<<Prefixed>>}"
}]}


Call2 API : https://<<HostName>>/vedsdk/teams/local/{<<Prefixed>>}"

get method

and for call2 response is:

 

rishabhgupta_2-1701237810359.png

 

 

from call2 response i need to extract owner's name

 

sudeshjaiswal
Saviynt Employee
Saviynt Employee

Hello @rishabhgupta,

Thanks for sharing the details.
For dependent call we can only pass the ent id or ent value, also pls check if you are getting the same id in the second call.

Thanks

If you find the above response useful, Kindly Mark it as "Accept As Solution".

@sudeshjaiswal i tried by updating colsToPropsMap of call1 where i kept entitlementid="Universal~#~char" because for call2 in need universal. still it not working. 

failed url-https://<<Host Name>>/vedsdk/Teams/local/<<Userversal>> for entType-Groups with Error Message-null

sudeshjaiswal
Saviynt Employee
Saviynt Employee

Hello @rishabhgupta,

Can you please share the updated json and also check the logs.


Thanks.

If you find the above response useful, Kindly Mark it as "Accept As Solution".

Updated Json

 

"entitlementParams": {
"processingType": "SequentialAndIterative",
"successResponses": {
"statusCode": [
200
]
},
"entTypes": {
"Groups": {
"entTypeOrder": 0,
"call": {
"call1": {
"connection": "acctAuth",
"callOrder": 0,
"stageNumber": 0,
"http": {
"httpHeaders": {
"Authorization": "${access_token}"
},
"url": "https://<<Host Name>>/vedsdk/identity/browse",
"httpContentType": "application/json",
"httpMethod": "POST",
"httpParams": "{\"IdentityType\": 2}"
},
"listField": "Identities",
"keyField": "entitlementID",
"statusConfig": {
"active": "true",
"inactive": "false"
},
"colsToPropsMap": {
"entitlementID": "Universal~#~char",
"entitlement_value": "Name~#~char",
"status": "true",
"customproperty1": "FullName~#~char",
"customproperty2": "Universal~#~char"
},
"disableDeletedEntitlements": true
},
"call1": {
"connection": "acctAuth",
"callOrder": 1,
"stageNumber": 1,
"http": {
"httpHeaders": {
"Authorization": "${access_token}",
"Accept": "application/json"
},
"url": "https://<<HostName>>/vedsdk/teams/local/${entitlementID}",
"httpContentType": "application/json",
"httpMethod": "GET"
},
"inputParams": {
"entitlementname": "Groups"
},
"listField": "Owner",
"keyField": "entitlementID",
"colsToPropsMap": {
"Customproperty4": "Owner.Universal~#~char"
},
"disableDeletedEntitlements": true
}
}
}
}
},

 

 

logs

"Date Timestamp (UTC)","Service Name","Class Name","Thread Name","Log Level","Message"
"2023-11-29T10:39:33.153+00:00","ecm-worker","","","","2023-11-29T10:39:32.208006125Z stdout F 2023-11-29 10:39:32,207 [quartzScheduler_Worker-10] DEBUG services.EmailerService - before send email [subject:[PRE - PROD] - Import Job Failure Notification, from:[donotreplysaviyntpreprod@maersk.com], to:[asutosh.sahoo@maersk.com], text:<div><span>Following"
"2023-11-29T10:39:33.153+00:00","ecm-worker","","","","2023-11-29T10:39:32.208037525Z stdout F import has failed in Saviynt. Please see the details below."
"2023-11-29T10:39:33.153+00:00","ecm-worker","","","","2023-11-29T10:39:32.208044625Z stdout F <br><br><b>System Name</b> : Venafi"
"2023-11-29T10:39:33.153+00:00","ecm-worker","","","","2023-11-29T10:39:32.208050625Z stdout F <br><span><span><b>Reason"
"2023-11-29T10:39:33.153+00:00","ecm-worker","","","","2023-11-29T10:39:32.208054225Z stdout F of Failure</b> :"
"2023-11-29T10:39:33.153+00:00","ecm-worker","","","","2023-11-29T10:39:32.208057725Z stdout F <span>Failed to import one or more object types. Check the Job Log Details page for more information.<br></span></span><span><b>Job"
"2023-11-29T10:39:33.153+00:00","ecm-worker","","","","2023-11-29T10:39:32.208064325Z stdout F Start Date</b> :"
"2023-11-29T10:39:33.153+00:00","ecm-worker","","","","2023-11-29T10:39:32.208067725Z stdout F Wed Nov 29 10:39:28 UTC 2023<br></span></span><b>Job End Date</b>"
"2023-11-29T10:39:33.153+00:00","ecm-worker","","","","2023-11-29T10:39:32.208071025Z stdout F : Wed Nov 29 10:39:32 UTC 2023 <br> <br><span><b>Import"
"2023-11-29T10:39:33.153+00:00","ecm-worker","","","","2023-11-29T10:39:32.208074825Z stdout F logs</b> :<br></span><span>"
"2023-11-29T10:39:33.153+00:00","ecm-worker","","","","2023-11-29T10:39:32.208077825Z stdout F <table border='1' cellpadding='5'><tr><th>Job Attribute Name</th><th>Job Attribute Value</th></tr>"
"2023-11-29T10:39:33.153+00:00","ecm-worker","","","","2023-11-29T10:39:32.208092325Z stdout F <tr><td>Job Name</td><td>ApplicationDataImportJob</td></tr>"
"2023-11-29T10:39:33.153+00:00","ecm-worker","","","","2023-11-29T10:39:32.208096625Z stdout F <tr><td>Job Trigger Name</td><td>Venafi_Access_Import</td></tr>"
"2023-11-29T10:39:33.153+00:00","ecm-worker","","","","2023-11-29T10:39:32.208099825Z stdout F <tr><td>Job Status</td><td>Failed</td></tr>"
"2023-11-29T10:39:33.153+00:00","ecm-worker","","","","2023-11-29T10:39:32.208102525Z stdout F <tr><td>Failure Reason</td><td>Failed to import one or more object types. Check the Job Log Details page for more information.</td></tr>"
"2023-11-29T10:39:33.153+00:00","ecm-worker","","","","2023-11-29T10:39:32.208107225Z stdout F <tr><td>Connection Name</td><td>Venafi Preprod</td></tr><tr><td>Security System</td><td>Venafi</td></tr><tr><td>Job-Type</td><td>full</td></tr><tr><td>Import-Type</td><td>access</td></tr><tr><td>Error-In-Getting-Response-In-pullObjectsByRest</td><td>NullResponseFromTarget</td></tr><tr><td>Error-while-getting-Access-Import-Response-WebService-call-failed-with-responseStatusCode-null</td><td>Failed url-https://192.168.51.200/vedsdk/teams/local/local:{d73d1420-a405-427a-80be-c7cce1d3edde} for entType-Groups with Error Message-null</td></tr><tr><td>Groups-Inactivated</td><td>38</td></tr><tr><td>Entitlements2-Mapping-deleted</td><td>0</td></tr><tr><td>EntitlementMap-Mapping-deleted</td><td>0</td></tr></table><br></span>"
"2023-11-29T10:39:33.153+00:00","ecm-worker","","","","2023-11-29T10:39:32.208125925Z stdout F <br><span>Thank you,<br> Maersk Identity & Access"
"2023-11-29T10:39:33.153+00:00","ecm-worker","","","","2023-11-29T10:39:32.208128725Z stdout F Management <br> <br> Replies to this email are not"
"2023-11-29T10:39:33.153+00:00","ecm-worker","","","","2023-11-29T10:39:32.208131325Z stdout F monitored.<br> <br> If you have any questions, please contact the"

sudeshjaiswal
Saviynt Employee
Saviynt Employee

Hello @rishabhgupta,

Can you please try with the below json.

{
    "entitlementParams": {
        "processingType": "SequentialAndIterative",
        "successResponses": {
            "statusCode": [
                200
            ]
        },
        "entTypes": {
            "Groups": {
                "entTypeOrder": 0,
                "call": {
                    "call1": {
                        "connection": "acctAuth",
                        "callOrder": 0,
                        "stageNumber": 0,
                        "http": {
                            "httpHeaders": {
                                "Authorization": "${access_token}"
                            },
                            "url": "https://<<Host Name>>/vedsdk/identity/browse",
                            "httpContentType": "application/json",
                            "httpMethod": "POST",
                            "httpParams": "{\"IdentityType\": 2}"
                        },
                        "listField": "Identities",
                        "keyField": "entitlementID",
                        "statusConfig": {
                            "active": "true",
                            "inactive": "false"
                        },
                        "colsToPropsMap": {
                            "entitlementID": "Universal~#~char",
                            "entitlement_value": "Name~#~char",
                            "status": "true",
                            "customproperty1": "FullName~#~char",
                            "customproperty2": "Universal~#~char"
                        },
                        "disableDeletedEntitlements": true
                    },
                    "call2": {
                        "connection": "acctAuth",
                        "callOrder": 1,
                        "stageNumber": 1,
                        "http": {
                            "httpHeaders": {
                                "Authorization": "${access_token}",
                                "Accept": "application/json"
                            },
                            "url": "https://<<HostName>>/vedsdk/teams/local/${entitlementID}",
                            "httpContentType": "application/json",
                            "httpMethod": "GET"
                        },
                        "inputParams": {
                            "entitlementname": "Groups"
                        },
                        "listField": "Owner",
                        "keyField": "entitlementID",
                        "colsToPropsMap": {
                            "entitlementID": "Universal~#~char",
                            "entitlement_value": "Name~#~char",
                            "Customproperty4": "Universal~#~char"
                        },
                        "disableDeletedEntitlements": true
                    }
                }
            }
        }
    },
    "acctEntParams": {}
}

 

Thanks

If you find the above response useful, Kindly Mark it as "Accept As Solution".

@sudeshjaiswal we cannot map universal and name in call2 response inside owner we have universal of owner and name of owner. universal and name of entitlement will be inside ID in response

Capture1.PNG

@sudeshjaiswal can you please help me on this

=

sudeshjaiswal
Saviynt Employee
Saviynt Employee

Hello @rishabhgupta,

Can you please provide the complete response from the postman in the text format.

Thanks

 

If you find the above response useful, Kindly Mark it as "Accept As Solution".

sudeshjaiswal
Saviynt Employee
Saviynt Employee

Hello @rishabhgupta,

Can you please share the Postman response in the text format, considering the possibility of response issue with the API  and its unable to parse the data?

Thanks.

If you find the above response useful, Kindly Mark it as "Accept As Solution".

Hi @sudeshjaiswal we are using swagger to hit api and below are the response of both API

https://<<Host Name>>/vedsdk/identity/browse

- API response

{
"Identities": [
{
"FullName": "\\VED\\Identity\\Everyone",
"IsGroup": true,
"Name": "Everyone",
"Prefix": "local",
"PrefixedName": "local:Everyone",
"PrefixedUniversal": "local:{9aaebfda-fe58-4165-86b3-bb8c011a86d7}",
"Type": 2,
"Universal": "{9aaebfda-fe58-4165-86b3-bb8c011a86d7}"
},
{
"FullName": "\\VED\\Identity\\Network - Perimeter",
"IsGroup": true,
"Name": "Network - Perimeter",
"Prefix": "local",
"PrefixedName": "local:Network - Perimeter",
"PrefixedUniversal": "local:{82a67055-4e53-4b58-805c-16db0ad12ea2}",
"Type": 2,
"Universal": "{82a67055-4e53-4b58-805c-16db0ad12ea2}"
},
{
"FullName": "\\VED\\Identity\\IAM - PKI",
"IsGroup": true,
"Name": "IAM - PKI",
"Prefix": "local",
"PrefixedName": "local:IAM - PKI",
"PrefixedUniversal": "local:{78e0b16d-f604-4b5c-b0d9-147d32e9ca22}",
"Type": 2,
"Universal": "{78e0b16d-f604-4b5c-b0d9-147d32e9ca22}"
},
{
"FullName": "\\VED\\Identity\\IAM - PKI - Champion",
"IsGroup": true,
"Name": "IAM - PKI - Champion",
"Prefix": "local",
"PrefixedName": "local:IAM - PKI - Champion",
"PrefixedUniversal": "local:{2a259ae9-08d4-4088-bdcc-2654d4e9f4fb}",
"Type": 2,
"Universal": "{2a259ae9-08d4-4088-bdcc-2654d4e9f4fb}"
},
{
"FullName": "\\VED\\Identity\\Network - Kyndryl",
"IsGroup": true,
"Name": "Network - Kyndryl",
"Prefix": "local",
"PrefixedName": "local:Network - Kyndryl",
"PrefixedUniversal": "local:{d73d1420-a405-427a-80be-c7cce1d3edde}",
"Type": 2,
"Universal": "{d73d1420-a405-427a-80be-c7cce1d3edde}"
},
{
"FullName": "\\VED\\Identity\\Network - Perimeter - Champion",
"IsGroup": true,
"Name": "Network - Perimeter - Champion",
"Prefix": "local",
"PrefixedName": "local:Network - Perimeter - Champion",
"PrefixedUniversal": "local:{5500fdd3-76a3-4968-9624-4fa220d6576e}",
"Type": 2,
"Universal": "{5500fdd3-76a3-4968-9624-4fa220d6576e}"
},
{
"FullName": "\\VED\\Identity\\Network - Kyndryl - Champion",
"IsGroup": true,
"Name": "Network - Kyndryl - Champion",
"Prefix": "local",
"PrefixedName": "local:Network - Kyndryl - Champion",
"PrefixedUniversal": "local:{0eebe6fa-c6bd-4c37-9753-e4a029bbd3c2}",
"Type": 2,
"Universal": "{0eebe6fa-c6bd-4c37-9753-e4a029bbd3c2}"
},
{
"FullName": "\\VED\\Identity\\Teams - EV",
"IsGroup": true,
"Name": "Teams - EV",
"Prefix": "local",
"PrefixedName": "local:Teams - EV",
"PrefixedUniversal": "local:{0cb370e3-97d6-4f21-a27e-9eeee88def7c}",
"Type": 2,
"Universal": "{0cb370e3-97d6-4f21-a27e-9eeee88def7c}"
},
{
"FullName": "\\VED\\Identity\\IAM - AD",
"IsGroup": true,
"Name": "IAM - AD",
"Prefix": "local",
"PrefixedName": "local:IAM - AD",
"PrefixedUniversal": "local:{a47edfdb-7010-497e-a021-303c8ffc7313}",
"Type": 2,
"Universal": "{a47edfdb-7010-497e-a021-303c8ffc7313}"
},
{
"FullName": "\\VED\\Identity\\Teams - EV - Champion",
"IsGroup": true,
"Name": "Teams - EV - Champion",
"Prefix": "local",
"PrefixedName": "local:Teams - EV - Champion",
"PrefixedUniversal": "local:{97ce8933-e9ab-4305-a4f7-d1157be66c99}",
"Type": 2,
"Universal": "{97ce8933-e9ab-4305-a4f7-d1157be66c99}"
}
]
}

 and call 2 API 

https://<<HostName>>/vedsdk/teams/local/${entitlementID}

API response

{
"Assets": [
"\\VED\\Policy\\Installations\\Agentless\\Network - Perimeter"
],
"ID": {
"FullName": "\\VED\\Identity\\Network - Perimeter",
"IsGroup": true,
"Name": "Network - Perimeter",
"Prefix": "local",
"PrefixedName": "local:Network - Perimeter",
"PrefixedUniversal": "local:{82a67055-4e53-4b58-805c-16db0ad12ea2}",
"Type": 2,
"Universal": "{82a67055-4e53-4b58-805c-16db0ad12ea2}"
},
"Members": [
{
"FullName": "\\VED\\Identity\\<<Name>",
"Name": "<<NAME>>@crb.apmoller.net",
"Prefix": "local",
"PrefixedName": "local:<<NAME>>@crb.apmoller.net",
"PrefixedUniversal": "local:{d4778b22-794f-41bd-9279-a88c7044617a}",
"Type": 1,
"Universal": "{d4778b22-794f-41bd-9279-a88c7044617a}"
},
{
"FullName": "\\VED\\Identity\\<<NAme>>@crb.apmoller.net",
"Name": "<<NAME>>@crb.apmoller.net",
"Prefix": "local",
"PrefixedName": "local:<<NAME>>@crb.apmoller.net",
"PrefixedUniversal": "local:{be296fd0-f685-4047-b6ab-bde682916d34}",
"Type": 1,
"Universal": "{be296fd0-f685-4047-b6ab-bde682916d34}"
},
{
"FullName": "<<NAME>>",
"Name": "<<NAME/>>",
"Prefix": "AD+CLM AD Connector",
"PrefixedName": "AD+CLM AD Connector:ADMADE228",
"PrefixedUniversal": "AD+CLM AD Connector:6a76d258dc63914885f9919e51068623",
"Type": 1,
"Universal": "6a76d258dc63914885f9919e51068623"
}
],
"Owners": [
{
"FullName": "<<Full name>>",
"Name": "<<NAME>>",
"Prefix": "AD+CLM AD Connector",
"PrefixedName": "AD+CLM AD Connector:ADMSVI143",
"PrefixedUniversal": "AD+CLM AD Connector:426acbfafe3da94f8316ac53ff49b7fd",
"Type": 1,
"Universal": "426acbfafe3da94f8316ac53ff49b7fd"
}
],
"Products": [
"TLS"
]
}

sudeshjaiswal
Saviynt Employee
Saviynt Employee

Hello @rishabhgupta,

Can you please try to use the below json,

{
    "entitlementParams": {
        "processingType": "SequentialAndIterative",
        "successResponses": {
            "statusCode": [
                200
            ]
        },
        "entTypes": {
            "Groups": {
                "entTypeOrder": 0,
                "call": {
                    "call1": {
                        "connection": "acctAuth",
                        "callOrder": 0,
                        "stageNumber": 0,
                        "http": {
                            "httpHeaders": {
                                "Authorization": "${access_token}"
                            },
                            "url": "https://<<Host Name>>/vedsdk/identity/browse",
                            "httpContentType": "application/json",
                            "httpMethod": "POST",
                            "httpParams": "{\"IdentityType\": 2}"
                        },
                        "listField": "Identities",
                        "keyField": "entitlementID",
                        "statusConfig": {
                            "active": "true",
                            "inactive": "false"
                        },
                        "colsToPropsMap": {
                            "entitlementID": "Universal~#~char",
                            "entitlement_value": "Name~#~char",
                            "status": "true",
                            "customproperty1": "FullName~#~char",
                            "customproperty2": "Universal~#~char"
                        },
                        "disableDeletedEntitlements": true
                    },
                    "call2": {
                        "connection": "acctAuth",
                        "callOrder": 1,
                        "stageNumber": 1,
                        "http": {
                            "httpHeaders": {
                                "Authorization": "${access_token}",
                                "Accept": "application/json"
                            },
                            "url": "https://<<HostName>>/vedsdk/teams/local/${entitlementID}",
                            "httpContentType": "application/json",
                            "httpMethod": "GET"
                        },
                        "inputParams": {
                            "entitlementname": "Groups"
                        },
                        "listField": "",
                        "keyField": "entitlementID",
                        "colsToPropsMap": {
                            "entitlementID": "ID.Universal~#~char",
                            "entitlement_value": "ID.Name~#~char",
                            "Customproperty4": "Owners[0].Universal~#~char"
                        },
                        "disableDeletedEntitlements": true
                    }
                }
            }
        }
    },
    "acctEntParams": {}
}

Thanks.

If you find the above response useful, Kindly Mark it as "Accept As Solution".

@sudeshjaiswal its not working

rishabhgupta_0-1703586686793 (1).png

adding logs are well

2023-12-26T10:30:09.053+00:00","ecm-worker","","","","2023-12-26T10:30:08.175562088Z stdout F <tr><td>Connection Name</td><td>Venafi Preprod</td></tr><tr><td>Security System</td><td>Venafi</td></tr><tr><td>Job-Type</td><td>full</td></tr><tr><td>Import-Type</td><td>access</td></tr><tr><td>Groups-Inactivated</td><td>56</td></tr><tr><td>Error-In-Getting-Response-In-pullObjectsByRest</td><td>NullResponseFromTarget</td></tr><tr><td>Error-while-getting-Access-Import-Response-WebService-call-failed-with-responseStatusCode-null</td><td>Failed url-https://192.168.51.200/vedsdk/teams/local/{97ce8933-e9ab-4305-a4f7-d1157be66c99} for entType-Groups with Error Message-null</td></tr><tr><td>Entitlements2-Mapping-deleted</td><td>0</td></tr><tr><td>EntitlementMap-Mapping-deleted</td><td>0</td></tr></table><br></span>"
"2023-12-26T10:30:09.053+00:00","ecm-worker","","","","2023-12-26T10:30:08.175565688Z stdout F <br><span>Thank you,<br> Maersk Identity & Access"
"2023-12-26T10:30:09.053+00:00","ecm-worker","","","","2023-12-26T10:30:08.175567688Z stdout F Management <br> <br> Replies to this email are not"
"2023-12-26T10:30:09.053+00:00","ecm-worker","","","","2023-12-26T10:30:08.175569888Z stdout F monitored.<br> <br> If you have any questions, please contact the"
"2023-12-26T10:30:09.053+00:00","ecm-worker","","","","2023-12-26T10:30:08.175571988Z stdout F Maersk IT Service Desk </span><span><a href="https://removed-now.com/end_user_portal?id=service_desk_numbers " target="" rel="">here</a>"
"2023-12-26T10:30:09.053+0

[This message has been edited by moderator to mask sensitive info]

 

@sudeshjaiswal owner details is still not mapping to customproperty4 - it is still blank after import, can you help me

sudeshjaiswal
Saviynt Employee
Saviynt Employee

@rishabhgupta, What do you see in the logs are for cp4?

Thanks.

If you find the above response useful, Kindly Mark it as "Accept As Solution".

 

I could not see any mapping adding to cp4

 

"2024-01-02T05:14:30.725+00:00","ecm-worker","","","","2024-01-02T05:14:30.525912401Z stdout F 2024-01-02 05:14:30,525 [quartzScheduler_Worker-1] DEBUG rest.RestProvisioningService - HTTP URL: https://removed/teams/local/%7B82a67055-4e53-4b58-805c-16db0ad12ea2%7D "
"2024-01-02T05:14:30.725+00:00","ecm-worker","","","","2024-01-02T05:14:30.57644138Z stdout F 2024-01-02 05:14:30,576 [quartzScheduler_Worker-1] DEBUG rest.RestProvisioningService - Time Taken to populateEntitlementMapByConfig : 0.0"
"2024-01-02T05:14:30.725+00:00","ecm-worker","","","","2024-01-02T05:14:30.584501697Z stdout F 2024-01-02 05:14:30,584 [quartzScheduler_Worker-1] DEBUG rest.RestProvisioningService - Inside pullObjectsByRest"
"2024-01-02T05:14:30.725+00:00","ecm-worker","","","","2024-01-02T05:14:30.584529697Z stdout F 2024-01-02 05:14:30,584 [quartzScheduler_Worker-1] DEBUG rest.RestUtilService - Got showLogs = true"
"2024-01-02T05:14:30.725+00:00","ecm-worker","","","","2024-01-02T05:14:30.584535097Z stdout F 2024-01-02 05:14:30,584 [quartzScheduler_Worker-1] DEBUG rest.RestProvisioningService - Calling Webservice Url - https://removed/teams/local/%7B82a67055-4e53-4b58-805c-16db0ad12ea2%7D  with httpParams - null"
"2024-01-02T05:14:30.725+00:00","ecm-worker","","","","2024-01-02T05:14:30.584541697Z stdout F 2024-01-02 05:14:30,584 [quartzScheduler_Worker-1] DEBUG services.HttpClientUtilityService - calling executeRequestWithTimeoutConfig for api..."
"2024-01-02T05:14:30.725+00:00","ecm-worker","","","","2024-01-02T05:14:30.584545297Z stdout F 2024-01-02 05:14:30,584 [quartzScheduler_Worker-1] DEBUG services.HttpClientUtilityService - calling api..."
"2024-01-02T05:14:30.725+00:00","ecm-worker","","","","2024-01-02T05:14:30.584551697Z stdout F 2024-01-02 05:14:30,584 [quartzScheduler_Worker-1] DEBUG services.HttpClientUtilityService - before calling executeRequestWithHeaders for api..."
"2024-01-02T05:14:30.725+00:00","ecm-worker","","","","2024-01-02T05:14:30.584556697Z stdout F 2024-01-02 05:14:30,584 [quartzScheduler_Worker-1] DEBUG services.HttpClientUtilityService - isFipsEnabled = false"
"2024-01-02T05:14:30.725+00:00","ecm-worker","","","","2024-01-02T05:14:30.584612096Z stdout F 2024-01-02 05:14:30,584 [quartzScheduler_Worker-1] DEBUG services.HttpClientUtilityService - getHttpClient - proxyParams : null"
"2024-01-02T05:14:30.725+00:00","ecm-worker","","","","2024-01-02T05:14:30.584617896Z stdout F 2024-01-02 05:14:30,584 [quartzScheduler_Worker-1] DEBUG services.HttpClientUtilityService - getHttpClient - sslSocketFactory : null"
"2024-01-02T05:14:30.725+00:00","ecm-worker","","","","2024-01-02T05:14:30.596135277Z stdout F 2024-01-02 05:14:30,596 [quartzScheduler_Worker-1] DEBUG services.HttpClientUtilityService - setting connection timeout to 10 seconds and request timeout to 60 seconds"
"2024-01-02T05:14:30.725+00:00","ecm-worker","","","","2024-01-02T05:14:30.596381875Z stdout F 2024-01-02 05:14:30,596 [quartzScheduler_Worker-1] DEBUG services.HttpClientUtilityService - getHttpClient - HttpClientBuilder.create().build() called."
"2024-01-02T05:14:29.726+00:00","ecm-worker","","","","2024-01-02T05:14:28.736835345Z stdout F 2024-01-02 05:14:28,736 [quartzScheduler_Worker-1] DEBUG services.JobManagementGuardRailService - Query to get current executing Job : select job_name,trigger_name,entry_id,fired_time,trigger_group from qrtz_fired_triggers"
"2024-01-02T05:14:29.726+00:00","ecm-worker","","","","2024-01-02T05:14:28.7411911Z stdout F 2024-01-02 05:14:28,741 [quartzScheduler_Worker-1] DEBUG services.JobManagementGuardRailService - Exit getCurrentlyExecutingJobs "
"2024-01-02T05:14:29.726+00:00","ecm-worker","","","","2024-01-02T05:14:28.741220599Z stdout F 2024-01-02 05:14:28,741 [quartzScheduler_Worker-1] DEBUG services.JobManagementGuardRailService - allExecutingJobs :[[job_name:SapImportJob, trigger_name:MT_c2j5lk96p71bh, entry_id:NON_CLUSTERED1702891861089, fired_time:1704172460858, trigger_group:MANUAL_TRIGGER]]"
"2024-01-02T05:14:29.726+00:00","ecm-worker","","","","2024-01-02T05:14:28.74310268Z stdout F 2024-01-02 05:14:28,743 [quartzScheduler_Worker-1] DEBUG services.JobManagementGuardRailService - SapImportJob not available in the jobsConfig.samejobtype"
"2024-01-02T05:14:29.726+00:00","ecm-worker","","","","2024-01-02T05:14:28.74312888Z stdout F 2024-01-02 05:14:28,743 [quartzScheduler_Worker-1] DEBUG services.JobManagementGuardRailService - Only one instance is running.. Trigger Name : venafi_access_owner_import"
"2024-01-02T05:14:29.726+00:00","ecm-worker","","","","2024-01-02T05:14:28.74313478Z stdout F 2024-01-02 05:14:28,743 [quartzScheduler_Worker-1] DEBUG services.JobManagementGuardRailService - Inside validateRunningJobOfDifferentType"
"2024-01-02T05:14:29.726+00:00","ecm-worker","","","","2024-01-02T05:14:28.74314688Z stdout F 2024-01-02 05:14:28,743 [quartzScheduler_Worker-1] DEBUG services.JobManagementGuardRailService - Conflicting Groups Map : [UserImportJob:UserImportFullJob,UserImportIncrementalJob,SchemaUserJob, UserImportIncrementalJob:UserImportJob,UserImportFullJob,SchemaUserJob, UserImportFullJob:UserImportJob,UserImportIncrementalJob,SchemaUserJob, SchemaUserJob:UserImportJob,UserImportFullJob,UserImportIncrementalJob, ApplicationDataImportJob:SapImportJob, SapImportJob:ApplicationDataImportJob]"
"2024-01-02T05:14:29.726+00:00","ecm-worker","","","","2024-01-02T05:14:28.744221268Z stdout F 2024-01-02 05:14:28,744 [quartzScheduler_Worker-1] DEBUG services.JobManagementGuardRailService - Conflicting job group found for SapImportJob"
"2024-01-02T05:14:29.726+00:00","ecm-worker","","","","2024-01-02T05:14:28.744237368Z stdout F 2024-01-02 05:14:28,744 [quartzScheduler_Worker-1] DEBUG services.JobManagementGuardRailService - Checking if any of the currently running Jobs belongs to conflicting Job Group of SapImportJob"
"2024-01-02T05:14:29.726+00:00","ecm-worker","","","","2024-01-02T05:14:28.745282057Z stdout F 2024-01-02 05:14:28,745 [quartzScheduler_Worker-1] DEBUG services.JobManagementGuardRailService - validateRunningJobOfDifferentType result : true"
"2024-01-02T05:14:29.726+00:00","ecm-worker","","","","2024-01-02T05:14:28.745292457Z stdout F 2024-01-02 05:14:28,745 [quartzScheduler_Worker-1] DEBUG services.JobManagementGuardRailService - The SapImportJob is not a part of userimportjobs"
"2024-01-02T05:14:29.726+00:00","ecm-worker","","","","2024-01-02T05:14:28.787354424Z stdout F 2024-01-02 05:14:28,787 [quartzScheduler_Worker-1] DEBUG jobs.SapImportJob - Calling externalConnectionCallService"
"2024-01-02T05:14:29.726+00:00","ecm-worker","","","","2024-01-02T05:14:28.787391223Z stdout F 2024-01-02 05:14:28,787 [quartzScheduler_Worker-1] DEBUG jobs.SapImportJob - SAP IMPORT Job ID - 1442782"
"2024-01-02T05:14:29.726+00:00","ecm-worker","","","","2024-01-02T05:14:28.787396923Z stdout F 2024-01-02 05:14:28,787 [quartzScheduler_Worker-1] DEBUG integration.ExternalConnectionCallService - START INVOKING EXTERNAL CONNECTION"
"2024-01-02T05:14:29.726+00:00","ecm-worker","","","","2024-01-02T05:14:28.789413903Z stdout F 2024-01-02 05:14:28,789 [quartzScheduler_Worker-1] DEBUG integration.ExternalConnectionCallService - Key=tabDetail Value="
"2024-01-02T05:14:29.726+00:00","ecm-worker","","","","2024-01-02T05:14:28.789430802Z stdout F 2024-01-02 05:14:28,789 [quartzScheduler_Worker-1] DEBUG integration.ExternalConnectionCallService - Key=UpdateUserJSON Value="
"2024-01-02T05:14:29.726+00:00","ecm-worker","","","","2024-01-02T05:14:28.789434002Z stdout F 2024-01-02 05:14:28,789 [quartzScheduler_Worker-1] DEBUG integration.ExternalConnectionCallService - Key=SendOtpJSON Value="
"2024-01-02T05:14:29.726+00:00","ecm-worker","","","","2024-01-02T05:14:28.789440502Z stdout F 2024-01-02 05:14:28,789 [quartzScheduler_Worker-1] DEBUG integration.ExternalConnectionCallService - Key=accessfilteraccount Value="
"2024-01-02T05:14:29.726+00:00","ecm-worker","","","","2024-01-02T05:14:28.789443502Z stdout F 2024-01-02 05:14:28,789 [quartzScheduler_Worker-1] DEBUG integration.ExternalConnectionCallService - Key=ENDPOINTS_FILTER Value="
"2024-01-02T05:14:29.726+00:00","ecm-worker","","","","2024-01-02T05:14:28.789445902Z stdout F 2024-01-02 05:14:28,789 [quartzScheduler_Worker-1] DEBUG integration.ExternalConnectionCallService - Key=startdate Value="
"2024-01-02T05:14:29.726+00:00","ecm-worker","","","","2024-01-02T05:14:28.789448302Z stdout F 2024-01-02 05:14:28,789 [quartzScheduler_Worker-1] DEBUG integration.ExternalConnectionCallService - Key=ImportUserJSON Value="
"2024-01-02T05:14:29.726+00:00","ecm-worker","","","","2024-01-02T05:14:28.789453202Z stdout F 2024-01-02 05:14:28,789 [quartzScheduler_Worker-1] DEBUG integration.ExternalConnectionCallService - Key=EnableAccountJSON Value="
"2024-01-02T05:14:29.726+00:00","ecm-worker","","","","2024-01-02T05:14:28.789455402Z stdout F 2024-01-02 05:14:28,789 [quartzScheduler_Worker-1] DEBUG integration.ExternalConnectionCallService - Key=PasswdPolicyJSON Value="
"2024-01-02T05:14:29.726+00:00","ecm-worker","","","","2024-01-02T05:14:28.789459702Z stdout F 2024-01-02 05:14:28,789 [quartzScheduler_Worker-1] DEBUG integration.ExternalConnectionCallService - Key=accountsoraccess Value=access"
"2024-01-02T05:14:29.726+00:00","ecm-worker","","","","2024-01-02T05:14:28.789462002Z stdout F 2024-01-02 05:14:28,789 [quartzScheduler_Worker-1] DEBUG integration.ExternalConnectionCallService - Key=importTables Value="
"2024-01-02T05:14:29.726+00:00","ecm-worker","","","","2024-01-02T05:14:28.789464102Z stdout F 2024-01-02 05:14:28,789 [quartzScheduler_Worker-1] DEBUG integration.ExternalConnectionCallService - Key=TicketStatusJSON Value="
"2024-01-02T05:14:29.726+00:00","ecm-worker","","","","2024-01-02T05:14:28.789466102Z stdout F 2024-01-02 05:14:28,789 [quartzScheduler_Worker-1] DEBUG integration.ExternalConnectionCallService - Key=ConfigJSON Value={"

[This message has been edited by moderator to mask URL]

sudeshjaiswal
Saviynt Employee
Saviynt Employee

Hello @rishabhgupta,

We need to validate if ID.Name and ID.Universal are being stored in Customproperty or not, so to validate please add below sample in the second call, check if the data are being imported in the CP8 or not?

"listField": "",
"keyField": "entitlementID",
"colsToPropsMap": {
"entitlementID": "ID.Universal~#~char",
"entitlement_value": "ID.Name~#~char",
"customproperty8": "ID.Name~#~char"

Thanks.

If you find the above response useful, Kindly Mark it as "Accept As Solution".

@sudeshjaiswal this API is working now, one last question, if there are multiple owner in that array, can you provide me syntax to handle it, right now 

"colsToPropsMap": {
                            "entitlementID": "ID.Universal~#~char",
                            "entitlement_value": "ID.Name~#~char",
                            "Customproperty4": "Owners[0].Universal~#~char"

, above can handle only one owner adding in custom property. and one more question i need to map this in owners tab, its not happening i tried with below json

{
"globalSettings": {
"dateFormat": "yyyy-MM-dd'T'HH:mm:ss"
},
"accountParams": {
"createUsers": false,
"adminName": "admin",
"connection": "acctAuth",
"processingType": "SequentialAndIterative",
"statusAndThresholdConfig": {
"deleteLinks": false,
"accountThresholdValue": 100,
"correlateInactiveAccounts": true,
"inactivateAccountsNotInFile": false,
"deleteAccEntForActiveAccounts": false
},
"successResponses": {
"statusCode": [
200
]
},
"call": {
"call1": {
"callOrder": 0,
"stageNumber": 0,
"http": {
"url": "https://removed/identity/browse ",
"httpHeaders": {
"Authorization": "${access_token}",
"Accept": "application/json"
},
"httpContentType": "application/json",
"httpMethod": "POST",
"httpParams": "{\"IdentityType\": 1}"
},
"listField": "Identities",
"keyField": "accountID",
"colsToPropsMap": {
"accountID": "Universal~#~char",
"name": "Name~#~char",
"displayName": "#CONST#${String fname = response.FullName; fname=fname.replace('\\\\','\\\\\\\\')}~#~char",
"customproperty1": "PrefixedUniversal~#~char",
"customproperty2": "#CONST#${String fname = response.FullName; fname=fname.replace('\\\\','\\\\\\\\')}~#~char"
},
"disableDeletedAccounts": true
}
}
},
"entitlementParams": {
"processingType": "SequentialAndIterative",
"successResponses": {
"statusCode": [
200
]
},
"entTypes": {
"Groups": {
"entTypeOrder": 0,
"call": {
"call1": {
"connection": "acctAuth",
"callOrder": 0,
"stageNumber": 0,
"http": {
"httpHeaders": {
"Authorization": "${access_token}"
},
"url": "https://removed/identity/browse ",
"httpContentType": "application/json",
"httpMethod": "POST",
"httpParams": "{\"IdentityType\": 2}"
},
"listField": "Identities",
"keyField": "entitlementID",
"statusConfig": {
"active": "true",
"inactive": "false"
},
"colsToPropsMap": {
"entitlementID": "Universal~#~char",
"entitlement_value": "Name~#~char",
"status": "true",
"customproperty1": "FullName~#~char",
"customproperty2": "Universal~#~char"
},
"disableDeletedEntitlements": true
},
"call2": {
"connection": "acctAuth",
"callOrder": 1,
"stageNumber": 1,
"http": {
"httpHeaders": {
"Authorization": "${access_token}",
"Accept": "application/json"
},
"url": "https://removed/teams/local/%7B82a67055-4e53-4b58-805c-16db0ad12ea2%7D ",
"httpContentType": "application/json",
"httpMethod": "GET"
},
"inputParams": {
"entitlementname": "Groups"
},
"listField": "",
"keyField": "entitlementID",
"colsToPropsMap": {
"entitlementID": "ID.Universal~#~char",
"entitlement_value": "ID.Name~#~char",
"acctEntMappingInfoColumnFromEnt": "STORE#ACC#ENT#MAPPINGINFO~#~char",
"customproperty4": "Owners[0].PrefixedUniversal~#~char"
},
"disableDeletedEntitlements": true
}
},
"entOwnerMappings": {
"listField": "",
"idPath": "Owners[0].PrefixedUniversal",
"keyField": "customproperty33"
}
}
}
},
"acctEntParams": {
"connection": "acctAuth",
"successResponses": {
"statusCode": [
200
]
},
"entTypes": {
"Groups": {
"call": {
"call1": {
"callOrder": 0,
"stageNumber": 0,
"processingType": "httpEntToAcct",
"http": {
"httpHeaders": {
"Authorization": "${access_token}"
},
"url": "https://removed/identity/getmembers ",
"httpContentType": "application/json",
"httpMethod": "POST",
"httpParams": "{\"ID\": {\"PrefixedUniversal\": \"${id}\"}"
},
"listField": "Identities",
"entKeyField": "entitlementID",
"acctIdPath": "Universal",
"acctKeyField": "accountID"
}
},
"call2": {
"connection": "userAuth",
"callOrder": 0,
"stageNumber": 0,
"showJobHistory": true,
"processingType": "entToAcctMapping",
"ownerKeyField": "customproperty33"
}
}
}
}
}
}

[This message has been edited by moderator to mask URL]

sudeshjaiswal
Saviynt Employee
Saviynt Employee

Hello @rishabhgupta,

What is the value stored in custompropergty33  in user attribute ?

Please go throught this forum post, https://forums.saviynt.com/t5/identity-governance/mapping-servicenow-entitlement-owner-using-rest-ap... 

Thanks.




If you find the above response useful, Kindly Mark it as "Accept As Solution".

@sudeshjaiswal Actually i was try by adding owner PrefixedUniversal in custom property 33 of user (just for checking) but it didn't working, can we use any account attribute in keyField to map owner and owners are multiple

sudeshjaiswal
Saviynt Employee
Saviynt Employee

Hello @rishabhgupta,

Currently multiple owner import is not supported and what is the value being stored in the cp33.

Thanks.

Thanks.

If you find the above response useful, Kindly Mark it as "Accept As Solution".