Important Update Effective February 1, 2024!
Due to recent changes in Jira and Confluence, we've made the tough decision to discontinue the OpenID Connect (OIDC)/OAuth app and no longer provide new versions for the newest Jira/Confluence releases as of January 31, 2024.
This is due to some necessary components no longer shipping with Jira/Confluence, which would require some extensive rewrites of the OIDC App.
Important Update! This app will be discontinued soon!
Due to recent changes in Jira, which no longer ships with some components required for our Read Receipts app to run, we've made the tough decision to discontinue the app, as of Februar 5, 2025.
Important Update! This app will be discontinued soon!
We've made the tough business decision to discontinue the app, as of January 11, 2025.
Use groovy code to cleanup a user
Problem:
In our organization, we have custom requirements about when a user should be deactivated during a sync. How can I achieve this?
Solution:
UserSync supports writing groovy code in order to make decisions about whether a user should be cleaned up or not.
To activate this, go to Edit on your UserSync connector, select the Sync tab, and check the Use Groovy to decide about cleaning up a user option.
The default function cleans up a user if the user has not been updated during the sync. Thus, if the last modification timestamp (timestamp(atlasUser)) was before the current sync (syncStartedAtTimestamp).
Parameter Name | Meaning |
---|---|
syncStartedAtTimestamp | Timestamp of when the sync started in milliseconds |
atlasUser | The object representing the user |
If you see the need for a custom function but have problems realizing it, please contact us at https://www.resolution.de/go/support.
Example
"Users should not be cleaned up if they are members of the group 'Always Active'".
boolean shouldCleanup(AtlasUser atlasUser, long syncStartedAtTimestamp) {
long userTimestamp = timestamp(atlasUser)
boolean timestampBeforSyncStarted = userTimestamp < syncStartedAtTimestamp
boolean userIsInAlwaysActiveGroup = atlasUser.getAttributeValues("ATTR_GROUPS")?.contains("Always Active")
return timestampBeforSyncStarted && !userIsInAlwaysActiveGroup
}