Using the ServiceNow approvals integration
Read time: 3 minutes
Last edited: Aug 09, 2024
Overview
This topic explains how to use the ServiceNow approvals integration to request approvals for LaunchDarkly changes in ServiceNow.
Prerequisites
In order to complete this topic, you must meet the following prerequisites.
- You must have an existing ServiceNow account.
- You must have completed both parts of the setup for this integration. To learn more, read Setting up the ServiceNow approvals integrations.
Request approval for flag changes in ServiceNow
To request approval for flag changes in ServiceNow, you must request approval for the change in LaunchDarkly.
To request approval in LaunchDarkly:
- In LaunchDarkly, navigate to the feature flag that you wish to change and make your needed changes to the flag targeting, status, or variations.
- Click the dropdown icon in the Review and save button:
- Select Request approval. A dialog appears.
- Enter the description and any scheduling details, if desired.
- Click Request Approval. This creates a change request with state "New" in your ServiceNow instance.
- The approvers for feature flag changes receive a notification.
View and approve approval requests in ServiceNow
The approver for a flag change can view and, if using manual approvals, approve the request in ServiceNow.
To view and approve the change request in ServiceNow:
- In LaunchDarkly, click the Pending changes icon on the flag's targeting page. A "Pending changes" panel appears.
- Next to the request you want to view, click View. The "Review request" screen appears.
- Click Review in ServiceNow. The change request screen in ServiceNow appears:
- View or approve the request in ServiceNow. When the ServiceNow approval conditions are met, ServiceNow changes the state to "Implement."
- Alternatively, if ServiceNow changes the state to "Canceled," LaunchDarkly changes the approval request status to "Declined."
- Apply the approved flag changes:
- If your LaunchDarkly environment's approval settings specify to Automatically apply flag changes in LaunchDarkly, then no further action is required. The flag changes in LaunchDarkly are applied when the associated ServiceNow change request is approved.
- If your LaunchDarkly environment's approval settings do not specify to automatically apply flag changes, then you must apply the flag changes manually. You can do this within LaunchDarkly by clicking Apply Changes in the "Pending changes" panel.
After the approved flag changes are applied, the ServiceNow change request state changes to "Review."
If you delete the approval request in LaunchDarkly, the ServiceNow change request state changes to "Canceled."
LaunchDarkly uses ServiceNow state values from their APIs to determine if a change has been approved or denied in ServiceNow. To learn more, search for "State model and transitions" in ServiceNow's documentation and choose the article for your ServiceNow version.
Here is a table explaining the standard ServiceNow states and the equivalent LaunchDarkly approval statuses:
ServiceNow state | LaunchDarkly approval status |
---|---|
New | Needs review |
Implement | Approved |
Review | Completed |
Canceled | Declined |
ServiceNow field mappings
Here is a table showing the fields LaunchDarkly specifies when it creates a ServiceNow approval request:
Approval request field in ServiceNow | Description |
---|---|
short_description | A brief summary of what is being requested. This is automatically generated and includes the LaunchDarkly member name, flag name, and environment. The image of the change request screen in ServiceNow, above, shows an example. |
justification | A more detailed summary of what is being requested. This includes a link back to the LaunchDarkly approval request, the member-provided comment, and an automated change description. The image of the change request screen in ServiceNow, above, shows an example. |
requested_by | The ServiceNow member ID associated with the LaunchDarkly member making the change. LaunchDarkly members are mapped to ServiceNow member IDs using email addresses. |
start_date | The timestamp when the approval request was created in LaunchDarkly, or the scheduled date if the approval request is for a scheduled change. |
end_date | The start_date with a small offset. |