Business Roles Custom Report

Hi Derrick

same is very much possible from reports as well. you will have to create a custom task definition for this. you can try the below code and give it a go

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE TaskDefinition PUBLIC "sailpoint.dtd" "sailpoint.dtd">
<TaskDefinition created="" executor="sailpoint.reporting.LiveReportExecutor" id="" modified="" name="Get users for a role" progressMode="Percentage" resultAction="Rename" subType="Identity and User Reports" template="true" type="LiveReport">
  <Attributes>
    <Map>
      <entry key="report">
        <value>
          <LiveReport title="UserReport">
            <DataSource objectType="sailpoint.object.Bundle" type="Filter">
              <QueryParameters>
                <Parameter>
                  <QueryScript>
                    <Source>

                      import sailpoint.object.*;
                      import org.apache.log4j.Logger;

                    //  Logger myLogger = Logger.getLogger("<<<>>>>>"); // replace with your logger for debugging
                      queryOptions.addFilter(Filter.eq("type", "business"));
                      //myLogger.info(":::::::::::::::: :::: "+queryOptions.toString());
                      return queryOptions;

                    </Source>
                  </QueryScript>
                </Parameter>
              </QueryParameters>
            </DataSource>
            <Columns>
              <ReportColumnConfig field="displayName" header="displayName" property="name" width="110">
                <RenderScript>
                  <Source>

                    import sailpoint.object.*;
                    import sailpoint.api.*;
                    import sailpoint.object.Filter;
                    import sailpoint.object.Bundle;
                    import java.util.List;
                    import sailpoint.api.SailPointContext;

                    import org.apache.log4j.Logger;
                    import sailpoint.tools.GeneralException;
                   //  Logger myLogger = Logger.getLogger("<<<>>>>>"); // replace with your logger for debugging

                    Bundle bd = context.getObjectByName(Bundle.class, value );


                    return bd.getDisplayName();

                  </Source>
                </RenderScript>
              </ReportColumnConfig>
            </Columns>
          </LiveReport>
        </value>
      </entry>
    </Map>
  </Attributes>
  <Description>All business roles</Description>
  <Signature>
    <Inputs>
      <Argument name="resultScope" type="Scope">
        <Description>rept_input_result_scope</Description>
      </Argument>
      <Argument multi="true" name="emailIdentities" type="Identity">
        <Description>rept_input_email_recips</Description>
      </Argument>
    </Inputs>
  </Signature>
</TaskDefinition>

same can be done for IT role by changing the filter