What is a Workflow?
A workflow is a model of a software development or release process.
In AccuRev, a workflow consists of stages, which are represented as green rectangles, and transitions, which are represented as orange rectangles; arrows show how transitions move issues from stage to stage through the workflow, as shown in the following illustration:
In this workflow, when a developer finishes work on an issue, she can move the issue from the WIP stage to the Done stage using the complete transition. If she needs more information from, say, the product owner, she can use the need more info transition to move the issue to the Review stage, reassigning the issue to the product owner in the process.
You can create multiple workflows for a single AccuRev depot—for example, you might create one workflow to manage issues that are defects, and another to manage issues that are enhancements, or you might decide to use different workflows for different project streams.
A workflow stage represents a phase in your development or release process. For example, your development process might have New, Scheduled, WIP (work-in-progress), and Closed phases, among others. In a workflow, stages typically correspond to the values of the status field in your AccuWork schema, but you can use whatever field in your schema you need to create a workflow to model your organization’s process.
Conditions defined for a stage determine whether or not an issue can be in that stage. For example, the condition for the WIP stage might be defined as Status = WIP restricts entry into what workflow stage to issue records whose Status field is set to WIP. A workflow stage must have at least one condition defined for it before an issue can be in that stage.
You can also define actions to perform on the issue when it enters the stage (entry actions), and actions to perform each time the record is saved (validation actions). An example of a validation action might be to ensure that a required field has a value specified for it.
See Creating and Managing Workflow Stages for more information.
A workflow transition links stages in a workflow; it represents how an issue may move from one workflow stage to another. For example, a transition named assign might link the Scheduled and WIP workflow stages and be executed when a developer is assigned an issue from the backlog. You can optionally define actions and conditions for transitions. For example, you might define an action for the assign transition that sets the issue record’s Assigned To field to a certain user.
See Creating and Managing Workflow Transitions for more information.