New Developer Tool: 🎉 Rule Java Docs Now Available on the SailPoint Developer Community 🎉

Ever had to write a rule in IdentityNow, but struggled to do so beacuse you didn’t have the docs? Then do we have some news for you!

You as a community have been asking SailPoint for over three years to provide documentation on the Java classes that make up the rules you need to write. We’re excited to announce today:

Rule Java Docs in the SailPoint Developer Community!

Here’s what the Rule Docs look like:

An Important Note

Because of the way that Java Docs are built, we could not provide the same, high-quality markdown interface that you are used to seeing in our docs. We do hope that we can find a solution for this in the long run, but for now we wanted to get these out to you as quickly as we could.

As always, we’d love to hear your feedback! If you notice that a method or class is not available for example, or notice that something is incorrect please let us know right here in the announcement, or you can send us a message directly.

12 Likes

Thanks @tyler_mairose. Highly Appreciate this :slightly_smiling_face:

1 Like

Thanks for this, very useful. Do you have more details of the PowerShell objects in the Utils.dll on the IQ Service? would be good to know what functions and objects are exposed for the AD ConnectorBeforeModify Rule for instance.

The snippets provided in the docs are ok, but are limited.

Thanks

3 Likes

OMG Finally! Much Appreciated

@Jhayes90 we’re here for you!

Thank you for bringing this! We appreciate the functionality, but without proper documentations is a lot harder to use it.

This is great and very appreciated! As for missing classes, in the stock SDIM “beforeProvisioning” rule there are imports for “SailPoint.object.IntegrationConfig”. I’d love if information on this class could be added to the Javadoc as well.

1 Like

There are a number of other missing classes that are referenced in the docs:

Under Application, there are methods that return Schema, AttributeDefinition, ProvisioningConfig, ObjectConfig, and Rule. There are other methods that take a Template.Usage.

Under ProvisioningPlan, there’s a reference to ProvisioningTarget and Message.

Under ProvisioningResult, there’s a reference to ResourceObject and Message.

Under Endpoint, there is sailpoint.object.Attributes. (Also, all of the “get” methods return void?)

Under Field, there is DynamicValue and Script.

Of course I know what these are from IIQ, but they aren’t in the IDN docs.

1 Like

Hey Rodrigo, welcome to the developer community and great point! We’ve had users writing Rules for years, so our first goal was to get the necessary Java Docs out ASAP so they were no longer flying blind.

Next step is to write more docs around writing Rules. Have you checked out our Rules docs that we have so far?

Anything you might hope to see in our next iteration of Rules docs?

Hey Chris, great catch on a missing Rule! Would you be willing to submit a feature request for that on our GitHub?

Hey Devin,

We couldn’t do it without you! Would you be willing to submit these missing rules as feature requests on our GitHub?

Done. [Feature] Add missing classes to the IDN Rule javadocs · Issue #240 · sailpoint-oss/developer.sailpoint.com · GitHub

Awesome! Thanks so much.

1 Like

Hello @richasg,

Welcome to the Developer Community! We are glad you find this useful!

The Utils.dll is only available to the IQ Service. There should not be any libraries in there that are available to the rule or the script itself.

The before/after…create/modify rules should only be using known PowerShell cmdlets.

We appreciate everyone that’s been submitting GitHub issues to help us track any issues or missing Java docs for Rules.

If you think something is missing or incorrect, submit an issue here.

Here’s an example one submitted by @nsorlien:

Hi Jordan,
I’ve read it many times and it was helpful with the examples also, but if its hard still today with some experience, the first impact was not good at all. I did not now what was possible to do with it(still don’t, but have to read this new doc) and what worked and what not for different connectors.
I still have problems with the logging of the rules, how to make some prints so I can guaranty that I’m using the variable I need and debug.
BR
Rodrigo Costa

This is great information to know, and will help us to shape where we go next with docs on Rules!