Atlassian Jira has implemented its Workflow Engine based on The Open Symphony Framework OSWorkflow. The solution included different concept and mechanism, but only the main ones have been used in Jira.

Any Workflow is composed by Steps and Transitions. , the following concept may be present ...


In order to met some special behaviors, some of these Transitions can be qualified ...

Steps

A Workflow Steps in Jira s associated to an Issue Status of Jira.

Initial Step

Is assumed as Initial Step, any Step linked an Initial Transition. The Step Open is created when the Workflow is created.

Normal Step

Are assumed as Normal Step, all other Steps which are linked to and from a Transition.

Final Step

A Final Step is just a Step which does not have link to another Transition.

A Workflow may not have Final Step (case of Circular Workflow) or more than one Final Step.

Transitions

A Workflow Transition (Action in vocabulary of OSWorkflow) represents a way to change to which Steps is associated an Issue. Different types of Transition exist.

Initial Transition

An Initial Transition is systematically created by JIRA , when the Workflow creation is initiated.

A workflow (with OSWorkflow library) may have more than one Initial Transition, but currently JIRA comes with the constraint to have only one Initial Transition to an Initial Step.

Step Transition

Step Transitions are transition defined at the Step level. Used one time by the Step owning the Transition definition.

Common Transition

Common Transitions are Transitions defined at Workflow level, and usable from any Step.

Global Transition

Global Transitions are defined at Workflow level, and are available systematically from any Step. Only Conditions defined in the Transition will change the accessibility of the Transition.

Transition Qualifications

Certain Workflow Transition can qualified in order to alter the behavior;

Recursive Transition

Recursive Transitions will be Transitions for which the destination Step is not explicitly defined, but will depend from which From Step comes the Transition.

Minyaa Workflow Designer can qualify as Recursive Transitions any Global Transition or Step Transition

Auto-Transition

Auto-Transitions Concept is provided by Minyaa ...

The Auto-Transition on Issue has to be considered when :

  • we are able to define all conditions allowing or not the Auto-Transition to be launched,
  • and the initiator does not have to know which Transition has to be launched

To do that, the Transition definition :

  • has to qualify itself as reserved to Auto-Transition
  • has to specify all fields needed during the transition (present in Screen Transition)
  • may specify the Comment to apply on Transition

After, the initiator will have only to notify to the Auto Transition Manager which Issue has to be evaluated. It can be done :

  • using the Auto-Transition Service
  • using one of Auto-Transition Post-Function
  • using any Listener

Minyaa Workflow Designer is able to qualify as an Auto-Transitions any Transition.

Automatic Action

Automatic Action Concept is natively provided by OSWorkflow ... 

The Transition with Automatic Actions has to be considered when :

  • the initiator is the same Issue,
  • the Transition has to be launched automatically, just after a Transition initiated by the User,

To response to such needs, JIRA Community has developped plugins ... But OSWorkflow provides natively the solution : the auto attribute !

<action id="100" name="My Action" auto="true">
	...
</action>

When OSWorkflow's Engine ends to perform a Transition, it checks all other available Transitions having this attribute set to true.

There is no need to use other mechanisms. Only few constraints and side effects are present :

  • Only Step Transitions are evaluated
  • The Auto-Transitions will share the same context as the first Transition, and you will see your comment added two times


Minyaa Workflow Designer is able to qualify as an Automatic Action any Step Transition.

On this page:


Useful hint

See also ...

  • No labels