WSO2Con2025 Logo

March 18-20 | Barcelona, Spaain

 
choreo
2024/11/22
 
22 Nov, 2024

Introducing Workflow Approvals in Choreo

  • Hasitha Abeykoon
  • Technical Lead - WSO2

In software application development and deployment, teams typically work collaboratively and require managers to approve certain actions. Companies often adopt external systems like ticketing services, chat applications, external workflow tools such as Jira, or rely on manual emails to manage this coordination. These approaches can disrupt developer workflows.

To address this, we’re thrilled to introduce the built-in Workflow Approvals feature in Choreo, designed to streamline communication between developers and managers and enhance the overall developer experience.

Enabling Workflow Approvals

Enabling workflow approval for each action is an organizational decision, rather than a team decision. The organization admin can enable each workflow to enforce developers to seek approval. Currently, the following Choreo actions support approval workflows. Note that this is a growing list and approval workflow support for API subscriptions will soon be added.

Promotion of a component build from one environment to another environment.

Once enabled, this workflow will enforce developers to seek approval to promote a component build to any critical environment.


After enabling workflow, the organization admin can configure approvers in two ways:

  1. Configure one or more roles with the required permissions to approve.
  2. Configure individual people.

Configure approvals

Workflow approvals are typically managed within project boundaries, meaning only approvers within a project are notified of pending requests. However, organization-wide approvers can also be designated by the admin.

Raising Approval Requests

The approval workflow feature is embedded into the Choreo console, Choreo CLI, and the Choreo VS Code Plugin. Here’s how you can raise an approval request via the Choreo console:


Request approval

If getting approvals is enforced within the organization by the admin, instead of the action button, you will see a request approval button. When requesting approval, you can input an optional message for the approver as well. This is useful for communicating changelogs or external details about the component being promoted. Once requested, the same button will turn into the cancel approval request button. Once approved, the same button will be rendered as the normal action button. Thus it is backed into the UX nicely.

Note that some of the future workflows may not require the developer to proceed with an action once approved. Upon approval, the requested change will be added to Choreo.

Notifications on Approval Events


  • When an approval request is made, an email notification is sent out to all the approvers appointed. The email contains a summary of the request and a link to the Choreo console to review more details and take action to approve or reject.
  • When one of the approvers takes action on the request, the developer who raised the request is notified of the decision via email so that he can proceed with the action he requested approval for.
  • If the request is canceled, another email is sent to all the approving parties about the cancellation.
  • In the future, we may introduce other notification channels and configurable external channels as well to get notifications on the workflow approval events.

Approver View

If you have permission to approve, you will see pending approval notifications in the Pending tab. You can view previously approved/rejected or canceled requests in the Past tab (for a limited time - currently a month). The view tells who the requestor is, what the request is about, and the time the request is raised so that it’s easy to spot the requests you need to review. When you click on the Review link on the selected request, it shows further details like the:

  • Project and component names
  • ID of the component build or the image name
  • Tag requested to promote
  • Optional description provided by the requestor

You can approve or reject the request by reviewing the information above. You can also add an optional comment for the requestor (i.e. explaining the reasons for the action). Then the record will move to the past approvals list and the Choreo user who requested the particular approval will receive an email notification about the decision of his/her request.


Review pending approvals


View past approvals

How to Get Started

Workflow approvals are disabled for all actions by default. Please refer to our documentation to learn how to enable this feature:

What’s Next

Having a built-in mechanism to enforce approval processes including notifications will improve team collaboration and eliminate the need to introduce third-party systems into your organization. We will continue to improve the feature by introducing more actions supporting approvals.

We're excited to invite all Choreo users to explore this feature. Your insights and suggestions are crucial in helping us refine and perfect your experience. Sign up today and start your Choreo journey for free – we can't wait to hear what you think!

English