Atlassian has developed Jira as a proprietary issue tracking product. Jira provides bug tracking, issue tracking, and project management functions.
This document provides information about the Jira connector, which facilitates automated interactions, with a Jira server using FortiSOAR™ playbooks. Add the Jira connector as a step in FortiSOAR™ playbooks and perform automated operations, such as automatically creating Jira tickets and retrieving the status of an issue.
Connector Version: 1.0.0
Compatibility with FortiSOAR™ Versions: 4.10.3-161 and later
Compatibility with Jira Versions: 2.1 and later
For the procedure to install a connector, click here.
For the procedure to configure a connector, click here.
In FortiSOAR™, on the Connectors page, select the Jira connector and click Configure to configure the following parameters:
Parameter | Description |
---|---|
Server URL | URL for the Jira server from where the connector gets notifications. |
Username | Username configured for your account to access the Jira server from where the connector gets notifications. |
Password | Password configured for your account to access the Jira server from where the connector gets notifications. |
Verify SSL | Specifies whether the SSL certificate for the server is to be verified or not. Defaults to True . |
On the Jira server where the connector connects, enable the Get Notification from Jira
WebHook, so that Jira can forward activities to FortiSOAR™. The Jira WebHook pushes configured activities to FortiSOAR™.
Note: Refer to Jira documentation for the detailed procedure for adding and enabling WebHooks.
Get Notification from Jira
WebHook:FortiSOAR™ Playbooks API Trigger URL
of the server for the WebHook.<IP Address of the CyOPs instance>/api/triggers/1/deferred/<name of the action trigger given by the user>
The following image displays a configured Jira WebHook:
The following automated operations can be included in playbooks and you can also use the annotations to access operations from FortiSOAR™ release 4.10.0 onwards:
Function | Description | Annotation and Category |
---|---|---|
Create Ticket | Creates a Jira ticket on your configured Jira server. | create_ticket Investigation |
Get Ticket Information | Retrieves details for a particular Jira ticket from the Jira server, based on the ticket key you have specified. | get_ticket_information Investigation |
List Projects | Retrieves a list and details of all projects from your configured Jira server. | list_projects Investigation |
List Tickets | Retrieves a list and details of tickets associated with a project from your configured Jira server, based on the project key you have specified. | list_tickets Investigation |
Add Comment | Adds a comment to an existing Jira ticket on your configured Jira server. | add_comments Investigation |
Set Ticket Status | Updates the status of an existing Jira ticket on your configured Jira server. | set_status Investigation |
Update Ticket | Updates an existing Jira ticket on your configured Jira server, based on the input parameters you have specified. | update_ticket Investigation |
Update CyOPs Record | Updates a CyOps record with information of an existing Jira ticket. | update_cyops_record Investigation |
Delete Ticket | Deletes a ticket from your configured Jira server, based on the ticket key you have specified. | delete_ticket Investigation |
For information on the Create issue method, see https://docs.atlassian.com/software/jira/docs/api/REST/7.1.0-m01/#api/2/issue-createIssue.
Parameter | Description |
---|---|
Project Key | Unique project ID that represents the project under which you want to create the Jira ticket. |
Ticket Summary | Summary or heading of the ticket that you want to create on your configured Jira server. |
Ticket Description | Description of the ticket that you want to create on your configured Jira server. |
Ticket Type | Type of ticket that you want to create on your configured Jira server. You can add one of the following ticket types: IT Help, Service Request, Service Request with Approvals, Task, or Sub-task. |
Priority | (Optional) Priority that you want to set for the Jira ticket that you want to update on your configured Jira server. You can add one of the following priorities: Highest, High, Medium, Low, or Lowest. |
Other Fields | (Optional) Fields such as Reporter, Assignee, Components that you need to set while creating a ticket. For example: {"reporter": {"name":"admin"}, "assignee":{"name":"admin"}, "components":[{"name":"Intranet"}]} |
The JSON output contains the ID of the Jira ticket created on your configured Jira server.
Following image displays a sample output:
Parameter | Description |
---|---|
Ticket Key | Unique ID that is created for each ticket. Enter the ticket key whose information you want to retrieve from your configured Jira server. You can enter the ticket key directly, such as JIR-000 or use Dynamic Variables in this field and enter the ticket key in the format {{vars.result.data.key}} . |
A JSON output contains the details of the ticket, including the updated status of the Jira ticket, retrieved from your configured Jira server, based on the ticket key that you have specified.
Following image displays a sample output:
None
A JSON output contains a list and details of all projects retrieved from your configured Jira server
Following image displays a sample output:
For information on the searching for Jira issues, see https://developer.atlassian.com/server/jira/platform/jira-rest-api-examples/#searching-for-issues-examples and https://confluence.atlassian.com/jiracore/blog/2015/07/search-jira-like-a-boss-with-jql.
Parameter | Description |
---|---|
Project Key | Unique project ID that represents the project for which you want to retrieve the list and details of Jira tickets from your configured Jira server. |
Start At | (Optional) Starting index for retrieving tickets from Jira. By default, this is set to 0. |
Max Results | (Optional) Maximum number of tickets that this operation should return. By default, this is set to 50. |
Status | (Optional) Status based on which you want to retrieve the list and details of Jira tickets. You can add statuses such as Pending, Back to open, Mark as Done, Start progress, or Reopen issue. |
Additional Search Parameters | (Optional) Additional search parameters, such as Reporter, Priority, and Issue Type, based on which you want to retrieve the list and details of Jira tickets. For example, {"priority":"Medium","reporter":"admin"} |
Fields | (Optional) Fields such as, Id, Key, Status, Priority, and Reporter are different types of information in the system that you can choose to be included and displayed in the output. For example: ["id","key","status","priority"] |
A JSON output contains a list and details of tickets associated with a project retrieved from your configured Jira server, based on the project key you have specified.
Following image displays a sample output:
Parameter | Description |
---|---|
Ticket Key | Unique ID that is created for each ticket. Enter the ticket key for the Jira ticket to which you want to add a comment. You can enter the ticket key directly, such as JIR-000 or use Dynamic Variables in this field and enter the ticket key in the format {{vars.result.data.key}} . |
Comment | Comment that you want to add to an existing Jira ticket. |
A JSON output contains the details of the ticket, including the comment that you have added to the Jira ticket, retrieved from your configured Jira server, based on the ticket key that you have specified.
Following image displays a sample output:
Parameter | Description |
---|---|
Ticket | Unique ID that is created for each ticket. Enter the ticket key for the Jira ticket whose status you want to set. You can enter the ticket key directly, such as JIR-000 or use Dynamic Variables in this field and enter the ticket key in the format {{vars.result.data.key}} . |
Status | Status that you want to set for an existing Jira ticket. You can add statuses such as Pending, Back to open, Mark as Done, Start progress, or Reopen issue. |
The JSON output returns a Success
message if the status that you have specified is successfully updated for the Jira ticket that you have specified on your configured Jira server.
Following image displays a sample output:
For information on the Edit issue method, see https://docs.atlassian.com/software/jira/docs/api/REST/7.1.0-m01/#api/2/issue-editIssue.
Parameter | Description |
---|---|
Ticket | Unique ID that is created for each ticket. Enter the ticket key that you want to update on your configured Jira server. You can enter the ticket key directly, such as JIR-000 or use Dynamic Variables in this field and enter the ticket key in the format {{vars.result.data.key}} . |
Project Key | Unique project ID that represents the project that contains the Jira ticket that you want to update on your configured Jira server. |
Summary | Summary or heading of the Jira ticket that you want to update on your configured Jira server. |
Comment | Comment that you want to add to the Jira ticket when you are updating the Jira ticket on your configured Jira server. |
Priority | Priority that you want to set for the Jira ticket that you want to update on your configured Jira server. You can add one of the following priorities: Highest, High, Medium, Low, or Lowest. |
Description | (Optional) Description that you want to add to the Jira ticket when you are updating the Jira ticket on your configured Jira server. |
Status | (Optional) Status that you want to set to the Jira ticket when you are updating the Jira ticket on your configured Jira server. You can add statuses such as Pending, Back to open, Mark as Done, Start progress, or Reopen issue. |
Other Fields | (Optional) Fields such as Reporter, Assignee, Components that you need to set while updating a ticket. For example: {"components":[{"name":"JIRA"}]} |
The JSON output returns a Success
message if the Jira ticket that you have specified is successfully updated on your configured Jira server.
Following image displays a sample output:
Parameter | Description |
---|---|
Ticket Key | Unique ID that is created for each ticket. Enter the ticket key for the Jira ticket that you want to update in FortiSOAR™. You can enter the ticket key directly, such as JIR-000 or use Dynamic Variables in this field and enter the ticket key in the format {{vars.result.data.key}} . |
CyOps Username | Username configured for the FortiSOAR™ instance where you want to update the Jira ticket. |
CyOps Password | Password configured for the FortiSOAR™ instance where you want to update the Jira ticket. |
The JSON output contains the fields of the Incident record in FortiSOAR™ which is updated with the Jira ticket details.
Following image displays a sample output:
Parameter | Description |
---|---|
Ticket Key | Unique ID that is created for each ticket. Enter the ticket key for the Jira ticket that you want to delete from your configured Jira server. You can enter the ticket key directly, such as JIR-000 or use Dynamic Variables in this field and enter the ticket key in the format {{vars.result.data.key}} . |
Delete Subtasks | Select this option, i.e., set it to true to delete subtasks associated with the Jira ticket. If the ticket has subtasks then you must select this option so that the ticket can be successfully deleted from your configured Jira server. |
The JSON output returns a Success
message if the Jira ticket that you have specified is successfully deleted from your configured Jira server.
Following image displays a sample output:
The Sample - Jira - 1.0.0
playbook collection comes bundled with the Jira connector. This playbook contains steps using which you can perform all supported actions. You can see the bundled playbooks in the Automation > Playbooks section in FortiSOAR™ after importing the Jira connector.
Note: If you are planning to use any of the sample playbooks in your environment, ensure that you clone those playbooks and move them to a different collection since the sample playbook collection gets deleted during connector upgrade and delete.
Note: This procedure is optional, and it enables bidirectional update of Jira tickets and you must perform this procedure for the Update CyOPs Record and Update Ticket playbooks to work correctly.
This procedure also assumes that you are using FortiSOAR™ version 4.11. If you are using a different version of FortiSOAR™, such as FortiSOAR™ 4.9, then it is possible that the FortiSOAR™ UI navigation is different. Refer to the FortiSOAR™ documentation of that particular version for details about FortiSOAR™ navigation.
When a Jira ticket is mapped to a FortiSOAR™ incident, the Priority
and the Status
of the Jira ticket can be mapped into the equivalent fields in the FortiSOAR™ modules. Perform the following steps to add the JiraPriority
and JiraStatus
fields to the FortiSOAR™ Incidents
module:
Picklist Editor
and create a picklist named JiraPriority
. To open the Picklist Editor, click Settings and in the Application Editor
section, and click Picklists:
JiraStatus
as follows:
JiraStatus
.Incidents
Module as follows:Module Editor
by clicking Settings and then click Modules in the Application Editor
section.Modules
page, from the Select a module to edit or create a new module drop-down list, select Incidents.Incidents
module, click the + (Add Field) icon and add a new field with the following properties:jiraPriority
.Jira Priority
.Incidents
module, click the + (Add Field) icon and add a new field with the following properties:jiraStatus
.Jira Status
.
Atlassian has developed Jira as a proprietary issue tracking product. Jira provides bug tracking, issue tracking, and project management functions.
This document provides information about the Jira connector, which facilitates automated interactions, with a Jira server using FortiSOAR™ playbooks. Add the Jira connector as a step in FortiSOAR™ playbooks and perform automated operations, such as automatically creating Jira tickets and retrieving the status of an issue.
Connector Version: 1.0.0
Compatibility with FortiSOAR™ Versions: 4.10.3-161 and later
Compatibility with Jira Versions: 2.1 and later
For the procedure to install a connector, click here.
For the procedure to configure a connector, click here.
In FortiSOAR™, on the Connectors page, select the Jira connector and click Configure to configure the following parameters:
Parameter | Description |
---|---|
Server URL | URL for the Jira server from where the connector gets notifications. |
Username | Username configured for your account to access the Jira server from where the connector gets notifications. |
Password | Password configured for your account to access the Jira server from where the connector gets notifications. |
Verify SSL | Specifies whether the SSL certificate for the server is to be verified or not. Defaults to True . |
On the Jira server where the connector connects, enable the Get Notification from Jira
WebHook, so that Jira can forward activities to FortiSOAR™. The Jira WebHook pushes configured activities to FortiSOAR™.
Note: Refer to Jira documentation for the detailed procedure for adding and enabling WebHooks.
Get Notification from Jira
WebHook:FortiSOAR™ Playbooks API Trigger URL
of the server for the WebHook.<IP Address of the CyOPs instance>/api/triggers/1/deferred/<name of the action trigger given by the user>
The following image displays a configured Jira WebHook:
The following automated operations can be included in playbooks and you can also use the annotations to access operations from FortiSOAR™ release 4.10.0 onwards:
Function | Description | Annotation and Category |
---|---|---|
Create Ticket | Creates a Jira ticket on your configured Jira server. | create_ticket Investigation |
Get Ticket Information | Retrieves details for a particular Jira ticket from the Jira server, based on the ticket key you have specified. | get_ticket_information Investigation |
List Projects | Retrieves a list and details of all projects from your configured Jira server. | list_projects Investigation |
List Tickets | Retrieves a list and details of tickets associated with a project from your configured Jira server, based on the project key you have specified. | list_tickets Investigation |
Add Comment | Adds a comment to an existing Jira ticket on your configured Jira server. | add_comments Investigation |
Set Ticket Status | Updates the status of an existing Jira ticket on your configured Jira server. | set_status Investigation |
Update Ticket | Updates an existing Jira ticket on your configured Jira server, based on the input parameters you have specified. | update_ticket Investigation |
Update CyOPs Record | Updates a CyOps record with information of an existing Jira ticket. | update_cyops_record Investigation |
Delete Ticket | Deletes a ticket from your configured Jira server, based on the ticket key you have specified. | delete_ticket Investigation |
For information on the Create issue method, see https://docs.atlassian.com/software/jira/docs/api/REST/7.1.0-m01/#api/2/issue-createIssue.
Parameter | Description |
---|---|
Project Key | Unique project ID that represents the project under which you want to create the Jira ticket. |
Ticket Summary | Summary or heading of the ticket that you want to create on your configured Jira server. |
Ticket Description | Description of the ticket that you want to create on your configured Jira server. |
Ticket Type | Type of ticket that you want to create on your configured Jira server. You can add one of the following ticket types: IT Help, Service Request, Service Request with Approvals, Task, or Sub-task. |
Priority | (Optional) Priority that you want to set for the Jira ticket that you want to update on your configured Jira server. You can add one of the following priorities: Highest, High, Medium, Low, or Lowest. |
Other Fields | (Optional) Fields such as Reporter, Assignee, Components that you need to set while creating a ticket. For example: {"reporter": {"name":"admin"}, "assignee":{"name":"admin"}, "components":[{"name":"Intranet"}]} |
The JSON output contains the ID of the Jira ticket created on your configured Jira server.
Following image displays a sample output:
Parameter | Description |
---|---|
Ticket Key | Unique ID that is created for each ticket. Enter the ticket key whose information you want to retrieve from your configured Jira server. You can enter the ticket key directly, such as JIR-000 or use Dynamic Variables in this field and enter the ticket key in the format {{vars.result.data.key}} . |
A JSON output contains the details of the ticket, including the updated status of the Jira ticket, retrieved from your configured Jira server, based on the ticket key that you have specified.
Following image displays a sample output:
None
A JSON output contains a list and details of all projects retrieved from your configured Jira server
Following image displays a sample output:
For information on the searching for Jira issues, see https://developer.atlassian.com/server/jira/platform/jira-rest-api-examples/#searching-for-issues-examples and https://confluence.atlassian.com/jiracore/blog/2015/07/search-jira-like-a-boss-with-jql.
Parameter | Description |
---|---|
Project Key | Unique project ID that represents the project for which you want to retrieve the list and details of Jira tickets from your configured Jira server. |
Start At | (Optional) Starting index for retrieving tickets from Jira. By default, this is set to 0. |
Max Results | (Optional) Maximum number of tickets that this operation should return. By default, this is set to 50. |
Status | (Optional) Status based on which you want to retrieve the list and details of Jira tickets. You can add statuses such as Pending, Back to open, Mark as Done, Start progress, or Reopen issue. |
Additional Search Parameters | (Optional) Additional search parameters, such as Reporter, Priority, and Issue Type, based on which you want to retrieve the list and details of Jira tickets. For example, {"priority":"Medium","reporter":"admin"} |
Fields | (Optional) Fields such as, Id, Key, Status, Priority, and Reporter are different types of information in the system that you can choose to be included and displayed in the output. For example: ["id","key","status","priority"] |
A JSON output contains a list and details of tickets associated with a project retrieved from your configured Jira server, based on the project key you have specified.
Following image displays a sample output:
Parameter | Description |
---|---|
Ticket Key | Unique ID that is created for each ticket. Enter the ticket key for the Jira ticket to which you want to add a comment. You can enter the ticket key directly, such as JIR-000 or use Dynamic Variables in this field and enter the ticket key in the format {{vars.result.data.key}} . |
Comment | Comment that you want to add to an existing Jira ticket. |
A JSON output contains the details of the ticket, including the comment that you have added to the Jira ticket, retrieved from your configured Jira server, based on the ticket key that you have specified.
Following image displays a sample output:
Parameter | Description |
---|---|
Ticket | Unique ID that is created for each ticket. Enter the ticket key for the Jira ticket whose status you want to set. You can enter the ticket key directly, such as JIR-000 or use Dynamic Variables in this field and enter the ticket key in the format {{vars.result.data.key}} . |
Status | Status that you want to set for an existing Jira ticket. You can add statuses such as Pending, Back to open, Mark as Done, Start progress, or Reopen issue. |
The JSON output returns a Success
message if the status that you have specified is successfully updated for the Jira ticket that you have specified on your configured Jira server.
Following image displays a sample output:
For information on the Edit issue method, see https://docs.atlassian.com/software/jira/docs/api/REST/7.1.0-m01/#api/2/issue-editIssue.
Parameter | Description |
---|---|
Ticket | Unique ID that is created for each ticket. Enter the ticket key that you want to update on your configured Jira server. You can enter the ticket key directly, such as JIR-000 or use Dynamic Variables in this field and enter the ticket key in the format {{vars.result.data.key}} . |
Project Key | Unique project ID that represents the project that contains the Jira ticket that you want to update on your configured Jira server. |
Summary | Summary or heading of the Jira ticket that you want to update on your configured Jira server. |
Comment | Comment that you want to add to the Jira ticket when you are updating the Jira ticket on your configured Jira server. |
Priority | Priority that you want to set for the Jira ticket that you want to update on your configured Jira server. You can add one of the following priorities: Highest, High, Medium, Low, or Lowest. |
Description | (Optional) Description that you want to add to the Jira ticket when you are updating the Jira ticket on your configured Jira server. |
Status | (Optional) Status that you want to set to the Jira ticket when you are updating the Jira ticket on your configured Jira server. You can add statuses such as Pending, Back to open, Mark as Done, Start progress, or Reopen issue. |
Other Fields | (Optional) Fields such as Reporter, Assignee, Components that you need to set while updating a ticket. For example: {"components":[{"name":"JIRA"}]} |
The JSON output returns a Success
message if the Jira ticket that you have specified is successfully updated on your configured Jira server.
Following image displays a sample output:
Parameter | Description |
---|---|
Ticket Key | Unique ID that is created for each ticket. Enter the ticket key for the Jira ticket that you want to update in FortiSOAR™. You can enter the ticket key directly, such as JIR-000 or use Dynamic Variables in this field and enter the ticket key in the format {{vars.result.data.key}} . |
CyOps Username | Username configured for the FortiSOAR™ instance where you want to update the Jira ticket. |
CyOps Password | Password configured for the FortiSOAR™ instance where you want to update the Jira ticket. |
The JSON output contains the fields of the Incident record in FortiSOAR™ which is updated with the Jira ticket details.
Following image displays a sample output:
Parameter | Description |
---|---|
Ticket Key | Unique ID that is created for each ticket. Enter the ticket key for the Jira ticket that you want to delete from your configured Jira server. You can enter the ticket key directly, such as JIR-000 or use Dynamic Variables in this field and enter the ticket key in the format {{vars.result.data.key}} . |
Delete Subtasks | Select this option, i.e., set it to true to delete subtasks associated with the Jira ticket. If the ticket has subtasks then you must select this option so that the ticket can be successfully deleted from your configured Jira server. |
The JSON output returns a Success
message if the Jira ticket that you have specified is successfully deleted from your configured Jira server.
Following image displays a sample output:
The Sample - Jira - 1.0.0
playbook collection comes bundled with the Jira connector. This playbook contains steps using which you can perform all supported actions. You can see the bundled playbooks in the Automation > Playbooks section in FortiSOAR™ after importing the Jira connector.
Note: If you are planning to use any of the sample playbooks in your environment, ensure that you clone those playbooks and move them to a different collection since the sample playbook collection gets deleted during connector upgrade and delete.
Note: This procedure is optional, and it enables bidirectional update of Jira tickets and you must perform this procedure for the Update CyOPs Record and Update Ticket playbooks to work correctly.
This procedure also assumes that you are using FortiSOAR™ version 4.11. If you are using a different version of FortiSOAR™, such as FortiSOAR™ 4.9, then it is possible that the FortiSOAR™ UI navigation is different. Refer to the FortiSOAR™ documentation of that particular version for details about FortiSOAR™ navigation.
When a Jira ticket is mapped to a FortiSOAR™ incident, the Priority
and the Status
of the Jira ticket can be mapped into the equivalent fields in the FortiSOAR™ modules. Perform the following steps to add the JiraPriority
and JiraStatus
fields to the FortiSOAR™ Incidents
module:
Picklist Editor
and create a picklist named JiraPriority
. To open the Picklist Editor, click Settings and in the Application Editor
section, and click Picklists:
JiraStatus
as follows:
JiraStatus
.Incidents
Module as follows:Module Editor
by clicking Settings and then click Modules in the Application Editor
section.Modules
page, from the Select a module to edit or create a new module drop-down list, select Incidents.Incidents
module, click the + (Add Field) icon and add a new field with the following properties:jiraPriority
.Jira Priority
.Incidents
module, click the + (Add Field) icon and add a new field with the following properties:jiraStatus
.Jira Status
.