Warning! this documentation is out of date.

Access the latest version right here.

Jira Standardization with Profields Gadgets

Use case

A multinational corporation is currently immersed in a new digital transformation process that will implement a new WoW (Way of Working).

IT Management would like to achieve the same WoW from different headquarters. But the main issue is that every headquarter has a different Agile Coach and manages different companies, not being able to align with each other. Also, each coach has different requests for their Jira Admins in order to match the velocity at which each team advances in the process. On the other hand, general project reporting is required by the PMO, making it really difficult (almost impossible) for the Jira Admin to create reports due to the different characteristics in those Projects.

The company's Atlassian Application Manager contacts DEISER in order to ask an Atlassian Consultant for some advice.

  • Helped by PROFIELDS, DEISER's Atlassian Consultant creates a Layout for every Project Leader in order for them to categorize their projects in four different types: Product Development, Support and two more.
  • Send Bulk Mail notifies Project Leaders when the PROFIELDS Layout is already available for them to start completing it.
  • Once all the information is gathered and referring to the created Dashboard, the Atlassian Application Manager meets with everyone involved in order to explain the necessity in having the Atlassian Consultant be the link that gathers the necessities which will help an agreed-upon and common implementation of the new Way of Working in Jira, and at the same time start the moving process to this four types of standard projects to those teams that are not currently using them.
  • Support teams are not pleased with this change due to their own particular ways "There are many differences between Support services" to what DEISER's Atlassian Consultant would answer this is true, usually these Support teams can be satellites providing Support to the ALM (Application Lifecycle Management). So through Profields Custom Fields, you can make the Standard Jira Workflows behave differently but still have the same workflow schema, depending on whether the one using it is the Customer Support from the Product area, the Service Area or the Deployment area.

Workflows homogenization can be done by merging two workflows that have different paths. Some of them can go from OPEN to IN PROGRESS and CLOSE y the rest can follow a path with more steps but with these 3 in them.

Issue type homogenization would also be necessary. The example for this would be the Work logging system, where a development team would be using one kind (spikes, for example) and the other one would be using the same system but not logging in Investigation tasks.

Traceability and Project portfolio can be at risk of not being the same in every team of the Homogenization is not done between different teams. This might make one team use issue links, another one text fields, and the last one list fields, and without the homogenization, there won't be a possibility of tracing and reporting the top-down team progress.


Profields fields

These following scripts will help with the Homogenization of the Company's Way of Work when added as Profields Script fields.

Field NameDescriptionGroovy script
Issue Type SchemeFetches the Project Issue Scheme name
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.fields.config.manager.IssueTypeSchemeManager

def issueTypeSchemeManager = ComponentAccessor.getOSGiComponentInstanceOfType(IssueTypeSchemeManager.class)
def scheme = issueTypeSchemeManager.getConfigScheme(project)
return scheme != null ? scheme.name : "Empty"
Priority SchemeFetches the Project Issue Priority Scheme name
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.fields.config.manager.PrioritySchemeManager
import com.atlassian.jira.issue.fields.config.FieldConfigScheme

def prioritySchemeManager = ComponentAccessor.getOSGiComponentInstanceOfType(PrioritySchemeManager.class)
def priorityScheme = prioritySchemeManager.getScheme(project)
return priorityScheme != null ? priorityScheme.name : "Empty"
Screen SchemeFetches the Project Issue Screen Scheme name
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.fields.screen.issuetype.IssueTypeScreenSchemeManager
import com.atlassian.jira.issue.fields.screen.issuetype.IssueTypeScreenScheme

def issueTypeScreenSchemeManager = ComponentAccessor.getOSGiComponentInstanceOfType(IssueTypeScreenSchemeManager.class)
def scheme = issueTypeScreenSchemeManager.getIssueTypeScreenScheme(project)
return scheme != null ? scheme.name : "Empty"
Workflow schemeFetches the Project Issue Workflow Scheme name
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.workflow.WorkflowSchemeManager

def workflowServiceManager = ComponentAccessor.getOSGiComponentInstanceOfType(WorkflowSchemeManager.class)
def workflow = workflowServiceManager.getWorkflowSchemeObj(project)
return (workflow != null) ? workflow.getName() : "Empty" 
Gadget Example
GadgetPQL String 

category IN ("10520" , "10522" , "10320") ORDER BY name ASC