Skip to content

Commit 8e2e6cd

Browse files
paulOsinskiPaul OsinskiMaffooch
authored
[docs] Integrators/Connectors updates (#13549)
* add servicenow docs * update connectors docs * Update docs/content/en/share_your_findings/integrations.md Co-authored-by: Cody Maffucci <46459665+Maffooch@users.noreply.github.com> * Update docs/content/en/share_your_findings/integrations_toolreference.md Co-authored-by: Cody Maffucci <46459665+Maffooch@users.noreply.github.com> --------- Co-authored-by: Paul Osinski <paul.m.osinski@gmail.com> Co-authored-by: Cody Maffucci <46459665+Maffooch@users.noreply.github.com>
1 parent 16c749c commit 8e2e6cd

3 files changed

Lines changed: 65 additions & 4 deletions

File tree

docs/content/en/connecting_your_tools/connectors/connectors_tool_reference.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -172,6 +172,8 @@ The SonarQube Connector can fetch data from either a SonarCloud account or from
172172
1. Enter the base url of your SonarQube instance in the Location field: for example `https://my.sonarqube.com/`
173173
2. Enter a valid **API key** in the Secret field. This will need to be a **[User](https://docs.sonarsource.com/sonarqube/latest/user-guide/user-account/generating-and-using-tokens/)** [API Token Type](https://docs.sonarsource.com/sonarqube/latest/user-guide/user-account/generating-and-using-tokens/).
174174

175+
The token will need to have access to Projects, Vulnerabilities and Hotspots within Sonar.
176+
175177
API tokens can be found and generated via **My Account \-\> Security \-\> Generate Token** in the SonarQube app. For more information, [see SonarQube documentation](https://docs.sonarsource.com/sonarqube/latest/user-guide/user-account/generating-and-using-tokens/).
176178

177179
## **Snyk**
@@ -187,7 +189,7 @@ See the [Snyk API documentation](https://docs.snyk.io/snyk-api) for more info.
187189

188190
## Tenable
189191

190-
The Tenable connector uses the **Tenable.io** REST API to fetch data.
192+
The Tenable connector uses the **Tenable.io** REST API to fetch data. Currently, only vulnerability scans are imported - Web App Scans cannot be imported with the Connector.
191193

192194
On\-premise Tenable Connectors are not available at this time.
193195

docs/content/en/share_your_findings/integrations.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ Supported Integrations:
99
- [Azure Devops](/en/share_your_findings/integrations_toolreference/#azure-devops-boards)
1010
- [GitHub](/en/share_your_findings/integrations_toolreference/#github)
1111
- [GitLab Boards](/en/share_your_findings/integrations_toolreference/#gitlab)
12-
- ServiceNow (Coming Soon)
12+
- [ServiceNow](/en/share_your_findings/integrations_toolreference/#servicenow)
1313

1414
## Opening the Integrations page
1515

docs/content/en/share_your_findings/integrations_toolreference.md

Lines changed: 61 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
title: "Integrators Tool Reference"
3-
description: "Beta Feature"
3+
description: "Detailed setup guides for Integrators"
44
weight: 1
55
---
66

@@ -101,7 +101,7 @@ The GitLab integration allows you to add issues to a [GitLab Project](https://do
101101

102102
### Issue Tracker Mapping
103103

104-
- **Project Name**: The name of the project in GitLab that you want to send issues to
104+
- **Project Name**: The name of the project in GitLab that you want to send issues to.
105105

106106
### Severity Mapping Details
107107

@@ -122,3 +122,62 @@ By default, GitLab has statuses of 'opened' and 'closed'. Additional status lab
122122
- **Closed Mapping**: `closed`
123123
- **False Positive Mapping**: `closed`
124124
- **Risk Accepted Mapping**: `closed`
125+
126+
## ServiceNow
127+
128+
The ServiceNow Integration allows you to push DefectDojo Findings as ServiceNow Incidents.
129+
130+
### Instance Setup
131+
132+
Your ServiceNow instance will require you to obtain a Refresh Token, associated with the User or Service account that will push Incidents to ServiceNow.
133+
134+
You'll need to start by creating an OAuth registration on your ServiceNow instance for DefectDojo:
135+
136+
1. In the left-hand navigation bar, search for “Application Registry” and select it.
137+
2. Click “New”.
138+
3. Choose “Create an OAuth API endpoint for external clients”.
139+
4. Fill in the required fields:
140+
* Name: Provide a meaningful name for your application (e.g., Vulnerability Integration Client).
141+
* (Optional) Adjust the Token Lifespan:
142+
* Access Token Lifespan: Default is 1800 seconds (30 minutes).
143+
* Refresh Token Lifespan: The default is 8640000 seconds (approximately 100 days).
144+
5. Click Submit to create the application record.
145+
6. After submission, select the application from the list and take note of the **Client ID and Client Secret** fields.
146+
147+
You will then need to use this registration to obtain a Refresh Token, which can only be obtained through the ServiceNow API. Open a terminal window and paste the following (substituting the variables wrapped in `{{}}` with your user's actual information)
148+
149+
```
150+
curl --request POST \
151+
--url {{INSTANCE_HOST}}/oauth_token.do \
152+
--header 'content-type: application/x-www-form-urlencoded' \
153+
--data grant_type=password \
154+
--data 'client_id={{CLIENT_ID}}' \
155+
--data 'client_secret={{CLIENT_SECRET}}' \
156+
--data 'username={{USERNAME}}' \
157+
--data 'password={{PASSWORD}}'
158+
```
159+
160+
If your ServiceNow credentials are correct, and allow for admin level-access to ServiceNow, you should receive a response with a RefreshToken. You'll need that token to complete integration with DefectDojo.
161+
162+
- **Instance Label** should be the label that you want to use to identify this integration.
163+
- **Location** should be set to the URL for your ServiceNow server, for example `https://your-organization.service-now.com/`.
164+
- **Refresh Token** is where the Refresh Token should be entered.
165+
- **Client ID** should be the Client ID set in the OAuth App Registration.
166+
- **Client ID** should be the Client Secret set in the OAuth App Registration.
167+
168+
### Severity Mapping Details
169+
170+
This maps to the ServiceNow Impact field.
171+
- **Info Mapping**: `1`
172+
- **Low Mapping**: `1`
173+
- **Medium Mapping**: `2`
174+
- **High Mapping**: `3`
175+
- **Critical Mapping**: `3`
176+
177+
### Status Mapping Details
178+
179+
- **Status Field Name**: `State`
180+
- **Active Mapping**: `New`
181+
- **Closed Mapping**: `Closed`
182+
- **False Positive Mapping**: `Resolved`
183+
- **Risk Accepted Mapping**: `Resolved`

0 commit comments

Comments
 (0)