How to access Certification Items from a CertificationGroup object in a SailPoint Rule

Which IIQ version are you inquiring about?

8.3

Share all details about your problem, including any error messages you may have received.

I’m writing a rule where I start with a list of CertificationGroup objects, and for each of these groups I need to drill down to the underlying certification data. These are for entitlements, so things like the manager/reviewed identities, applications, item status, entitlement description, decisions (approved/revoked), sign-off date, etc.

I’ve tried the following without success:

Created QueryOptions with the below filters to use in a context.search(Certification.class, queryOptions)

  • Filter.eq(“certificationGroup”, group) → Error: could not resolve property: certificationGroup of: sailpoint.object.Certification

  • Filter.eq(“certificationGroupId”, group.getId()) → Same error

CertificationGroup only has a method to return the number of total certifications, but no way to return the actual Certification objects. I can also retrieve the CertificationDefinition from the group, but I can’t find a way to reach its related Certifications/Certification Items.

What’s the correct way to drill down to the objects I need?

Hi, you can search on the Certification object to get the Certification objects related to a CertificationGroup.

Here is a sample code, you can additionally get the CertificationEntity and CertificationItems from the Certification object


  QueryOptions options = new QueryOptions();
  
  //options.addFilter(Filter.eq("certificationDefinitionId","")); // you can also use certification definition from CertificationGroup to get the certifications in a group 
 
  String certificationGrpName = "Manager Certification Test";

  options.addFilter(Filter.eq("certificationGroups.name",certificationGrpName));

  List certifications = context.getObjects(Certification.class,options);

  if(certifications!=null && !certifications.isEmpty()){

    for(Certification certification : certifications){

      if(certification!=null){

        log.info("Certification : " + certification.getName());

       // you can get CertificationEntity from Certification and CertificationItems from CertificationEntity
        

      }


    }



  }