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
Documents the new Asset Connector type (inventory reconciliation
instead of findings import, NEW/MISSING lifecycle, auto-created
Products and Product Types) and adds tool-specific setup sections for
the four new asset connectors, including the auth requirements
verified against the live vendor APIs: GitLab read_api PAT and
pending-deletion handling; JSM Premium plan + agent-seat requirement;
Bitbucket scoped-token requirement and mandatory workspace slugs;
Azure DevOps PAT read scopes and org URL normalization.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: docs/content/import_data/pro/connectors/connectors_tool_reference.md
+84Lines changed: 84 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -19,6 +19,15 @@ Each tool has a different API configuration, and this guide is intended to help
19
19
20
20
Whenever possible, we recommend creating a new 'DefectDojo Bot' account within your Security Tool which will only be used by the Connector. This will help you better differentiate between actions manually taken by your team, and automated actions taken by the Connector.
21
21
22
+
# **Asset Connectors**
23
+
24
+
Most Connectors import **findings** from a security tool. **Asset Connectors** work differently: they import your **asset inventory** instead. An Asset Connector enumerates the assets that exist in an external platform (for example, the repositories in a GitLab group) and automatically creates and maintains the matching **Products** (Assets) and **Product Types** (Organizations) in DefectDojo. No findings are imported by an Asset Connector.
25
+
26
+
***Discover** and **Sync** both reconcile the asset list. New assets appear as `NEW` Records; once mapped (automatically, if auto-mapping is enabled), DefectDojo creates the Product and groups it under a Product Type derived from the tool — for example, the GitLab namespace or the Azure DevOps project.
27
+
* If an asset is later removed upstream (for example, a repository is deleted), its mapped Record is flagged `MISSING` on the next Sync so your team can triage it. DefectDojo never silently deletes a Product.
28
+
29
+
Azure DevOps, Bitbucket, GitHub, GitLab, and Jira Service Management Assets are Asset Connectors. All other Connectors listed below import findings.
30
+
22
31
# **Supported Connectors**
23
32
24
33
## **Akamai API Security**
@@ -87,6 +96,48 @@ A working policy definition might look like the following:
87
96
88
97
Once you have created your IAM user and assigned it the necessary permissions using an appropriate policy/role, you will need to generate an access key, which you can then use to create a Connector.
89
98
99
+
## **Azure DevOps**
100
+
101
+
The Azure DevOps connector is an **Asset Connector**: it enumerates the git repositories in every project of your Azure DevOps organization and creates a DefectDojo Asset for each repository, grouped into Organizations by Azure DevOps project. No findings are imported.
102
+
103
+
#### Prerequisites
104
+
105
+
You will need a Personal Access Token (PAT) for the organization. We recommend creating the token from a dedicated service account. Only read scopes are required:
106
+
107
+
1. In Azure DevOps, open **User settings \> Personal access tokens \> New Token**.
108
+
2. Click **Show all scopes**, then select **Code: Read** and **Project and Team: Read**.
109
+
110
+
Only Azure DevOps Services (dev.azure.com) is supported; on-premise Azure DevOps Server is not supported at this time.
111
+
112
+
#### Connector Mappings
113
+
114
+
1. Enter your organization URL in the **Location** field: `https://dev.azure.com/{your-organization}`. Legacy `https://{your-organization}.visualstudio.com` URLs are also accepted, and any extra path segments (for example, a link to a specific project) are ignored.
115
+
2. Enter the PAT in the **Secret** field.
116
+
117
+
Each repository becomes a Record named after the repository, grouped by its Azure DevOps **project**. Disabled repositories are skipped, so disabling or deleting a repository flags its Record as `MISSING` on the next Sync.
118
+
119
+
## **Bitbucket**
120
+
121
+
The Bitbucket connector is an **Asset Connector**: it enumerates the repositories in the Bitbucket Cloud workspaces you name and creates a DefectDojo Asset for each repository, grouped into Organizations by Bitbucket project. No findings are imported.
122
+
123
+
#### Prerequisites
124
+
125
+
Bitbucket Cloud requires a **scoped** Atlassian API token — classic (unscoped) Atlassian API tokens are rejected by Bitbucket with an "API Token provided has no Bitbucket scopes" error.
126
+
127
+
1. Go to [id.atlassian.com/manage-profile/security/api-tokens](https://id.atlassian.com/manage-profile/security/api-tokens) and choose **Create API token with scopes**.
128
+
2. Select the **Bitbucket** app, then grant the read scopes: `read:account:bitbucket`, `read:workspace:bitbucket`, `read:repository:bitbucket`, and `read:project:bitbucket`.
129
+
130
+
Only Bitbucket Cloud (bitbucket.org) is supported. Bitbucket Server reached end of life in 2024, and Bitbucket Data Center is not supported.
131
+
132
+
#### Connector Mappings
133
+
134
+
1. Enter `https://bitbucket.org` in the **Location** field.
135
+
2. Enter the Atlassian account email the token belongs to in the **Email** field.
136
+
3. Enter the scoped API token in the **Secret** field.
137
+
4. Enter one or more workspace slugs (comma-separated) in the **Workspace Slugs** field. This field is required: Bitbucket's scoped API tokens cannot list workspaces automatically, so DefectDojo needs to be told which workspaces to read.
138
+
139
+
Each repository becomes a Record named after the repository, grouped by its Bitbucket **project**.
140
+
90
141
#### Connector Mappings
91
142
92
143
1. Enter the appropriate [AWS API Endpoint for your region](https://docs.aws.amazon.com/general/latest/gr/sechub.html#sechub_region) in the **Location** field**:** for example, to retrieve results from the `us-east-1` region, you would supply
@@ -148,6 +199,21 @@ To generate a Dependency\-Track API key:
148
199
149
200
For more information, see **[Dependency\-Track Documentation](https://docs.dependencytrack.org/integrations/rest-api/)**.
150
201
202
+
## **GitLab**
203
+
204
+
The GitLab connector is an **Asset Connector**: it enumerates every project (repository) your token can access and creates a DefectDojo Asset for each one, grouped into Organizations by GitLab namespace (group or user). No findings are imported.
205
+
206
+
#### Prerequisites
207
+
208
+
You will need a Personal Access Token with the **read_api** scope. We recommend creating the token from a dedicated service account; the connector lists the projects that account is a member of.
209
+
210
+
#### Connector Mappings
211
+
212
+
1. Enter your GitLab URL in the **Location** field: `https://gitlab.com`, or the base URL of your self-hosted instance.
213
+
2. Enter the Personal Access Token in the **Secret** field.
214
+
215
+
Each project becomes a Record named after the project, grouped by its **namespace**. Projects that are pending deletion in GitLab (deleted by a user, but not yet purged by GitLab's background job) are excluded automatically, so deleting a project flags its Record as `MISSING` on the next Sync instead of leaving behind a renamed ghost asset.
216
+
151
217
## **IriusRisk**
152
218
153
219
The IriusRisk connector uses an API token to pull threat modeling data from your IriusRisk instance.
@@ -196,6 +262,24 @@ DefectDojo maps each Artifactory **repository** as a separate Record. On first S
196
262
197
263
See the [JFrog Xray REST API documentation](https://jfrog.com/help/r/jfrog-rest-apis/xray-rest-apis) for more information.
198
264
265
+
## **Jira Service Management Assets**
266
+
267
+
The JSM Assets connector is an **Asset Connector**: it enumerates the objects in your Jira Service Management Assets (formerly Insight) workspace and creates a DefectDojo Asset for each object, grouped into Organizations by object schema. No findings are imported.
268
+
269
+
#### Prerequisites
270
+
271
+
* Assets requires a **Jira Service Management Premium or Enterprise** plan. On Free or Standard plans the Assets API responds with `403 "Access to Assets API was denied"`, even though the rest of the site works.
272
+
* The Atlassian account used must have **Jira Service Management product access** (an agent seat) on the site — site access alone is not enough.
273
+
* Create a classic Atlassian API token at [id.atlassian.com/manage-profile/security/api-tokens](https://id.atlassian.com/manage-profile/security/api-tokens). We recommend a dedicated service account.
274
+
275
+
#### Connector Mappings
276
+
277
+
1. Enter your Atlassian site URL in the **Location** field: `https://{your-site}.atlassian.net`.
278
+
2. Enter the Atlassian account email the token belongs to in the **Email** field.
279
+
3. Enter the API token in the **Secret** field.
280
+
281
+
Each Assets object becomes a Record named after the object's label, grouped by its **object schema**.
282
+
199
283
## Probely
200
284
201
285
This connector uses the Probely REST API to fetch data.
0 commit comments