> For the complete documentation index, see [llms.txt](https://docs.forestall.io/fsprotect/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.forestall.io/fsprotect/configuration-center/jira.md).

# Jira

The JIRA integration provides users with the organizational convenience of managing vulnerabilities detected in Forestall ISPM. When you configure the plugin, Forestall uses these fields to organize and manage vulnerabilities detected when running vulnerability scans.

When the following configuration steps have been successfully done, users can assign the found `Issues` from Forestall as JIRA tickets to their team members.

The JIRA integration consists of two configuration requirements ;

* **REST API Connection Information**
* **Data binding fields between JIRA and Forestall**

<figure><img src="https://3408039743-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FObpV44hoVkNmo5bFuVVL%2Fuploads%2Fgit-blob-6f1fa5c87575f902f9f9000af1872479980a43a6%2FJiraentegration.png?alt=media" alt=""><figcaption><p>Jira Integration</p></figcaption></figure>

## **Configuring the REST API Connection**

Before the configuration of the project specifications, the REST API connection information must be supplied.

Forestall supports both on-prem and cloud JIRA instances.

Following input fields must be supplied according to the JIRA instance,

![JIRA Rest API Fields](https://3408039743-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FObpV44hoVkNmo5bFuVVL%2Fuploads%2Fgit-blob-f845de49d9df636ae1acd0fdcba313bed4301540%2Fjira_rest_api_info.PNG?alt=media)

**E-Mail**: The e-mail address of the JIRA API user.

**API Key/Personal Access Token**:

* The generated API Key for cloud JIRA instances to authenticate over REST API. (<https://support.atlassian.com/atlassian-account/docs/manage-api-tokens-for-your-atlassian-account/>)
* The generate Personal Acccess Token for on-premise JIRA instances to authenticate over REST API.(<https://confluence.atlassian.com/enterprise/using-personal-access-tokens-1026032365.html>)

**URL**: The url address of the JIRA server.

**Cloud Instance**: JIRA instance type.Switch on for cloud instances, switch off for on-premise instances.

Submitting the form with the `Save` button validates the user supplied input.

If the connection information is correct, the project specification tab has been enabled.

![Completing the REST API Integration](https://3408039743-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FObpV44hoVkNmo5bFuVVL%2Fuploads%2Fgit-blob-9e7765ff5bd56bf21c9a6bf4e55c30134eabd504%2Fjira_integration_move_right.PNG?alt=media)

## Updating the Jira Address

* "Change" will update the URLs of all previously created Jira tickets.
* "Delete" will remove all previously created Jira tickets.

<figure><img src="https://3408039743-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FObpV44hoVkNmo5bFuVVL%2Fuploads%2Fgit-blob-fcab53b5b521ac4b1c693986a00f5c6a9ca0f2c5%2Fintegrations-jira-image-1.png?alt=media" alt=""><figcaption></figcaption></figure>

## **Data Binding between JIRA and Forestall**

The JIRA specification tab allows users to specify the project details and relevant data binding configurations between Forestall and JIRA.

![JIRA Data Bindings](https://3408039743-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FObpV44hoVkNmo5bFuVVL%2Fuploads%2Fgit-blob-4d6957e342d0d6533eb95660dc651eb95044768b%2Fjira_project_specification.PNG?alt=media)

**Project Key**: Name of the project that is created from JIRA for the found `Issues` by Forestall.

**Issue Type**: The type of issues to bind the created tickets in a specified category.

**Priority for Info Severity**: The severity mapping for the Information level `Issues` found by Forestall to the JIRA level specification.

**Priority for Low Severity**: The severity mapping for the Low level `Issues` found by Forestall to the JIRA level specification.

**Priority for Medium Severity**: The severity mapping for the Medium level `Issues` found by Forestall to the JIRA level specification.

**Priority for High Severity**: The severity mapping for the High level `Issues` found by Forestall to the JIRA level specification.

**Priority for Critical Severity**: The severity mapping for the Critical level `Issues` found by Forestall to the JIRA level specification.

Submitting the form with the `Save` saves the binding and mapping configurations between Forestall and JIRA.

## Advanced: Additional Create Fields

Some Jira projects require fields on their create screen or in their workflow that the integration does not set by itself. The **Advanced: additional create fields (optional)** section of the Jira configuration supplies those fields.

<figure><img src="https://3408039743-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FObpV44hoVkNmo5bFuVVL%2Fuploads%2Fgit-blob-0d75b633566bca3625acd6f82947eb6f618b06f3%2Fintegrations-jira-advanced-fields.png?alt=media" alt=""><figcaption><p>Advanced: additional create fields</p></figcaption></figure>

**Import from an existing ticket**: Enter an issue key, for example `PROJ-123`, or use **Import from a recent ticket** to read the field values from a ticket that already satisfies the project's requirements. By default only the fields Jira will not auto-fill are imported; select **Include all fields** to import every field.

**Additional Create Fields (JSON)**: The imported values, which are merged verbatim into the Jira create request. Lines beginning with `//` are treated as comments and ignored, so each field can be annotated. Leaving the box empty disables the feature.

### Variables

A field value can contain a variable that is replaced when the ticket is created. Clicking a variable in the **Available variables** list copies it.

| Variable                        | Value                                          |
| ------------------------------- | ---------------------------------------------- |
| `${vuln.id}`                    | Identifier of the issue.                       |
| `${vuln.key}`                   | Key of the issue.                              |
| `${vuln.name}`                  | Name of the issue.                             |
| `${vuln.severity}`              | Severity of the issue.                         |
| `${vuln.type}`                  | Type of the issue.                             |
| `${vuln.exploitationCertainty}` | How likely the issue can be exploited.         |
| `${vuln.exploitationPrivilege}` | Privilege level required to exploit the issue. |
| `${vuln.easeOfMitigation}`      | How easily the issue can be mitigated.         |
| `${vuln.affectedCount}`         | Number of objects affected by the issue.       |
| `${vuln.url}`                   | Link to the issue in Forestall.                |
| `${scan.name}`                  | Name of the scan the issue was detected in.    |
| `${scan.startDate}`             | Start date of the scan.                        |
| `${scan.startDateTime}`         | Start date and time of the scan.               |

A value that is only a variable keeps its own type, so a numeric variable stays a number. A variable used inside a longer text becomes text.

{% hint style="warning" %}
The JSON is merged into the create request exactly as written. Review the imported values before saving, because a field Jira rejects will prevent tickets from being created.
{% endhint %}

## **Assign Issues to Users**

After a successful JIRA configuration, route to the `Issues` tab and choose `Create JIRA Ticket` from the three-dot button and supply the necessary information;

* Issue Type
* Issue Priority
* Issue Assignee

![Assigning Issues to Users](https://3408039743-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FObpV44hoVkNmo5bFuVVL%2Fuploads%2Fgit-blob-030dda2e7b67523c1442535b91d57287a102b4c9%2Fjira_assign_from_fsprotect.gif?alt=media)

To create tickets for multiple vulnerabilities at once, navigate to the 'Issues' tab and begin selecting vulnerabilities from the checkboxes located in the leftmost section of the table. Upon selecting the desired vulnerabilities, proceed to choose 'Create Jira Ticket' from the bulk action menu, and then click 'Apply'. After clicking the “Apply” button, supply the necessary information. The button located at the rightmost side of the table can be used to assign the assignee of the row to all tickets to be created.

<figure><img src="https://3408039743-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FObpV44hoVkNmo5bFuVVL%2Fuploads%2Fgit-blob-914fb338299f79da6029fa3cb5d3ab629da996da%2Fbulk_jira.gif?alt=media" alt=""><figcaption><p>Assigning issues in bulk</p></figcaption></figure>

Successfuly created tickets can be analyzed from the JIRA,

![JIRA Ticket](https://3408039743-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FObpV44hoVkNmo5bFuVVL%2Fuploads%2Fgit-blob-32123dd61b4032cfd590368044288509467f14ed%2Fcreated_ticket_view_on_jira.PNG?alt=media)

Tickets created for the scan will appear in the comment section of the respective ticket in JIRA, accompanied by relevant information and reports.

<figure><img src="https://3408039743-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FObpV44hoVkNmo5bFuVVL%2Fuploads%2Fgit-blob-117c8c8859a560c614835f7fead83b4747d3addf%2Fintegrations-jira-image-2.png?alt=media" alt=""><figcaption><p>Scan related information in comment section</p></figcaption></figure>
