You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Document the new outbound ServiceNow SecOps integrator on the Pro
integrations tool reference: instance setup (tri-modal auth — OAuth 2.0,
API key, HTTP Basic), target-table mapping (Security Incident /
Vulnerable Item), impact/state default mappings, and the SecOps-specific
behaviors (correlation_id dedupe, work_notes updates, resolve-on-delete,
reference-field resolution). Add it to both integrator lists.
Story: sc-13749
Copy file name to clipboardExpand all lines: docs/content/issue_tracking/pro_integration/integrations_toolreference.md
+51Lines changed: 51 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -478,6 +478,57 @@ Notes:
478
478
-`short_description`, `description`, `state`, `impact`, `urgency`, and `priority` are owned by the description template and the severity/status mappings, so they cannot be set through a custom field mapping.
479
479
- On tables other than `incident`, state values that match the standard Incident set (`1`, `2`, `3`, `6`, `7`, `8`) are still interpreted with Incident semantics — including the automatic Resolution code default on `6`/`7`/`8`. Prefer state values outside that range on custom tables, or supply the close fields explicitly as above.
480
480
481
+
## ServiceNow SecOps
482
+
483
+
The ServiceNow SecOps integration (also known as **ServiceNow SecOps / Vulnerability Response**) pushes DefectDojo Findings and Finding Groups into a ServiceNow security table — a **Security Incident** (`sn_si_incident`) or a **Vulnerable Item** (`sn_vul_vulnerable_item`) — and keeps it in sync as the Finding changes (create, update, and resolve/close). It is the security-operations counterpart to the ServiceNow issue-tracker integration above; use ServiceNow SecOps when you run the Security Incident Response (SIR) or Vulnerability Response (VR) applications.
484
+
485
+
### Instance Setup
486
+
487
+
-**Instance Label** should be the label that you want to use to identify this integration.
488
+
-**Location** should be set to the URL for your ServiceNow server, for example `https://your-organization.service-now.com/`.
489
+
490
+
ServiceNow SecOps supports three authentication methods; provide **one**:
491
+
492
+
-**OAuth 2.0** — enter a **Client ID**, **Client Secret**, and **Refresh Token**. Obtain them exactly as described in the [ServiceNow](#servicenow) section above (create an OAuth API endpoint in the Application Registry, then exchange your credentials at `/oauth_token.do` for a refresh token). Alternatively, provide the **Client ID** and **Client Secret** together with a **Username** and **Password** to use the OAuth password grant instead of a refresh token.
493
+
-**API Key** — enter an **API Key**, sent as the `x-sn-apikey` header. The key authenticates nothing until an Inbound Authentication Profile and a REST API Access Policy are attached to it on the instance.
494
+
-**HTTP Basic** — enter the **Username** and **Password** of the service account.
495
+
496
+
The service account (or OAuth client) needs write access to the target table.
497
+
498
+
### Issue Tracker Mapping
499
+
500
+
-**Target Table** selects the ServiceNow table records are written to: **Security Incident** (`sn_si_incident`, the default) or **Vulnerable Item** (`sn_vul_vulnerable_item`).
501
+
502
+
### Severity Mapping Details
503
+
504
+
For a Security Incident this maps to the **Impact** field; ServiceNow derives the incident Priority from Impact and Urgency, so Urgency mirrors the mapped Impact unless you map it yourself. For a Vulnerable Item, map severity to the risk field your instance uses. The defaults below match the standard SIR Impact scale (`1` High, `2` Medium, `3` Low) and are editable.
505
+
506
+
-**Severity Field Name**: `impact`
507
+
-**Info Mapping**: `3`
508
+
-**Low Mapping**: `3`
509
+
-**Medium Mapping**: `2`
510
+
-**High Mapping**: `1`
511
+
-**Critical Mapping**: `1`
512
+
513
+
### Status Mapping Details
514
+
515
+
This maps to the record's **State** field. State values are numeric codes that differ between the Security Incident and Vulnerable Item tables and can be customized per instance, so review these against your own configuration. The defaults below use the standard SIR state codes (`16` Analysis, `3` Closed).
516
+
517
+
-**Status Field Name**: `state`
518
+
-**Active Mapping**: `16`
519
+
-**Closed Mapping**: `3`
520
+
-**False Positive Mapping**: `3`
521
+
-**Risk Accepted Mapping**: `3`
522
+
523
+
When a record is closed, DefectDojo also sets the ServiceNow **Close Code** and **Close Notes** (`Resolved` for closed Findings, `False positive` and `Risk accepted` for the corresponding states).
524
+
525
+
### ServiceNow SecOps-specific behaviors
526
+
527
+
-**Deduplication** — each record is tagged with the Finding or Finding Group's DefectDojo identifier in its `correlation_id`. Before creating a record DefectDojo looks one up by `correlation_id`; a match is adopted and updated rather than duplicated, so re-syncs are idempotent.
528
+
-**Updates** are posted to the record's **Work notes** journal (internal), never to customer-visible Comments.
529
+
-**Resolve on delete** — deleting a Finding in DefectDojo resolves/closes the ServiceNow record (State + Close Code) rather than deleting it; records are never hard-deleted.
530
+
-**Reference fields** — optional `cmdb_ci`, `assignment_group`, and `assigned_to` values may be supplied as display names; DefectDojo resolves each to its `sys_id`. A name that does not resolve is dropped with a warning rather than failing the push.
531
+
481
532
## Shortcut
482
533
483
534
The Shortcut integration allows you to push DefectDojo Findings as [Shortcut](https://www.shortcut.com/) Stories. Stories are created with the story type of Bug and assigned to a Team in your Shortcut workspace.
0 commit comments