Paging step based on response attribute containing @ symbol

Did you get a chance to try this? if this doesn’t work, you can make this change,

#set($nextLink = $response[“@odata”]?.nextLink)
#if($nextLink)
$log.info(“Next Link: $nextLink”)
$endpoint.fullUrl = $nextLink
#else
$log.error(“Next Link is null or not found in the response.”)
TERMINATE
#end

I see you are trying to integrate ISC with the GRAPH API, does the standard connector not meet your needs?

You can always revert to a before operation rule so you can use Java code to handle the pagination.

Hi @svenkitachalam ,

As per the experience i have, working with GRAPH API, when we reach the last page, in that case odata.nextLink property will be completely missing from the response. So can you please try below snippet of the code and see if that helps

#set($defaultNextLink = "NO_NEXT_LINK_AVAILABLE")
#if($response && $response.@odata && [email protected])
    #set($nextLink = [email protected])
    $endpoint.fullUrl = $nextLink
#else
    #set($nextLink = $defaultNextLink)
#end
TERMINATE IF $nextLink =="NO_NEXT_LINK_AVAILABLE"

I have not tried it yet in ISC but just extending the VLT logic mentioned above by other colleagues. Please check and let us know if this helps. Otherwise, please try with @colin’s suggestion.

Thank you.
Regards
Vikas.

Thanks all for your inputs. I got it working with the below paging steps:

TERMINATE_IF $response.[‘@odata.nextLink’]$ == NULL
$endpoint.fullUrl$ = $response.[‘@odata.nextLink’]$

This is the syntax to escape @ symbol in JSON path expression.

The standard connector doesn’t let you manage all the attributes which SailPoint support confirmed and hence having to implement a webservice connector instead.

1 Like