Approval workflows introduce a request-and-review mechanism for feature flag changes. Team members can request changes, and designated approvers can review and approve (or reject) these requests before they are applied.
Approval workflows introduce a request-and-review mechanism for feature flag changes. Team members can request changes, and designated approvers can review and approve (or reject) these requests before they are applied.
Approval workflows allows you to better control what changes are applied and which are not. Once approval settings are setup, flag changes made by certain users pass through a request and review process so that only verified changes are pushed to end users.
Activating approvals for a project
Approvals can only be configured by users with Admin rights. Navigate to the cog icon ⚙️ at the top of the dashboard to open Approval settings.
Once here, select the project you want to activate approvals for, and then choose who can approve change requests.
You can allow changes to be reviewed by:
- Anyone can be a reviewer
- Specific reviewers, where only designated users can validate flag changes
- Specific role, where only users with the designated roles can validate flag changes
Note: Environments, integrations and the flag toggle are not controlled by Approvals. Only users who have the Production permission can change the state (on/off) of the flag.
Request approval for flag changes
Once approvals are active for a project, non-reviewer users will see an approval request popup when they save their changes. You can customize the title of the request and optionally add a comment that will be visible to the approver.
Requesters can make and request changes in bulk across different sections of the setup or environments. Approvers are notified of pending requests and can review the proposed changes.
All approval requests are visible in the Review section
Individual requests that are still Pending review can be withdrawn.
Approving change requests
On the main dashboard, approvers can get an overview of flags’ review status, which can be Pending or Reviewed.
- Pending: The flag has at least one pending request.
- Reviewed: All requests have either been approved or rejected.
Hovering over the review stage will display additional information. You can also use the filters on the right side to filter out flags as needed.
Once inside the edit page for a flag, reviewers can navigate to Review section and view all requests.
Click on a request to view details, including the proposed changes and comments. Requests can be in one of 4 total states:
- Pending: Awaiting review.
- Approved: The change has been approved and implemented.
- Rejected: The change was declined.
- Invalid: The changes requested are no longer applicable because of more recently applied changes. This request is considered rejected by default.
For each request, approvers can choose one of the two actions:
- Approve: Accept the change(s), automatically applying them
- Reject: Decline the change(s), which will simply discard the request
Note: Requests can only be reviewed in a top-down order only (first in, first out)
Common questions
Q: Can a flag be exempt from the approval process?
A: No, once approvals is enabled, all flags in a project must go through the approval workflow. Consider revising the list of approvers if the process seems stringent.
Q: What happens to rejected requests?
A: Rejected requests are null, but requests can always submit their changes again.
Q: What if users request conflicting changes, or change the same value/entity ?
A: A first in, first out review process ensures invalidated requests are flagged and ignored, without creating any risk of data conflicts.