- Created by Vincent Thoulé on Nov 22, 2024
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 ...
- one Initial Transition,
- one Initial Step,
- some Normal Step,
- some Step Transition,
- some Common Transition,
- some Global Transition,
- some Final Step,
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:
-
Home page:
Useful hint
See also ...
- No labels