CostLensChange Management (Jira & ServiceNow)

Change Management (Jira & ServiceNow)

Require an approved Jira issue or ServiceNow change request before CostLens applies a fix, and optionally route Auto-Fix approval requests to a ticket too.

Updated October 20268 min read

If your organization runs a formal change-management process, you can require that every remediation CostLens applies first go through an approved change ticket — a Jira issue or a ServiceNow change request. When this is turned on, applying a fix no longer runs it immediately: CostLens opens the ticket for you and waits for it to be approved before the change actually happens.

How it helps

  • Nothing touches your infrastructure without a sign-off. A fix that would resize an instance, delete a volume, or change a schedule waits until someone approves the linked ticket in Jira or ServiceNow.
  • No new process to learn. The approval happens exactly where your team already reviews changes — the ticket itself. CostLens doesn't add a second approval step of its own; it defers entirely to your existing workflow.
  • Nothing is missed. CostLens checks the ticket every few minutes and releases the fix automatically the moment it's approved — no one has to remember to come back and tell CostLens to proceed.

A third, independent safety layer

This sits alongside two other CostLens safeguards: Auto-Fix's own internal approval queue (for fixes CostLens' automation wants to apply on its own) and Infrastructure-as-Code routing (a Terraform-managed resource always gets a pull request, never a live change). Change management is for the case where your organization's own compliance process requires an external, auditable change ticket in addition to — or instead of — those.

Connecting Jira

  1. Go to Settings → Integrations.
  2. Find the Jira card and click + Connect a Jira project.
  3. Enter:
    • Jira site URL — e.g. https://yourcompany.atlassian.net.
    • Project key — the short project code CostLens should create issues in (e.g. OPS).
    • Account email — the email address of the Jira account the API token belongs to.
    • API token — create one from your Atlassian account security settings.
  4. Click Connect. CostLens verifies it can reach your Jira site and see the project before saving — a wrong URL, key, or token is rejected immediately rather than silently saved.

Connecting ServiceNow

  1. In your ServiceNow instance, create a dedicated integration user and grant it the itil role (or an equivalent role with read/write access to the change_request table). Using a dedicated service account — not a personal login — means the connection keeps working regardless of staff changes.
  2. Go to Settings → Integrations.
  3. Find the ServiceNow card and click + Connect a ServiceNow instance.
  4. Enter:
    • Instance URL — e.g. https://yourcompany.service-now.com.
    • Username and Password — the integration user's credentials.
    • Assignment group (optional) — the name or sys_id of the group new change requests should be assigned to. Leave this blank to use your instance's default.
  5. Click Connect. CostLens verifies it can reach the change_request table with these credentials before saving.

Admin only

Only an organization admin can connect, test, or remove either connection, and only an admin can turn the change-management gate on or off.

Your API token / password is encrypted at rest and is never shown again after saving — to change it, disconnect and reconnect with the new credential.

Turning on the gate

You can connect both Jira and ServiceNow at the same time, but only one is active for new change requests at any moment.

  1. On whichever connector's card you want active, find the "Require an approved change before remediation" toggle (it only appears once that connector is connected).
  2. Turn it on.

That's it — the toggle turning on for one connector is also what makes it the active one. If the other connector was previously active, its own card now shows a note explaining it's no longer the one in use, and its toggle reads as off. Switching back later is just turning that other card's toggle on again.

Turning the toggle off always stops the gate, regardless of which connector was active.

Nothing retroactive

Turning the gate on only affects fixes applied from that point forward. It never re-checks or blocks a fix that was already running or already completed.

How approval works

Once the gate is on, applying a fix works like this:

  1. You (or your team) approve a recommendation and click Apply Fix, exactly as before.
  2. Instead of running right away, CostLens opens a ticket in the active connector — a Jira issue or a ServiceNow change request — describing the resource, the check that flagged it, and the estimated monthly savings.
  3. The fix's status shows as "Awaiting change approval", with a chip linking straight to the ticket and showing its current status. Nothing on your cloud resource changes yet.
  4. Someone reviews the ticket in Jira or ServiceNow, exactly like any other change request:
    • Approved — CostLens notices within a few minutes and the fix runs automatically, exactly as if the gate weren't there.
    • Rejected (Jira: a "Won't Do"/"Cancelled"/"Duplicate"/"Invalid"-style resolution; ServiceNow: the change's Approval field set to Rejected) — the fix is marked Rejected and never runs.
    • Still open — the fix just waits. CostLens keeps checking every few minutes.

Checked every few minutes, not instantly

CostLens polls the ticket's status rather than requiring Jira or ServiceNow to notify it — there's typically a short delay (usually a few minutes) between an approval landing in the ticket and the fix actually running.

For ServiceNow specifically, the fix releases the moment the change request's own Approval field reaches Approved — it doesn't wait for the change to also be fully implemented and closed out.

Managing an existing connection

From either connector's card you can:

  • Test connection — re-verify CostLens can still reach Jira or ServiceNow at any time.
  • Disconnect — remove the connection. If it was the active provider for the gate, turn the gate off first (or switch to the other connector) — a disconnected provider can no longer create new tickets, so any already-open "Awaiting change approval" fix on it simply waits until you reconnect or take another action on it.

Where to see it

  • The Fix History page shows a change-request chip on any gated fix — click it to jump straight to the ticket.
  • The org Audit Log records when a change ticket is opened (fix.change_requested), approved (fix.change_approved), or rejected (fix.change_rejected), and when the gate itself is toggled or switched between connectors (org.change_management_toggled).

Also on this page: routing Auto-Fix approvals to a ticket

Your Jira and ServiceNow connections support a second, independent feature that lives on the same card — easy to mix up with the change-management gate above, so here's the distinction up front:

Two different toggles, two different things

"Require an approved change before remediation" (above) blocks a fix from running at all until someone actions an externally-created ticket.

"Route Auto-Fix approvals to a ticket" (this section) is about Auto-Fix's own internal approval queue — fixes CostLens' automation wants to apply on its own, which already notify you by email with one-click Approve/Reject links. This toggle just adds a ticket as an extra place that same notice shows up. It never blocks anything by itself.

How it works

When a waste-detection policy is set to the Approval action tier (see Optimization Policies), a matching fix is queued for your sign-off rather than applied immediately. Today, that already reaches you two ways: in-app, and by email with Approve/Reject links you can click directly from your inbox.

With this toggle on, CostLens also opens a ticket — a Jira issue or a ServiceNow change request — describing the resource, the check that flagged it, and the estimated monthly savings, carrying those exact same one-click Approve/Reject links. Clicking either link in the ticket completes the approval or rejection immediately, the same as clicking it in the email — there's no extra step and nothing to poll, because the link itself is the approval.

The queued fix still shows up in Settings → Auto-Fix → Activity either way, with its own Approve/Reject buttons — the ticket is an additional channel, not a replacement for that queue.

Turning it on

  1. Go to Settings → Integrations.
  2. On the Jira or ServiceNow card — whichever connector you want tickets opened in — find the "Route Auto-Fix approvals to a ticket" toggle. It appears right below the change-management toggle, once that connector is connected.
  3. Turn it on.

Exactly like the change-management toggle above, you can have both connectors connected, but only one is active for new approval tickets at a time — turning this on for one card automatically makes it the active one, and the other card shows a note that it's currently active instead. Turning it off always stops ticket routing, regardless of which connector was active.

ServiceNow uses the same change_request table

A ServiceNow approval-routing ticket is created in the same change_request table as the change-management gate above — it's simply a different record, titled "CostLens Auto-Fix approval: …" rather than a gating change request, so the two are easy to tell apart in ServiceNow's own list views.

Org audit entries for this toggle are recorded as org.autofix_itsm_toggled, separate from the change-management gate's org.change_management_toggled.

Troubleshooting

"Change management is enabled for your organization but Jira/ServiceNow isn't connected." The active connector's connection was removed or its stored credentials stopped working after the gate was turned on. Reconnect it in Settings → Integrations, or switch the active provider to your other connected tool.

A fix is stuck at "Awaiting change approval." Check the linked ticket — it's likely still open, or its resolution/approval field hasn't been set to something CostLens recognizes as approved or rejected yet. See How approval works above for exactly what CostLens looks for.

I approved the ticket but the fix hasn't run yet. Give it a few minutes — CostLens checks on a short interval rather than instantly. If it's been much longer than that, verify the connection is still active on the Integrations page.

CostLens
Previous
Git Integration
CostLens
Next
Multi-Factor Authentication