The Jira Group Expansion accepts group expansion request containing a username and provides a list of groups to which the user belongs in a group expansion result.

This component uses the Restful API from Jira to fetch user group information. All group information is cached, so further group expansion requests won't make unnecessary calls to the Jira server.

This component is based on the Simple Group Expander

Jira Group Expansion (Aspire 2)
Factory Name com.searchtechnologies.aspire:aspire-jira-scanner
subType groupExpansion
Inputs A Job containing a group expansion request
Outputs A Job containing a group expansion result

Configuration

ElementTypeDefaultDescription
usernamestring
Username used to authenticate against Jira instance.
passwordstringN/APassword used to authenticate against Jira instance.
urlstring
The Jira instance url used to authenticate.
pageSizeint100The number of element for page used in API calls.



Example Configurations

    <component name="GroupExpansionScheduler" subType="default" factoryName="aspire-scheduler">
      <debug>${debug}</debug>
      <schedules>
        <schedule name="GECache" enabled="true">
          <cron>${geSchedule}</cron>
          <event>onGECache</event>
          <job>
            <![CDATA[
              <doc actionProperties="cacheGroups">
                <routingTable>
                  <${app.name}>
                    <properties>
                      <connectorSource>
                        <url>${url}/</url>
                        <username>${username}</username>
                        <password>${password}</password>
                        <pageSize>100</pageSize>
                      </connectorSource>
                    </properties>
                  </${app.name}>
                </routingTable>
                <displayName>Jira</displayName>
              </doc>
            ]]>
          </job>
        </schedule>
      </schedules>
      <branches>
        <branch event="onGECache" pipelineManager="Main" />
      </branches>
    </component>


    <component name="GroupExpansionPipelineManager" subType="pipeline" factoryName="aspire-application">
      <debug>${debug}</debug>
      <gatherStatistics>${debug}</gatherStatistics>
      <pipelines>
        <pipeline name="group-expansion-pipeline" default="true">
          <stages>
            <stage component="IncomingJobLogger" />
            <stage component="JiraGroupExpansion" />
          </stages>
        </pipeline>
      </pipelines>
      <components>
        <component name="IncomingJobLogger" subType="jobLogger" factoryName="aspire-tools">
          <debug>${debug}</debug>
          <logFile>log/${app.name}/GroupExpansionPipelineManager/incoming.jobs
          </logFile>
          <enable>${debug}</enable>
        </component>
        <component name="JiraGroupExpansion" subType="expansionClient" factoryName="aspire-simple-group-expander">
          <debug>${debug}</debug>
          <server>../Main/Scanner</server>
          <addPublic>${addPublic}</addPublic>
          ${xml:staticGroups}
          <domain>
            <request strip="${stripRequestDomain}" add="${addRequestDomain}"/>
            <response strip="${stripResponseDomain}" add="${addResponseDomain}"/>
          </domain>
        </component>
      </components>
    </component>


  • No labels