Skip to content

Commit e6d0dcd

Browse files
Maffoochclaude
andauthored
docs(jira): document enabling the Jira integration in System Settings (#15381)
The Jira integration is off by default, and while it is off DefectDojo hides every other Jira control: the Jira menu in the sidebar, the Jira sections on the Product / Engagement forms, and the push-to-Jira actions, columns and filters on Findings. Both Jira guides mentioned the toggle only in passing, so users had no way to tell why the settings they were reading about were missing. Add a "Step 1: Enable the Jira integration in System Settings" section to the OS and Pro guides, with screenshots of the before / after state, what the setting reveals, and the note that the setting also gates pushes made through the API and incoming webhooks. The OS guide additionally covers the webhook secret the classic form requires when the integration is enabled. Remaining steps are renumbered accordingly. Also add a troubleshooting entry for "I can't find any Jira settings in DefectDojo" covering both the setting and the View Jira Instance configuration permission, and correct the OS guide's webhook section, which pointed at the Pro sidebar path and reused a Pro UI screenshot. Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
1 parent f66f5c7 commit e6d0dcd

9 files changed

Lines changed: 106 additions & 19 deletions
30.2 KB
Loading
38.5 KB
Loading
55.7 KB
Loading
89 KB
Loading
101 KB
Loading
23 KB
Loading

docs/content/issue_tracking/jira/OS__jira_guide.md

Lines changed: 53 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,56 @@ DefectDojo's Jira integration can be used to push Finding data to one or more Ji
1111
* DefectDojo can selectively push Findings from separate Products &/or Engagements to separate Jira Spaces, to keep things in their proper context.
1212

1313
# Setting Up Jira
14+
1415
Setting Up Jira requires the following steps:
15-
1. Connect a Jira Instance, either with a username / password or an API token. Multiple instances can be linked.
16-
2. Add that Jira Instance to one or more Products or Engagements within DefectDojo.
17-
3. If you wish to use bidirectional sync, create a Jira Webhook which will send updates to DefectDojo.
16+
1. Enable the Jira integration in System Settings. Until you do, the rest of the Jira settings are hidden throughout DefectDojo.
17+
2. Connect a Jira Instance, either with a username / password or an API token. Multiple instances can be linked.
18+
3. Add that Jira Instance to one or more Products or Engagements within DefectDojo.
19+
4. If you wish to use bidirectional sync, create a Jira Webhook which will send updates to DefectDojo.
20+
21+
## Step 1: Enable the Jira integration in System Settings
22+
23+
The Jira integration is off by default, and while it is off DefectDojo hides every other Jira control in the interface. This is the first thing to configure: none of the steps below are available until it is enabled.
24+
25+
While the integration is disabled, the ⚙️ **Configuration \> JIRA** entry is not present in the sidebar, so there is nowhere to add a Jira Instance:
26+
27+
![image](images/jira-config-menu-hidden-os.png)
28+
29+
### Enable the integration
30+
31+
1. Navigate to ⚙️ **Configuration \> System Settings** from the DefectDojo sidebar.
32+
33+
2. Check **Enable JIRA integration**.
34+
35+
3. A **Jira webhook secret** is required as soon as the integration is enabled. Click the 🔄 icon next to the field to generate one. If you submit the form without a secret, the form is rejected with *"This field is required when enable Jira Integration is True"*:
36+
37+
![image](images/jira-webhook-secret-required-os.png)
38+
39+
The secret is part of the webhook URL that Jira posts to (`https://<YOUR DOJO DOMAIN>/jira/webhook/<SECRET>`), so treat the generated value as a credential. You only need to hand it to Jira if you set up bidirectional sync in [Step 4](#step-4-configure-bidirectional-sync-jira-webhook); generating it now simply satisfies the form.
40+
41+
4. Click **Submit**. ⚙️ **Configuration \> JIRA** now appears in the sidebar:
42+
43+
![image](images/jira-enable-system-settings-os.png)
44+
45+
### What the setting controls
46+
47+
Enabling **Enable JIRA integration** is what makes the rest of the Jira interface appear. With it turned on you get:
48+
49+
* the ⚙️ **Configuration \> JIRA** page, where Jira Instances are added and edited
50+
* the **JIRA** section on the Edit Product (Asset) and Edit Engagement forms, used to link a Product or Engagement to a Jira Space
51+
* the **Push to Jira** controls on Findings, Finding Groups and bulk edit forms, plus the Jira columns and filters on the Findings, Engagements and Products lists
52+
53+
For example, the **JIRA** section only appears at the bottom of the Edit Product form once the integration is enabled:
54+
55+
![image](images/jira-asset-settings-visible-os.png)
56+
57+
The setting also gates the integration outside the UI: while it is off, DefectDojo will not push Findings to Jira (including `push_to_jira` requests sent through the API), and incoming Jira webhooks are ignored.
58+
59+
The remaining Jira fields on the System Settings page (**Enable JIRA web hook**, **Jira minimum severity**, **Jira labels**, **Add vulnerability Id as a JIRA label**) stay visible whether the integration is on or off, but they have no effect until it is enabled.
1860

19-
## Step 1: Connect a Jira Instance
61+
## Step 2: Connect a Jira Instance
2062

21-
Connecting a Jira Instance is the first step to take when setting up DefectDojo's Jira integration. Please note Jira Service Management is currently not supported.
63+
With the integration enabled, connecting a Jira Instance is the next step in setting up DefectDojo's Jira integration. Please note Jira Service Management is currently not supported.
2264

2365
#### Required information from Jira
2466

@@ -43,7 +85,7 @@ Multiple Jira Spaces can be handled by a single Jira Instance connection, as lon
4385

4486
### Add a Jira Instance
4587

46-
1. If you have not already done so, navigate to the System Settings page and check the box on **Enable Jira Integration**. You will need to do this before the ⚙️ **Configuration \> JIRA** option shows up on the sidebar.
88+
1. Make sure **Enable JIRA integration** is checked in System Settings, as described in [Step 1](#step-1-enable-the-jira-integration-in-system-settings). The ⚙️ **Configuration \> JIRA** option does not appear on the sidebar until it is.
4789
4890
2. Navigate to the ⚙️ **Configuration \> JIRA** page from the DefectDojo sidebar.
4991
@@ -113,7 +155,7 @@ Visit `https://<YOUR JIRA URL>/rest/api/latest/issue/<ANY VALID ISSUE KEY>/trans
113155

114156
Comments (in Jira) and Notes (in DefectDojo) can be kept in sync. This setting can be enabled once the Jira configuration has been added to a Product, via the **Edit Product** form.
115157

116-
## Step 2: Connect a Product or Engagement to Jira
158+
## Step 3: Connect a Product or Engagement to Jira
117159

118160
Each Product or Engagement in DefectDojo has its own settings which govern how Findings are converted to JIRA Issues. From here, you can decide the associated Jira Space and set the default behaviour for creating Issues, Epics, Labels and other JIRA metadata.
119161

@@ -236,21 +278,21 @@ The Edit Engagement page can be found from the Engagement page, by clicking the
236278

237279
![image](images/Creating_Issues_in_Jira_5.png)
238280

239-
## Step 3: Configure Bidirectional Sync: Jira Webhook
281+
## Step 4: Configure Bidirectional Sync: Jira Webhook
240282

241283
The Jira integration allows for bidirectional sync via webhook. DefectDojo receives Jira notifications at a unique address, which can allow for Jira comments to be received on Findings, or for Findings to be resolved via Jira depending on your configuration.
242284

243285
### Locating your Jira Webhook URL
244286

245-
Your Jira Webhook is located on the System Settings form under **Jira Integration Settings**: **Enterprise Settings \> System Settings** from the sidebar.
287+
Your Jira Webhook is made up of your DefectDojo URL and the **Jira webhook secret** you generated in [Step 1](#step-1-enable-the-jira-integration-in-system-settings). Both are shown on the ⚙️ **Configuration \> System Settings** page, next to the **Jira webhook secret** field (see the screenshot in Step 1).
246288

247-
![image](images/Configuring_the_Jira_DefectDojo_Webhook.png)
289+
You also need to check **Enable JIRA web hook** on the same page before DefectDojo will process incoming Jira notifications. Incoming webhooks are ignored if either that box or **Enable JIRA integration** is unchecked.
248290

249291
### Creating the Jira Webhook
250292

251293
1. Visit `**https:// \<YOUR JIRA URL\> /plugins/servlet/webhooks**`
252294
2. Click 'Create a Webhook'.
253-
3. For the field labeled 'URL' enter: `https:// \<**YOUR DOJO DOMAIN**\> /jira/webhook/ \<**YOUR GENERATED WEBHOOK SECRET**\>`. The Web Hook Secret is listed under the Jira Integration Settings as listed above.
295+
3. For the field labeled 'URL' enter: `https:// \<**YOUR DOJO DOMAIN**\> /jira/webhook/ \<**YOUR GENERATED WEBHOOK SECRET**\>`. The Web Hook Secret is listed next to the **Jira webhook secret** field as listed above.
254296
4. Under 'Comments' enable 'Created'. Under Issue enable 'Updated'.
255297
5. Make sure your JIRA instance trusts the SSL certificate used by your DefectDojo instance. For JIRA Cloud DefectDojo must use [a valid SSL/TLS certificate, signed by a globally trusted certificate authority](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-registering-webhooks-with-non-secure-urls/)
256298

docs/content/issue_tracking/jira/PRO__jira_guide.md

Lines changed: 42 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,46 @@ DefectDojo's Jira integration can be used to push Finding data to one or more Ji
1313
* DefectDojo can selectively push Findings from separate Products &/or Engagements to separate Jira Spaces, to keep things in their proper context.
1414

1515
# Setting Up Jira
16+
1617
Setting Up Jira requires the following steps:
17-
1. Connect a Jira Instance, either with a username / password or an API token. Multiple instances can be linked.
18-
2. Add that Jira Instance to one or more Products or Engagements within DefectDojo.
19-
3. If you wish to use bidirectional sync, create a Jira Webhook which will send updates to DefectDojo.
18+
1. Enable the Jira integration in System Settings. Until you do, the rest of the Jira settings are hidden throughout DefectDojo.
19+
2. Connect a Jira Instance, either with a username / password or an API token. Multiple instances can be linked.
20+
3. Add that Jira Instance to one or more Products or Engagements within DefectDojo.
21+
4. If you wish to use bidirectional sync, create a Jira Webhook which will send updates to DefectDojo.
22+
23+
## Step 1: Enable the Jira integration in System Settings
24+
25+
The Jira integration is off by default, and while it is off DefectDojo hides every other Jira control in the interface. This is the first thing to configure: none of the steps below are available until it is enabled.
26+
27+
While the integration is disabled, there is no **Jira Instances** entry in the sidebar, so there is nowhere to add a Jira Instance:
28+
29+
![image](images/jira-menu-hidden-pro.png)
30+
31+
### Enable the integration
32+
33+
1. Navigate to **\<Your Edition\> Settings \> System Settings** from the DefectDojo sidebar. The menu is named after your license package, so it reads **Pro Settings** on a Pro instance and **Enterprise Settings** on an Enterprise instance.
34+
35+
2. In the **Jira Integration Settings** section, check **Enable Jira Integration**.
36+
37+
3. Click **Submit**. **Jira Instances** appears in the sidebar immediately, without reloading the page:
38+
39+
![image](images/jira-enable-system-settings-pro.png)
40+
41+
### What the setting controls
42+
43+
Enabling **Enable Jira Integration** is what makes the rest of the Jira interface appear. With it turned on you get:
2044

21-
## Step 1: Connect a Jira Instance
45+
* the **Jira Instances** menu, where Jira Instances are added and edited
46+
* the **Jira Project Settings** page on the Asset ⚙️ menu, and the Jira settings on Engagements
47+
* the **Push to Jira** actions on Findings and Finding Groups, the Jira fields on the Finding and bulk edit forms, and the Jira columns on the Asset, Engagement, Finding and Finding Group lists (including CSV exports)
2248

23-
Connecting a Jira Instance is the first step to take when setting up DefectDojo's Jira integration. Please note Jira Service Management is currently not supported.
49+
The setting also gates the integration outside the UI: while it is off, DefectDojo will not push Findings to Jira (including `push_to_jira` requests sent through the API), and incoming Jira webhooks are ignored.
50+
51+
The remaining Jira fields in **Jira Integration Settings** (**Add Vulnerability ID as Jira Label**, **Enable Jira Web Hook**, **Disable Jira Web Hook Secret**, **Jira Web Hook Secret**, **Jira Minimum Severity**) stay visible whether the integration is on or off, but they have no effect until it is enabled.
52+
53+
## Step 2: Connect a Jira Instance
54+
55+
With the integration enabled, connecting a Jira Instance is the next step in setting up DefectDojo's Jira integration. Please note Jira Service Management is currently not supported.
2456

2557
#### Required information from Jira
2658

@@ -46,7 +78,7 @@ Multiple Jira Spaces can be handled by a single Jira Instance connection, as lon
4678

4779
### Add a Jira Instance
4880

49-
1. If you have not already done so, navigate to the System Settings page and check the box on **Enable Jira Integration**.
81+
1. Make sure **Enable Jira Integration** is checked in System Settings, as described in [Step 1](#step-1-enable-the-jira-integration-in-system-settings). The **Jira Instances** menu does not appear on the sidebar until it is.
5082

5183
2. Navigate to the **Enterprise Settings \> Jira Instances \> + New Jira Instance** page from the DefectDojo sidebar.
5284

@@ -82,7 +114,7 @@ If you leave this field blank, it will default to **Jira\_full.** If you need a
82114

83115
The form can be submitted from here. If you wish, you can further customize your Jira integration under Optional Fields. Clicking this button will allow you to apply generic text to Jira Issues or change the mapping of Jira Severity Mappings.
84116

85-
## Step 2: Connect a Product or Engagement to Jira
117+
## Step 3: Connect a Product or Engagement to Jira
86118

87119
Each Product or Engagement in DefectDojo has its own settings which govern how Findings are converted to JIRA Issues. From here, you can decide the associated Jira Space and set the default behaviour for creating Issues, Epics, Labels and other JIRA metadata.
88120

@@ -235,14 +267,16 @@ Note that once an Engagement has its own Jira project assigned, it can no longer
235267

236268
![image](images/Creating_Issues_in_Jira_5.png)
237269

238-
## Step 3: Configure Bidirectional Sync: Jira Webhook
270+
## Step 4: Configure Bidirectional Sync: Jira Webhook
239271

240272
The Jira integration allows for bidirectional sync via webhook. DefectDojo receives Jira notifications at a unique address, which can allow for Jira comments to be received on Findings, or for Findings to be resolved via Jira depending on your configuration.
241273

242274
### Locating your Jira Webhook URL
243275

244276
Your Jira Webhook is located on the System Settings form under **Jira Integration Settings**: **Enterprise Settings \> System Settings** from the sidebar.
245277

278+
You also need to check **Enable Jira Web Hook** on the same page before DefectDojo will process incoming Jira notifications. Incoming webhooks are ignored if either that box or **Enable Jira Integration** (see [Step 1](#step-1-enable-the-jira-integration-in-system-settings)) is unchecked.
279+
246280
![image](images/Configuring_the_Jira_DefectDojo_Webhook.png)
247281

248282
### Creating the Jira Webhook

docs/content/issue_tracking/jira/troubleshooting_jira.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,17 @@ aliases:
88

99
Here are some common issues with the Jira integration, and ways to address them.
1010

11+
## I can't find any Jira settings in DefectDojo
12+
13+
If there is no Jira menu in the sidebar, no Jira section on the Product / Engagement forms, and no **Push to Jira** option on Findings, the Jira integration is most likely still disabled in System Settings. DefectDojo hides every Jira control until it is turned on.
14+
15+
Check **Enable Jira Integration** on the System Settings page:
16+
17+
* Open Source: ⚙️ **Configuration \> System Settings**, then check **Enable JIRA integration**. A **Jira webhook secret** is also required before the form will save, so click the 🔄 icon to generate one. See the [Jira Integration Guide](/issue_tracking/jira/os__jira_guide/#step-1-enable-the-jira-integration-in-system-settings).
18+
* Pro: **\<Your Edition\> Settings \> System Settings**, then check **Enable Jira Integration** under **Jira Integration Settings**. See the [Jira Integration Guide](/issue_tracking/jira/pro__jira_guide/#step-1-enable-the-jira-integration-in-system-settings).
19+
20+
If the setting is already enabled and you still can't see the Jira menu, your user may be missing the **View Jira Instance** Configuration Permission, which is also required for the menu to appear. It can be assigned directly on the User page or through a User Group. See [About Permissions and Roles](/admin/user_management/about_perms_and_roles/#configuration-permissions).
21+
1122
## DefectDojo cannot reach Jira (or other outbound services) at all
1223

1324
If DefectDojo's Jira integration fails with connection errors that look like "connection refused", "no route to host", or generic TLS handshake failures — and the credentials themselves are valid — your DefectDojo instance may be behind a firewall that requires outbound traffic to go through a forward HTTPS proxy.

0 commit comments

Comments
 (0)