Fortinet black logo

Jira v1.2.0

About the connector

Jira is a widely used issue tracking and project management software developed by Atlassian. It helps teams organize and track their work, tasks, and projects in a collaborative environment. With features like customizable workflows, agile project management, and extensive reporting capabilities, Jira facilitates efficient project planning, execution, and monitoring.

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 with Jira.

Version information

Connector Version: 1.2.0

FortiSOAR™ Version Tested on: 7.4.0-3024

Jira Version Tested on: Cloud Instance

Authored By: Fortinet

Certified: Yes

Release Notes for version 1.2.0

Following enhancements have been made to the Jira Connector in version 1.2.0:

  • Added the following new actions and playbooks:
    • Validate JQL query
    • Search Users
    • Get User Details
    • Assign Issue to User
  • Updated the List Tickets action to support JQL queries in addition to simple queries

Installing the connector

Use the Content Hub to install the connector. For the detailed procedure to install a connector, click here.

You can also use the yum command as a root user to install the connector:

yum install cyops-connector-jira

Prerequisites to configuring the connector

  • You must have the URL of Jira server to which you will connect and perform automated operations and credentials to access that server.
  • The FortiSOAR™ server should have outbound connectivity to port 443 on the Jira server.

Minimum Permissions Required

  • Not applicable

Configuring the connector

For the procedure to configure a connector, click here

Configuration parameters

In FortiSOAR™, on the Connectors page, click the Jira connector row (if you are in the Grid view on the Connectors page) and in the Configurations tab enter the required configuration details:

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.
API Token API Token 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.
By default, this option is set to True.

Actions supported by the connector

The following automated operations can be included in playbooks and you can also use the annotations to access operations:

Function Description Annotation and Category
Create Ticket Creates a Jira ticket on your configured Jira server based on the project key, ticket summary, type, and description, and other input parameters you have specified. create_ticket
Investigation
Get Ticket Details Retrieves details for a particular Jira ticket from the Jira server based on the ticket ID you have specified. get_ticket_details
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 and other input parameters you have specified. list_tickets
Investigation
Validate JQL query Parses and validates JQL query syntax and returns errors when found. validate_jql_query
Utilities
Search Users Returns a list of all users, including active users, inactive users and previously deleted users that have an Atlassian account. search_users
Investigation
Get User Details Retrieves details for a particular Jira user from the Jira server based on the account ID you have specified. get_user_details
Investigation
Assign Issue to User Assigns an issue to a user based on the account and ticket ID that you have specified. assign_issue
Investigation
Add Attachment Attaches a file that is present in FortiSOAR to an existing Jira ticket on your configured Jira server based on the ticket ID and FortiSOAR file or attachment IRI you have specified. submit_file
Investigation
Add Remote Link Adds a remote link of an issue to an existing ticket in Jira based on the ticket ID, URL, and title you have specified. add_remote_link
Investigation
Add Comment Adds a comment to an existing Jira ticket on your configured Jira server based on the ticket ID and comment you have specified. add_comment
Investigation
Get Comments Retrieves a list of comments associated with an existing Jira ticket on your configured Jira server based on the ticket ID and other input parameters you have specified. get_comments
Investigation
Set Ticket Status Updates the status of an existing Jira ticket on your configured Jira server based on the ticket ID and status you have specified. set_status
Investigation
Update Ticket Updates an existing Jira ticket on your configured Jira server based on the project key, ticket ID and other input parameters you have specified. update_ticket
Investigation
Update FortiSOAR Record Updates a FortiSOAR record with information on an existing Jira ticket based on the ticket ID and other input parameters you have specified. update_fortisoar_record
Investigation
Delete Ticket Deletes a ticket from your configured Jira server based on the ticket ID and other input parameters you have specified. delete_ticket
Investigation

operation: Create Ticket

Input parameters

Parameter Description
Project Key Specify the unique project ID that represents the project under which to create the Jira ticket.
Ticket Summary Specify the summary or heading of the ticket to create on your configured Jira server.
Ticket Description Specify the description of the ticket to create on your configured Jira server.
Ticket Type Specify the type of ticket to create on your configured Jira server.You can specify the following ticket types:
  • IT help
  • Service Request
  • Service Request with Approvals
  • tasks
  • Sub-task
Parent Key ID Specify the ID of the ticket under which to create subtask. This field is only needed when the ticket type is Subtask. For example DEMO-1.
Priority (Optional) Specify the priority to set for the Jira ticket to update on your configured Jira server. You can specify one of the following priorities:
  • Highest
  • High
  • Medium
  • Low
  • Lowest
Other Fields (Optional) Specify fields such as Reporter, Assignee, or Components to set while creating a ticket. For example:
    {
        "reporter": {
            "name": "admin"
        },
        "assignee": {
            "name": "admin"
        },
        "components": [
            {
            "name": "Intranet"
            }
        ]
    }
                

Output

The output contains the following populated JSON schema:

{
    "id": "",
    "key": "",
    "self": "",
    "status": ""
}

operation: Get Ticket Details

Input parameters

Parameter Description
Ticket ID Specify the unique ID associated with each ticket to retrieve from your configured Jira server. You can enter the ticket ID directly, such as JIR-000, or use dynamic variables in this field to enter the ticket ID in the Jinja format {{vars.result.data.key}}.

Output

The output contains the following populated JSON schema:

{
    "key": "",
    "expand": "",
    "fields": {
        "customfield_10128": "",
        "customfield_10101": "",
        "progress": {
            "progress": "",
            "total": ""
        },
        "environment": "",
        "watches": {
            "self": "",
            "isWatching": "",
            "watchCount": ""
        },
        "security": "",
        "customfield_10115": [],
        "customfield_10141": "",
        "customfield_10112": "",
        "customfield_10105": "",
        "aggregatetimespent": "",
        "customfield_10122": "",
        "timeestimate": "",
        "labels": [],
        "timeoriginalestimate": "",
        "components": [],
        "comment": {
            "comments": [
                {
                    "body": "",
                    "id": "",
                    "updated": "",
                    "self": "",
                    "created": "",
                    "author": {
                        "avatarUrls": {
                            "48x48": "",
                            "24x24": "",
                            "32x32": "",
                            "16x16": ""
                        },
                        "timeZone": "",
                        "emailAddress": "",
                        "self": "",
                        "active": "",
                        "displayName": "",
                        "name": "",
                        "key": "",
                        "accountId": ""
                    },
                    "updateAuthor": {
                        "avatarUrls": {
                            "48x48": "",
                            "24x24": "",
                            "32x32": "",
                            "16x16": ""
                        },
                        "timeZone": "",
                        "emailAddress": "",
                        "self": "",
                        "active": "",
                        "displayName": "",
                        "name": "",
                        "key": "",
                        "accountId": ""
                    }
                },
                {
                    "body": "",
                    "id": "",
                    "updated": "",
                    "self": "",
                    "created": "",
                    "author": {
                        "avatarUrls": {
                            "48x48": "",
                            "24x24": "",
                            "32x32": "",
                            "16x16": ""
                        },
                        "timeZone": "",
                        "emailAddress": "",
                        "self": "",
                        "active": "",
                        "displayName": "",
                        "name": "",
                        "key": "",
                        "accountId": ""
                    },
                    "updateAuthor": {
                        "avatarUrls": {
                            "48x48": "",
                            "24x24": "",
                            "32x32": "",
                            "16x16": ""
                        },
                        "timeZone": "",
                        "emailAddress": "",
                        "self": "",
                        "active": "",
                        "displayName": "",
                        "name": "",
                        "key": "",
                        "accountId": ""
                    }
                },
                {
                    "body": "",
                    "id": "",
                    "updated": "",
                    "self": "",
                    "created": "",
                    "author": {
                        "avatarUrls": {
                            "48x48": "",
                            "24x24": "",
                            "32x32": "",
                            "16x16": ""
                        },
                        "timeZone": "",
                        "emailAddress": "",
                        "self": "",
                        "active": "",
                        "displayName": "",
                        "name": "",
                        "key": "",
                        "accountId": ""
                    },
                    "updateAuthor": {
                        "avatarUrls": {
                            "48x48": "",
                            "24x24": "",
                            "32x32": "",
                            "16x16": ""
                        },
                        "timeZone": "",
                        "emailAddress": "",
                        "self": "",
                        "active": "",
                        "displayName": "",
                        "name": "",
                        "key": "",
                        "accountId": ""
                    }
                },
                {
                    "body": "",
                    "id": "",
                    "updated": "",
                    "self": "",
                    "created": "",
                    "author": {
                        "avatarUrls": {
                            "48x48": "",
                            "24x24": "",
                            "32x32": "",
                            "16x16": ""
                        },
                        "timeZone": "",
                        "emailAddress": "",
                        "self": "",
                        "active": "",
                        "displayName": "",
                        "name": "",
                        "key": "",
                        "accountId": ""
                    },
                    "updateAuthor": {
                        "avatarUrls": {
                            "48x48": "",
                            "24x24": "",
                            "32x32": "",
                            "16x16": ""
                        },
                        "timeZone": "",
                        "emailAddress": "",
                        "self": "",
                        "active": "",
                        "displayName": "",
                        "name": "",
                        "key": "",
                        "accountId": ""
                    }
                }
            ],
            "startAt": "",
            "total": "",
            "maxResults": ""
        },
        "customfield_10131": "",
        "customfield_10130": "",
        "customfield_10120": "",
        "customfield_10116": "",
        "versions": [],
        "customfield_10110": "",
        "attachment": [],
        "timespent": "",
        "customfield_10102": "",
        "customfield_10108": "",
        "customfield_10000": "{}",
        "resolution": "",
        "duedate": "",
        "aggregateprogress": {
            "progress": "",
            "total": ""
        },
        "customfield_10106": "",
        "customfield_10118": "",
        "customfield_10125": "",
        "customfield_10138": {
            "_links": {
                "self": ""
            },
            "ongoingCycle": {
                "breached": "",
                "goalDuration": {
                    "friendly": "",
                    "millis": ""
                },
                "withinCalendarHours": "",
                "paused": "",
                "startTime": {
                    "friendly": "",
                    "iso8601": "",
                    "epochMillis": "",
                    "jira": ""
                },
                "elapsedTime": {
                    "friendly": "",
                    "millis": ""
                },
                "remainingTime": {
                    "friendly": "",
                    "millis": ""
                },
                "breachTime": {
                    "friendly": "",
                    "iso8601": "",
                    "epochMillis": "",
                    "jira": ""
                }
            },
            "name": "",
            "id": "",
            "completedCycles": []
        },
        "assignee": "",
        "customfield_10103": "",
        "customfield_10134": "",
        "aggregatetimeestimate": "",
        "reporter": {
            "avatarUrls": {
                "48x48": "",
                "24x24": "",
                "32x32": "",
                "16x16": ""
            },
            "timeZone": "",
            "emailAddress": "",
            "self": "",
            "active": "",
            "displayName": "",
            "name": "",
            "key": "",
            "accountId": ""
        },
        "aggregatetimeoriginalestimate": "",
        "project": {
            "avatarUrls": {
                "48x48": "",
                "24x24": "",
                "32x32": "",
                "16x16": ""
            },
            "projectTypeKey": "",
            "id": "",
            "self": "",
            "name": "",
            "key": ""
        },
        "customfield_10139": {
            "_links": {
                "self": ""
            },
            "name": "",
            "id": "",
            "completedCycles": [
                {
                    "breached": "",
                    "goalDuration": {
                        "friendly": "",
                        "millis": ""
                    },
                    "startTime": {
                        "friendly": "",
                        "iso8601": "",
                        "epochMillis": "",
                        "jira": ""
                    },
                    "elapsedTime": {
                        "friendly": "",
                        "millis": ""
                    },
                    "remainingTime": {
                        "friendly": "",
                        "millis": ""
                    },
                    "stopTime": {
                        "friendly": "",
                        "iso8601": "",
                        "epochMillis": "",
                        "jira": ""
                    }
                }
            ]
        },
        "customfield_10135": "",
        "fixVersions": [],
        "timetracking": {},
        "customfield_10127": "",
        "customfield_10001": [],
        "customfield_10111": "",
        "customfield_10126": "",
        "customfield_10005": "",
        "votes": {
            "self": "",
            "hasVoted": "",
            "votes": ""
        },
        "customfield_10113": "",
        "creator": {
            "avatarUrls": {
                "48x48": "",
                "24x24": "",
                "32x32": "",
                "16x16": ""
            },
            "timeZone": "",
            "emailAddress": "",
            "self": "",
            "active": "",
            "displayName": "",
            "name": "",
            "key": "",
            "accountId": ""
        },
        "issuetype": {
            "description": "",
            "iconUrl": "",
            "id": "",
            "self": "",
            "subtask": "",
            "avatarId": "",
            "name": ""
        },
        "created": "",
        "priority": {
            "self": "",
            "iconUrl": "",
            "name": "",
            "id": ""
        },
        "customfield_10133": "",
        "customfield_10119": [],
        "lastViewed": "",
        "subtasks": [],
        "customfield_10200": "",
        "customfield_10104": "",
        "customfield_10121": "",
        "customfield_10132": "",
        "customfield_10123": "",
        "resolutiondate": "",
        "customfield_10140": "",
        "customfield_10117": "",
        "customfield_10136": "",
        "summary": "",
        "customfield_10124": "",
        "issuelinks": [],
        "description": "",
        "workratio": "",
        "customfield_10137": "",
        "updated": "",
        "customfield_10114": "",
        "customfield_10129": "",
        "status": {
            "description": "",
            "iconUrl": "",
            "id": "",
            "self": "",
            "statusCategory": {
                "self": "",
                "colorName": "",
                "name": "",
                "id": "",
                "key": ""
            },
            "name": ""
        },
        "customfield_10100": "",
        "worklog": {
            "total": "",
            "maxResults": "",
            "worklogs": [],
            "startAt": ""
        },
        "customfield_10109": "",
        "customfield_10107": ""
    },
    "id": "",
    "self": ""
}

operation: List Projects

Input parameters

None.

Output

The output contains the following populated JSON schema:

{
    "expand": "",
    "self": "",
    "id": "",
    "key": "",
    "name": "",
    "avatarUrls": {
        "48x48": "",
        "24x24": "",
        "16x16": "",
        "32x32": ""
    },
    "projectTypeKey": "",
    "simplified": "",
    "style": "",
    "isPrivate": "",
    "properties": {}
}

operation: List Tickets

Input parameters

Parameter Description
JQL Query Specify the Jira query to filter and list the tickets as per query parameters. You must specify at least one query parameter. For example, project = JIRA_PROJECT_ID.
Start At (Optional) Specify the starting index for retrieving tickets from Jira. By default, this is set to 0.
Max Results (Optional) Specify the maximum number of tickets that this operation should return. By default, this is set to 50.
Fields (Optional) Specify fields such as ID, Key, Status, Priority, and Reporter that you can choose to include and display in the output. For example: ["id","key","status","priority"]

Output

The output contains the following populated JSON schema:

{
    "expand": "",
    "startAt": "",
    "maxResults": "",
    "total": "",
    "issues": [
        {
            "expand": "",
            "id": "",
            "self": "",
            "key": "",
            "fields": {
                "issuetype": {
                    "self": "",
                    "id": "",
                    "description": ".",
                    "iconUrl": "",
                    "name": "",
                    "subtask": "",
                    "avatarId": ""
                },
                "timespent": "",
                "project": {
                    "self": "",
                    "id": "",
                    "key": "",
                    "name": "",
                    "projectTypeKey": "",
                    "avatarUrls": {
                        "48x48": "",
                        "24x24": "",
                        "16x16": "",
                        "32x32": ""
                    }
                },
                "customfield_10110": "",
                "fixVersions": [],
                "customfield_10111": "",
                "aggregatetimespent": "",
                "customfield_10112": "",
                "resolution": "",
                "customfield_10113": "",
                "customfield_10114": "",
                "customfield_10104": "",
                "customfield_10105": "",
                "customfield_10106": "",
                "customfield_10107": "",
                "customfield_10108": "",
                "customfield_10109": "",
                "resolutiondate": "",
                "workratio": "",
                "lastViewed": "",
                "watches": {
                    "self": "",
                    "watchCount": "",
                    "isWatching": ""
                },
                "created": "",
                "customfield_10140": "",
                "customfield_10141": "",
                "priority": {
                    "self": "",
                    "iconUrl": "",
                    "name": "",
                    "id": ""
                },
                "customfield_10100": "",
                "customfield_10101": "",
                "customfield_10102": "",
                "labels": [],
                "customfield_10103": "",
                "customfield_10137": "",
                "customfield_10138": {
                    "id": "",
                    "name": "",
                    "_links": {
                        "self": ""
                    },
                    "completedCycles": [],
                    "ongoingCycle": {
                        "startTime": {
                            "iso8601": "",
                            "jira": "",
                            "friendly": "",
                            "epochMillis": ""
                        },
                        "breachTime": {
                            "iso8601": "",
                            "jira": "",
                            "friendly": "",
                            "epochMillis": ""
                        },
                        "breached": "",
                        "paused": "",
                        "withinCalendarHours": "",
                        "goalDuration": {
                            "millis": "",
                            "friendly": ""
                        },
                        "elapsedTime": {
                            "millis": "",
                            "friendly": ""
                        },
                        "remainingTime": {
                            "millis": "",
                            "friendly": ""
                        }
                    }
                },
                "customfield_10139": {
                    "id": "",
                    "name": "",
                    "_links": {
                        "self": ""
                    },
                    "completedCycles": [],
                    "ongoingCycle": {
                        "startTime": {
                            "iso8601": "",
                            "jira": "",
                            "friendly": "",
                            "epochMillis": ""
                        },
                        "breachTime": {
                            "iso8601": "",
                            "jira": "",
                            "friendly": "",
                            "epochMillis": ""
                        },
                        "breached": "",
                        "paused": "",
                        "withinCalendarHours": "",
                        "goalDuration": {
                            "millis": "",
                            "friendly": ""
                        },
                        "elapsedTime": {
                            "millis": "",
                            "friendly": ""
                        },
                        "remainingTime": {
                            "millis": "",
                            "friendly": ""
                        }
                    }
                },
                "timeestimate": "",
                "aggregatetimeoriginalestimate": "",
                "versions": [],
                "issuelinks": [],
                "assignee": "",
                "updated": "",
                "status": {
                    "self": "",
                    "description": "",
                    "iconUrl": "",
                    "name": "",
                    "id": "",
                    "statusCategory": {
                        "self": "",
                        "id": "",
                        "key": "",
                        "colorName": "",
                        "name": ""
                    }
                },
                "components": [],
                "timeoriginalestimate": "",
                "customfield_10130": "",
                "description": "",
                "customfield_10131": "",
                "customfield_10132": "",
                "customfield_10133": "",
                "customfield_10134": "",
                "customfield_10135": "",
                "customfield_10136": "",
                "customfield_10126": "",
                "customfield_10005": "",
                "customfield_10127": "",
                "security": "",
                "customfield_10128": "",
                "customfield_10129": "",
                "aggregatetimeestimate": "",
                "summary": "",
                "creator": {
                    "self": "",
                    "name": "",
                    "key": "",
                    "accountId": "",
                    "emailAddress": "",
                    "avatarUrls": {
                        "48x48": "",
                        "24x24": "",
                        "16x16": "",
                        "32x32": ""
                    },
                    "displayName": "",
                    "active": "",
                    "timeZone": ""
                },
                "subtasks": [],
                "customfield_10120": "",
                "reporter": {
                    "self": "",
                    "name": "",
                    "key": "",
                    "accountId": "",
                    "emailAddress": "",
                    "avatarUrls": {
                        "48x48": "",
                        "24x24": "",
                        "16x16": "",
                        "32x32": ""
                    },
                    "displayName": "",
                    "active": "",
                    "timeZone": ""
                },
                "customfield_10000": "{}",
                "aggregateprogress": {
                    "progress": "",
                    "total": ""
                },
                "customfield_10121": "",
                "customfield_10001": [],
                "customfield_10122": "",
                "customfield_10123": "",
                "customfield_10200": "",
                "customfield_10124": "",
                "customfield_10125": "",
                "customfield_10115": [],
                "customfield_10116": "",
                "customfield_10117": "",
                "environment": "",
                "customfield_10118": "",
                "customfield_10119": [],
                "duedate": "",
                "progress": {
                    "progress": "",
                    "total": ""
                },
                "votes": {
                    "self": "",
                    "votes": "",
                    "hasVoted": ""
                }
            }
        }
    ]
}

operation: Validate JQL query

Input parameters

Parameter Description
JQL Query Specify the Jira query to validate with the Jira Server.

Output

The output contains the following populated JSON schema:

{
    "queries": [
        {
            "query": "",
            "structure": ""
        },
        {
            "query": "",
            "errors": ""
        }
    ]
}

operation: Search Users

Input parameters

Parameter Description
Start At (Optional) Specify the starting index for retrieving tickets from Jira. By default, this is set to 0.
Max Results (Optional) Specify the maximum number of tickets that this operation should return. By default, this is set to 50.

Output

The output contains the following populated JSON schema:

{
    "self": "",
    "key": "",
    "accountId": "",
    "accountType": "",
    "name": "",
    "avatarUrls": {
        "48x48": "",
        "24x24": "",
        "16x16": "",
        "32x32": ""
    },
    "displayName": "",
    "active": ""
}

operation: Get User Details

Input parameters

Parameter Description
Account ID Specify the user's account ID. Account ID uniquely identifies the user across all Atlassian products and you can retrieve it from the Search Users action.

Output

The output contains the following populated JSON schema:

{
    "self": "",
    "key": "",
    "accountId": "",
    "accountType": "",
    "name": "",
    "emailAddress": "",
    "avatarUrls": {
        "48x48": "",
        "24x24": "",
        "16x16": "",
        "32x32": ""
    },
    "displayName": "",
    "active": "",
    "timeZone": "",
    "groups": {
        "size": "",
        "items": ""
    },
    "applicationRoles": {
        "size": "",
        "items": ""
    }
}

operation: Assign Issue to User

Input parameters

Parameter Description
Account ID Specify the assignee's account ID. Account ID uniquely identifies the user across all Atlassian products and you can retrieve it from the Search Users action.

NOTE:To remove all assignees and mark the ticket unassigned, specify -1 in this field.

Ticket ID Specify the unique ID associated with each ticket.

Output

The output contains the following populated JSON schema:

The output contains a non-dictionary value.

operation: Add Attachment

Input parameters

Parameter Description
Ticket ID Specify the unique ID associated with each ticket to retrieve from your configured Jira server. You can enter the ticket ID directly, such as JIR-144, or use dynamic variables in this field to enter the ticket ID in the Jinja format {{vars.result.data.key}}.
File or Attachment IRI Specify the file to add as an attachment to the specified Jira ticket. You can select from the following options:
  • Attachment ID: Specify the attachment ID of the file in the FortiSOAR™ Attachments module.
  • File IRI: Specify the File IRI of the file in the FortiSOAR™ Attachments module.

Output

The output contains the following populated JSON schema:

{
    "data": [
        {
            "id": "",
            "self": "",
            "size": "",
            "author": {
                "id": "",
                "self": "",
                "active": "",
                "timeZone": "",
                "accountId": "",
                "avatarUrls": {
                    "16x16": "",
                    "24x24": "",
                    "32x32": "",
                    "48x48": ""
                },
                "accountType": "",
                "displayName": "",
                "emailAddress": ""
            },
            "content": "",
            "created": "",
            "filename": ""
        }
    ],
    "status": "",
    "_status": "",
    "message": "",
    "operation": "",
    "request_id": ""
}

operation: Add Remote Link

Input parameters

Parameter Description
Ticket ID Specify the unique ID associated with each ticket to retrieve from your configured Jira server. You can enter the ticket ID directly, such as JIR-144, or use dynamic variables in this field to enter the ticket ID in the Jinja format {{vars.result.data.key}}.
URL Specify the URL of the issue to add to the specified Jira ticket.
Title Specify the title to add for the specified issue that you are adding to the Jira ticket.

Output

The output contains the following populated JSON schema:

{
    "id": "",
    "self": ""
}

operation: Add Comment

Input parameters

Parameter Description
Ticket ID Specify the unique ID associated with each ticket to retrieve from your configured Jira server. You can enter the ticket ID directly, such as JIR-144, or use dynamic variables in this field to enter the ticket ID in the Jinja format {{vars.result.data.key}}.
Comment Specify the comment to add to an existing Jira ticket.

Output

The output contains the following populated JSON schema:

{
    "body": "",
    "id": "",
    "updated": "",
    "self": "",
    "created": "",
    "author": {
        "avatarUrls": {
            "48x48": "",
            "24x24": "",
            "32x32": "",
            "16x16": ""
        },
        "timeZone": "",
        "emailAddress": "",
        "self": "",
        "active": "",
        "displayName": "",
        "name": "",
        "key": "",
        "accountId": ""
    },
    "updateAuthor": {
        "avatarUrls": {
            "48x48": "",
            "24x24": "",
            "32x32": "",
            "16x16": ""
        },
        "timeZone": "",
        "emailAddress": "",
        "self": "",
        "active": "",
        "displayName": "",
        "name": "",
        "key": "",
        "accountId": ""
    }
}

operation: Get Comments

Input parameters

Parameter Description
Ticket ID Specify the unique ID associated with each ticket to retrieve from your configured Jira server. You can enter the ticket ID directly, such as JIR-000, or use dynamic variables in this field to enter the ticket ID in the Jinja format {{vars.result.data.key}}.
Start At (Optional) Specify the starting index for retrieving tickets from Jira. By default, this is set to 0.
Max Results (Optional) Specify the maximum number of tickets that this operation should return. By default, this is set to 50.
OrderBy Select the order in which to sort the tickets. You can select from the following options:
  • Ascending
  • Descending

Output

The output contains the following populated JSON schema:

{
    "startAt": "",
    "maxResults": "",
    "total": "",
    "comments": [
        {
            "self": "",
            "id": "",
            "author": {
                "self": "",
                "id": "",
                "accountId": "",
                "emailAddress": "",
                "avatarUrls": {
                    "48x48": "",
                    "24x24": "",
                    "16x16": "",
                    "32x32": ""
                },
                "displayName": "",
                "active": "",
                "timeZone": "",
                "accountType": ""
            },
            "body": "",
            "updateAuthor": {
                "self": "",
                "id": "",
                "accountId": "",
                "emailAddress": "",
                "avatarUrls": {
                    "48x48": "",
                    "24x24": "",
                    "16x16": "",
                    "32x32": ""
                },
                "displayName": "",
                "active": "",
                "timeZone": "",
                "accountType": ""
            },
            "created": "",
            "updated": "",
            "jsdPublic": ""
        }
    ]
}

operation: Set Ticket Status

Input parameters

Parameter Description
Ticket ID Specify the unique ID associated with each ticket to retrieve from your configured Jira server. You can enter the ticket ID directly, such as JIR-000, or use dynamic variables in this field to enter the ticket ID in the Jinja format {{vars.result.data.key}}.
Status Specify the status to set for an existing Jira ticket. You can add status such as To Do, In Progress, or Done.

Output

The output contains the following populated JSON schema:

{
    "message": "",
    "status": ""
}

operation: Update Ticket

Input parameters

Parameter Description
Ticket ID Specify the unique ID associated with each ticket to retrieve from your configured Jira server. You can enter the ticket ID directly, such as JIR-000, or use dynamic variables in this field to enter the ticket ID in the Jinja format {{vars.result.data.key}}.
Project Key Specify the unique project ID that represents the project under which to update the Jira ticket.
Summary Specify the summary or heading of the ticket to update on your configured Jira server.
Comment Specify the comment to add to an existing Jira ticket.
Priority (Optional) Specify the priority to update for the Jira ticket. You can specify one of the following priorities:
  • Highest
  • High
  • Medium
  • Low
  • Lowest
Description (Optional) Specify the description to add to the Jira ticket when you are updating it on your configured Jira server.
Status Specify the status to set for an existing Jira ticket. You can add status such as To Do, In Progress, or Done.
Other Fields (Optional) Specify fields such as Reporter, Assignee, or Components to set while updating the ticket. For example:
    {
        "reporter": {
            "name": "admin"
        },
        "assignee": {
            "name": "admin"
        },
        "components": [
            {
            "name": "Intranet"
            }
        ]
    }
                

Output

The output contains the following populated JSON schema:

{
    "message": "",
    "status": ""
}

operation: Update FortiSOAR Record

Input parameters

Parameter Description
Ticket ID Specify the unique ID associated with each ticket to retrieve from your configured Jira server. You can enter the ticket ID directly, such as JIR-000, or use dynamic variables in this field to enter the ticket ID in the Jinja format {{vars.result.data.key}}.
FortiSOAR Username Specify the username of the FortiSOAR instance where you want to update the Jira ticket.
FortiSOAR Password Specify the password of the FortiSOAR instance where you want to update the Jira ticket.

Output

The output contains the following populated JSON schema:

{
    "name": "",
    "@id": "",
    "jiraComment": "",
    "jiraPriority": "",
    "jiraStatus": "",
    "description": ""
}

operation: Delete Ticket

Input parameters

Parameter Description
Ticket ID Specify the unique ID associated with each ticket to retrieve from your configured Jira server. You can enter the ticket ID directly, such as JIR-000, or use dynamic variables in this field to enter the ticket ID in the Jinja 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 to successfully delete the ticket from your configured Jira server.

Output

The output contains the following populated JSON schema:

{
    "message": "",
    "status": ""
}

Included playbooks

The Sample - Jira - 1.2.0 playbook collection comes bundled with the Jira connector. These playbooks contain steps using which you can perform all supported actions. You can see bundled playbooks in the Automation > Playbooks section in FortiSOAR™ after importing the Jira connector.

  • Add Attachment
  • Add Comment
  • Add Remote Link
  • Assign Issue to User
  • Create Ticket
  • Delete Ticket
  • Get Comments
  • Get Ticket Details
  • Get User Details
  • List Projects
  • List Tickets
  • Search Users
  • Set Ticket Status
  • Update FortiSOAR Record
  • Update Ticket

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.

Previous
Next

About the connector

Jira is a widely used issue tracking and project management software developed by Atlassian. It helps teams organize and track their work, tasks, and projects in a collaborative environment. With features like customizable workflows, agile project management, and extensive reporting capabilities, Jira facilitates efficient project planning, execution, and monitoring.

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 with Jira.

Version information

Connector Version: 1.2.0

FortiSOAR™ Version Tested on: 7.4.0-3024

Jira Version Tested on: Cloud Instance

Authored By: Fortinet

Certified: Yes

Release Notes for version 1.2.0

Following enhancements have been made to the Jira Connector in version 1.2.0:

Installing the connector

Use the Content Hub to install the connector. For the detailed procedure to install a connector, click here.

You can also use the yum command as a root user to install the connector:

yum install cyops-connector-jira

Prerequisites to configuring the connector

Minimum Permissions Required

Configuring the connector

For the procedure to configure a connector, click here

Configuration parameters

In FortiSOAR™, on the Connectors page, click the Jira connector row (if you are in the Grid view on the Connectors page) and in the Configurations tab enter the required configuration details:

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.
API Token API Token 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.
By default, this option is set to True.

Actions supported by the connector

The following automated operations can be included in playbooks and you can also use the annotations to access operations:

Function Description Annotation and Category
Create Ticket Creates a Jira ticket on your configured Jira server based on the project key, ticket summary, type, and description, and other input parameters you have specified. create_ticket
Investigation
Get Ticket Details Retrieves details for a particular Jira ticket from the Jira server based on the ticket ID you have specified. get_ticket_details
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 and other input parameters you have specified. list_tickets
Investigation
Validate JQL query Parses and validates JQL query syntax and returns errors when found. validate_jql_query
Utilities
Search Users Returns a list of all users, including active users, inactive users and previously deleted users that have an Atlassian account. search_users
Investigation
Get User Details Retrieves details for a particular Jira user from the Jira server based on the account ID you have specified. get_user_details
Investigation
Assign Issue to User Assigns an issue to a user based on the account and ticket ID that you have specified. assign_issue
Investigation
Add Attachment Attaches a file that is present in FortiSOAR to an existing Jira ticket on your configured Jira server based on the ticket ID and FortiSOAR file or attachment IRI you have specified. submit_file
Investigation
Add Remote Link Adds a remote link of an issue to an existing ticket in Jira based on the ticket ID, URL, and title you have specified. add_remote_link
Investigation
Add Comment Adds a comment to an existing Jira ticket on your configured Jira server based on the ticket ID and comment you have specified. add_comment
Investigation
Get Comments Retrieves a list of comments associated with an existing Jira ticket on your configured Jira server based on the ticket ID and other input parameters you have specified. get_comments
Investigation
Set Ticket Status Updates the status of an existing Jira ticket on your configured Jira server based on the ticket ID and status you have specified. set_status
Investigation
Update Ticket Updates an existing Jira ticket on your configured Jira server based on the project key, ticket ID and other input parameters you have specified. update_ticket
Investigation
Update FortiSOAR Record Updates a FortiSOAR record with information on an existing Jira ticket based on the ticket ID and other input parameters you have specified. update_fortisoar_record
Investigation
Delete Ticket Deletes a ticket from your configured Jira server based on the ticket ID and other input parameters you have specified. delete_ticket
Investigation

operation: Create Ticket

Input parameters

Parameter Description
Project Key Specify the unique project ID that represents the project under which to create the Jira ticket.
Ticket Summary Specify the summary or heading of the ticket to create on your configured Jira server.
Ticket Description Specify the description of the ticket to create on your configured Jira server.
Ticket Type Specify the type of ticket to create on your configured Jira server.You can specify the following ticket types:
  • IT help
  • Service Request
  • Service Request with Approvals
  • tasks
  • Sub-task
Parent Key ID Specify the ID of the ticket under which to create subtask. This field is only needed when the ticket type is Subtask. For example DEMO-1.
Priority (Optional) Specify the priority to set for the Jira ticket to update on your configured Jira server. You can specify one of the following priorities:
  • Highest
  • High
  • Medium
  • Low
  • Lowest
Other Fields (Optional) Specify fields such as Reporter, Assignee, or Components to set while creating a ticket. For example:
    {
        "reporter": {
            "name": "admin"
        },
        "assignee": {
            "name": "admin"
        },
        "components": [
            {
            "name": "Intranet"
            }
        ]
    }
                

Output

The output contains the following populated JSON schema:

{
    "id": "",
    "key": "",
    "self": "",
    "status": ""
}

operation: Get Ticket Details

Input parameters

Parameter Description
Ticket ID Specify the unique ID associated with each ticket to retrieve from your configured Jira server. You can enter the ticket ID directly, such as JIR-000, or use dynamic variables in this field to enter the ticket ID in the Jinja format {{vars.result.data.key}}.

Output

The output contains the following populated JSON schema:

{
    "key": "",
    "expand": "",
    "fields": {
        "customfield_10128": "",
        "customfield_10101": "",
        "progress": {
            "progress": "",
            "total": ""
        },
        "environment": "",
        "watches": {
            "self": "",
            "isWatching": "",
            "watchCount": ""
        },
        "security": "",
        "customfield_10115": [],
        "customfield_10141": "",
        "customfield_10112": "",
        "customfield_10105": "",
        "aggregatetimespent": "",
        "customfield_10122": "",
        "timeestimate": "",
        "labels": [],
        "timeoriginalestimate": "",
        "components": [],
        "comment": {
            "comments": [
                {
                    "body": "",
                    "id": "",
                    "updated": "",
                    "self": "",
                    "created": "",
                    "author": {
                        "avatarUrls": {
                            "48x48": "",
                            "24x24": "",
                            "32x32": "",
                            "16x16": ""
                        },
                        "timeZone": "",
                        "emailAddress": "",
                        "self": "",
                        "active": "",
                        "displayName": "",
                        "name": "",
                        "key": "",
                        "accountId": ""
                    },
                    "updateAuthor": {
                        "avatarUrls": {
                            "48x48": "",
                            "24x24": "",
                            "32x32": "",
                            "16x16": ""
                        },
                        "timeZone": "",
                        "emailAddress": "",
                        "self": "",
                        "active": "",
                        "displayName": "",
                        "name": "",
                        "key": "",
                        "accountId": ""
                    }
                },
                {
                    "body": "",
                    "id": "",
                    "updated": "",
                    "self": "",
                    "created": "",
                    "author": {
                        "avatarUrls": {
                            "48x48": "",
                            "24x24": "",
                            "32x32": "",
                            "16x16": ""
                        },
                        "timeZone": "",
                        "emailAddress": "",
                        "self": "",
                        "active": "",
                        "displayName": "",
                        "name": "",
                        "key": "",
                        "accountId": ""
                    },
                    "updateAuthor": {
                        "avatarUrls": {
                            "48x48": "",
                            "24x24": "",
                            "32x32": "",
                            "16x16": ""
                        },
                        "timeZone": "",
                        "emailAddress": "",
                        "self": "",
                        "active": "",
                        "displayName": "",
                        "name": "",
                        "key": "",
                        "accountId": ""
                    }
                },
                {
                    "body": "",
                    "id": "",
                    "updated": "",
                    "self": "",
                    "created": "",
                    "author": {
                        "avatarUrls": {
                            "48x48": "",
                            "24x24": "",
                            "32x32": "",
                            "16x16": ""
                        },
                        "timeZone": "",
                        "emailAddress": "",
                        "self": "",
                        "active": "",
                        "displayName": "",
                        "name": "",
                        "key": "",
                        "accountId": ""
                    },
                    "updateAuthor": {
                        "avatarUrls": {
                            "48x48": "",
                            "24x24": "",
                            "32x32": "",
                            "16x16": ""
                        },
                        "timeZone": "",
                        "emailAddress": "",
                        "self": "",
                        "active": "",
                        "displayName": "",
                        "name": "",
                        "key": "",
                        "accountId": ""
                    }
                },
                {
                    "body": "",
                    "id": "",
                    "updated": "",
                    "self": "",
                    "created": "",
                    "author": {
                        "avatarUrls": {
                            "48x48": "",
                            "24x24": "",
                            "32x32": "",
                            "16x16": ""
                        },
                        "timeZone": "",
                        "emailAddress": "",
                        "self": "",
                        "active": "",
                        "displayName": "",
                        "name": "",
                        "key": "",
                        "accountId": ""
                    },
                    "updateAuthor": {
                        "avatarUrls": {
                            "48x48": "",
                            "24x24": "",
                            "32x32": "",
                            "16x16": ""
                        },
                        "timeZone": "",
                        "emailAddress": "",
                        "self": "",
                        "active": "",
                        "displayName": "",
                        "name": "",
                        "key": "",
                        "accountId": ""
                    }
                }
            ],
            "startAt": "",
            "total": "",
            "maxResults": ""
        },
        "customfield_10131": "",
        "customfield_10130": "",
        "customfield_10120": "",
        "customfield_10116": "",
        "versions": [],
        "customfield_10110": "",
        "attachment": [],
        "timespent": "",
        "customfield_10102": "",
        "customfield_10108": "",
        "customfield_10000": "{}",
        "resolution": "",
        "duedate": "",
        "aggregateprogress": {
            "progress": "",
            "total": ""
        },
        "customfield_10106": "",
        "customfield_10118": "",
        "customfield_10125": "",
        "customfield_10138": {
            "_links": {
                "self": ""
            },
            "ongoingCycle": {
                "breached": "",
                "goalDuration": {
                    "friendly": "",
                    "millis": ""
                },
                "withinCalendarHours": "",
                "paused": "",
                "startTime": {
                    "friendly": "",
                    "iso8601": "",
                    "epochMillis": "",
                    "jira": ""
                },
                "elapsedTime": {
                    "friendly": "",
                    "millis": ""
                },
                "remainingTime": {
                    "friendly": "",
                    "millis": ""
                },
                "breachTime": {
                    "friendly": "",
                    "iso8601": "",
                    "epochMillis": "",
                    "jira": ""
                }
            },
            "name": "",
            "id": "",
            "completedCycles": []
        },
        "assignee": "",
        "customfield_10103": "",
        "customfield_10134": "",
        "aggregatetimeestimate": "",
        "reporter": {
            "avatarUrls": {
                "48x48": "",
                "24x24": "",
                "32x32": "",
                "16x16": ""
            },
            "timeZone": "",
            "emailAddress": "",
            "self": "",
            "active": "",
            "displayName": "",
            "name": "",
            "key": "",
            "accountId": ""
        },
        "aggregatetimeoriginalestimate": "",
        "project": {
            "avatarUrls": {
                "48x48": "",
                "24x24": "",
                "32x32": "",
                "16x16": ""
            },
            "projectTypeKey": "",
            "id": "",
            "self": "",
            "name": "",
            "key": ""
        },
        "customfield_10139": {
            "_links": {
                "self": ""
            },
            "name": "",
            "id": "",
            "completedCycles": [
                {
                    "breached": "",
                    "goalDuration": {
                        "friendly": "",
                        "millis": ""
                    },
                    "startTime": {
                        "friendly": "",
                        "iso8601": "",
                        "epochMillis": "",
                        "jira": ""
                    },
                    "elapsedTime": {
                        "friendly": "",
                        "millis": ""
                    },
                    "remainingTime": {
                        "friendly": "",
                        "millis": ""
                    },
                    "stopTime": {
                        "friendly": "",
                        "iso8601": "",
                        "epochMillis": "",
                        "jira": ""
                    }
                }
            ]
        },
        "customfield_10135": "",
        "fixVersions": [],
        "timetracking": {},
        "customfield_10127": "",
        "customfield_10001": [],
        "customfield_10111": "",
        "customfield_10126": "",
        "customfield_10005": "",
        "votes": {
            "self": "",
            "hasVoted": "",
            "votes": ""
        },
        "customfield_10113": "",
        "creator": {
            "avatarUrls": {
                "48x48": "",
                "24x24": "",
                "32x32": "",
                "16x16": ""
            },
            "timeZone": "",
            "emailAddress": "",
            "self": "",
            "active": "",
            "displayName": "",
            "name": "",
            "key": "",
            "accountId": ""
        },
        "issuetype": {
            "description": "",
            "iconUrl": "",
            "id": "",
            "self": "",
            "subtask": "",
            "avatarId": "",
            "name": ""
        },
        "created": "",
        "priority": {
            "self": "",
            "iconUrl": "",
            "name": "",
            "id": ""
        },
        "customfield_10133": "",
        "customfield_10119": [],
        "lastViewed": "",
        "subtasks": [],
        "customfield_10200": "",
        "customfield_10104": "",
        "customfield_10121": "",
        "customfield_10132": "",
        "customfield_10123": "",
        "resolutiondate": "",
        "customfield_10140": "",
        "customfield_10117": "",
        "customfield_10136": "",
        "summary": "",
        "customfield_10124": "",
        "issuelinks": [],
        "description": "",
        "workratio": "",
        "customfield_10137": "",
        "updated": "",
        "customfield_10114": "",
        "customfield_10129": "",
        "status": {
            "description": "",
            "iconUrl": "",
            "id": "",
            "self": "",
            "statusCategory": {
                "self": "",
                "colorName": "",
                "name": "",
                "id": "",
                "key": ""
            },
            "name": ""
        },
        "customfield_10100": "",
        "worklog": {
            "total": "",
            "maxResults": "",
            "worklogs": [],
            "startAt": ""
        },
        "customfield_10109": "",
        "customfield_10107": ""
    },
    "id": "",
    "self": ""
}

operation: List Projects

Input parameters

None.

Output

The output contains the following populated JSON schema:

{
    "expand": "",
    "self": "",
    "id": "",
    "key": "",
    "name": "",
    "avatarUrls": {
        "48x48": "",
        "24x24": "",
        "16x16": "",
        "32x32": ""
    },
    "projectTypeKey": "",
    "simplified": "",
    "style": "",
    "isPrivate": "",
    "properties": {}
}

operation: List Tickets

Input parameters

Parameter Description
JQL Query Specify the Jira query to filter and list the tickets as per query parameters. You must specify at least one query parameter. For example, project = JIRA_PROJECT_ID.
Start At (Optional) Specify the starting index for retrieving tickets from Jira. By default, this is set to 0.
Max Results (Optional) Specify the maximum number of tickets that this operation should return. By default, this is set to 50.
Fields (Optional) Specify fields such as ID, Key, Status, Priority, and Reporter that you can choose to include and display in the output. For example: ["id","key","status","priority"]

Output

The output contains the following populated JSON schema:

{
    "expand": "",
    "startAt": "",
    "maxResults": "",
    "total": "",
    "issues": [
        {
            "expand": "",
            "id": "",
            "self": "",
            "key": "",
            "fields": {
                "issuetype": {
                    "self": "",
                    "id": "",
                    "description": ".",
                    "iconUrl": "",
                    "name": "",
                    "subtask": "",
                    "avatarId": ""
                },
                "timespent": "",
                "project": {
                    "self": "",
                    "id": "",
                    "key": "",
                    "name": "",
                    "projectTypeKey": "",
                    "avatarUrls": {
                        "48x48": "",
                        "24x24": "",
                        "16x16": "",
                        "32x32": ""
                    }
                },
                "customfield_10110": "",
                "fixVersions": [],
                "customfield_10111": "",
                "aggregatetimespent": "",
                "customfield_10112": "",
                "resolution": "",
                "customfield_10113": "",
                "customfield_10114": "",
                "customfield_10104": "",
                "customfield_10105": "",
                "customfield_10106": "",
                "customfield_10107": "",
                "customfield_10108": "",
                "customfield_10109": "",
                "resolutiondate": "",
                "workratio": "",
                "lastViewed": "",
                "watches": {
                    "self": "",
                    "watchCount": "",
                    "isWatching": ""
                },
                "created": "",
                "customfield_10140": "",
                "customfield_10141": "",
                "priority": {
                    "self": "",
                    "iconUrl": "",
                    "name": "",
                    "id": ""
                },
                "customfield_10100": "",
                "customfield_10101": "",
                "customfield_10102": "",
                "labels": [],
                "customfield_10103": "",
                "customfield_10137": "",
                "customfield_10138": {
                    "id": "",
                    "name": "",
                    "_links": {
                        "self": ""
                    },
                    "completedCycles": [],
                    "ongoingCycle": {
                        "startTime": {
                            "iso8601": "",
                            "jira": "",
                            "friendly": "",
                            "epochMillis": ""
                        },
                        "breachTime": {
                            "iso8601": "",
                            "jira": "",
                            "friendly": "",
                            "epochMillis": ""
                        },
                        "breached": "",
                        "paused": "",
                        "withinCalendarHours": "",
                        "goalDuration": {
                            "millis": "",
                            "friendly": ""
                        },
                        "elapsedTime": {
                            "millis": "",
                            "friendly": ""
                        },
                        "remainingTime": {
                            "millis": "",
                            "friendly": ""
                        }
                    }
                },
                "customfield_10139": {
                    "id": "",
                    "name": "",
                    "_links": {
                        "self": ""
                    },
                    "completedCycles": [],
                    "ongoingCycle": {
                        "startTime": {
                            "iso8601": "",
                            "jira": "",
                            "friendly": "",
                            "epochMillis": ""
                        },
                        "breachTime": {
                            "iso8601": "",
                            "jira": "",
                            "friendly": "",
                            "epochMillis": ""
                        },
                        "breached": "",
                        "paused": "",
                        "withinCalendarHours": "",
                        "goalDuration": {
                            "millis": "",
                            "friendly": ""
                        },
                        "elapsedTime": {
                            "millis": "",
                            "friendly": ""
                        },
                        "remainingTime": {
                            "millis": "",
                            "friendly": ""
                        }
                    }
                },
                "timeestimate": "",
                "aggregatetimeoriginalestimate": "",
                "versions": [],
                "issuelinks": [],
                "assignee": "",
                "updated": "",
                "status": {
                    "self": "",
                    "description": "",
                    "iconUrl": "",
                    "name": "",
                    "id": "",
                    "statusCategory": {
                        "self": "",
                        "id": "",
                        "key": "",
                        "colorName": "",
                        "name": ""
                    }
                },
                "components": [],
                "timeoriginalestimate": "",
                "customfield_10130": "",
                "description": "",
                "customfield_10131": "",
                "customfield_10132": "",
                "customfield_10133": "",
                "customfield_10134": "",
                "customfield_10135": "",
                "customfield_10136": "",
                "customfield_10126": "",
                "customfield_10005": "",
                "customfield_10127": "",
                "security": "",
                "customfield_10128": "",
                "customfield_10129": "",
                "aggregatetimeestimate": "",
                "summary": "",
                "creator": {
                    "self": "",
                    "name": "",
                    "key": "",
                    "accountId": "",
                    "emailAddress": "",
                    "avatarUrls": {
                        "48x48": "",
                        "24x24": "",
                        "16x16": "",
                        "32x32": ""
                    },
                    "displayName": "",
                    "active": "",
                    "timeZone": ""
                },
                "subtasks": [],
                "customfield_10120": "",
                "reporter": {
                    "self": "",
                    "name": "",
                    "key": "",
                    "accountId": "",
                    "emailAddress": "",
                    "avatarUrls": {
                        "48x48": "",
                        "24x24": "",
                        "16x16": "",
                        "32x32": ""
                    },
                    "displayName": "",
                    "active": "",
                    "timeZone": ""
                },
                "customfield_10000": "{}",
                "aggregateprogress": {
                    "progress": "",
                    "total": ""
                },
                "customfield_10121": "",
                "customfield_10001": [],
                "customfield_10122": "",
                "customfield_10123": "",
                "customfield_10200": "",
                "customfield_10124": "",
                "customfield_10125": "",
                "customfield_10115": [],
                "customfield_10116": "",
                "customfield_10117": "",
                "environment": "",
                "customfield_10118": "",
                "customfield_10119": [],
                "duedate": "",
                "progress": {
                    "progress": "",
                    "total": ""
                },
                "votes": {
                    "self": "",
                    "votes": "",
                    "hasVoted": ""
                }
            }
        }
    ]
}

operation: Validate JQL query

Input parameters

Parameter Description
JQL Query Specify the Jira query to validate with the Jira Server.

Output

The output contains the following populated JSON schema:

{
    "queries": [
        {
            "query": "",
            "structure": ""
        },
        {
            "query": "",
            "errors": ""
        }
    ]
}

operation: Search Users

Input parameters

Parameter Description
Start At (Optional) Specify the starting index for retrieving tickets from Jira. By default, this is set to 0.
Max Results (Optional) Specify the maximum number of tickets that this operation should return. By default, this is set to 50.

Output

The output contains the following populated JSON schema:

{
    "self": "",
    "key": "",
    "accountId": "",
    "accountType": "",
    "name": "",
    "avatarUrls": {
        "48x48": "",
        "24x24": "",
        "16x16": "",
        "32x32": ""
    },
    "displayName": "",
    "active": ""
}

operation: Get User Details

Input parameters

Parameter Description
Account ID Specify the user's account ID. Account ID uniquely identifies the user across all Atlassian products and you can retrieve it from the Search Users action.

Output

The output contains the following populated JSON schema:

{
    "self": "",
    "key": "",
    "accountId": "",
    "accountType": "",
    "name": "",
    "emailAddress": "",
    "avatarUrls": {
        "48x48": "",
        "24x24": "",
        "16x16": "",
        "32x32": ""
    },
    "displayName": "",
    "active": "",
    "timeZone": "",
    "groups": {
        "size": "",
        "items": ""
    },
    "applicationRoles": {
        "size": "",
        "items": ""
    }
}

operation: Assign Issue to User

Input parameters

Parameter Description
Account ID Specify the assignee's account ID. Account ID uniquely identifies the user across all Atlassian products and you can retrieve it from the Search Users action.

NOTE:To remove all assignees and mark the ticket unassigned, specify -1 in this field.

Ticket ID Specify the unique ID associated with each ticket.

Output

The output contains the following populated JSON schema:

The output contains a non-dictionary value.

operation: Add Attachment

Input parameters

Parameter Description
Ticket ID Specify the unique ID associated with each ticket to retrieve from your configured Jira server. You can enter the ticket ID directly, such as JIR-144, or use dynamic variables in this field to enter the ticket ID in the Jinja format {{vars.result.data.key}}.
File or Attachment IRI Specify the file to add as an attachment to the specified Jira ticket. You can select from the following options:
  • Attachment ID: Specify the attachment ID of the file in the FortiSOAR™ Attachments module.
  • File IRI: Specify the File IRI of the file in the FortiSOAR™ Attachments module.

Output

The output contains the following populated JSON schema:

{
    "data": [
        {
            "id": "",
            "self": "",
            "size": "",
            "author": {
                "id": "",
                "self": "",
                "active": "",
                "timeZone": "",
                "accountId": "",
                "avatarUrls": {
                    "16x16": "",
                    "24x24": "",
                    "32x32": "",
                    "48x48": ""
                },
                "accountType": "",
                "displayName": "",
                "emailAddress": ""
            },
            "content": "",
            "created": "",
            "filename": ""
        }
    ],
    "status": "",
    "_status": "",
    "message": "",
    "operation": "",
    "request_id": ""
}

operation: Add Remote Link

Input parameters

Parameter Description
Ticket ID Specify the unique ID associated with each ticket to retrieve from your configured Jira server. You can enter the ticket ID directly, such as JIR-144, or use dynamic variables in this field to enter the ticket ID in the Jinja format {{vars.result.data.key}}.
URL Specify the URL of the issue to add to the specified Jira ticket.
Title Specify the title to add for the specified issue that you are adding to the Jira ticket.

Output

The output contains the following populated JSON schema:

{
    "id": "",
    "self": ""
}

operation: Add Comment

Input parameters

Parameter Description
Ticket ID Specify the unique ID associated with each ticket to retrieve from your configured Jira server. You can enter the ticket ID directly, such as JIR-144, or use dynamic variables in this field to enter the ticket ID in the Jinja format {{vars.result.data.key}}.
Comment Specify the comment to add to an existing Jira ticket.

Output

The output contains the following populated JSON schema:

{
    "body": "",
    "id": "",
    "updated": "",
    "self": "",
    "created": "",
    "author": {
        "avatarUrls": {
            "48x48": "",
            "24x24": "",
            "32x32": "",
            "16x16": ""
        },
        "timeZone": "",
        "emailAddress": "",
        "self": "",
        "active": "",
        "displayName": "",
        "name": "",
        "key": "",
        "accountId": ""
    },
    "updateAuthor": {
        "avatarUrls": {
            "48x48": "",
            "24x24": "",
            "32x32": "",
            "16x16": ""
        },
        "timeZone": "",
        "emailAddress": "",
        "self": "",
        "active": "",
        "displayName": "",
        "name": "",
        "key": "",
        "accountId": ""
    }
}

operation: Get Comments

Input parameters

Parameter Description
Ticket ID Specify the unique ID associated with each ticket to retrieve from your configured Jira server. You can enter the ticket ID directly, such as JIR-000, or use dynamic variables in this field to enter the ticket ID in the Jinja format {{vars.result.data.key}}.
Start At (Optional) Specify the starting index for retrieving tickets from Jira. By default, this is set to 0.
Max Results (Optional) Specify the maximum number of tickets that this operation should return. By default, this is set to 50.
OrderBy Select the order in which to sort the tickets. You can select from the following options:
  • Ascending
  • Descending

Output

The output contains the following populated JSON schema:

{
    "startAt": "",
    "maxResults": "",
    "total": "",
    "comments": [
        {
            "self": "",
            "id": "",
            "author": {
                "self": "",
                "id": "",
                "accountId": "",
                "emailAddress": "",
                "avatarUrls": {
                    "48x48": "",
                    "24x24": "",
                    "16x16": "",
                    "32x32": ""
                },
                "displayName": "",
                "active": "",
                "timeZone": "",
                "accountType": ""
            },
            "body": "",
            "updateAuthor": {
                "self": "",
                "id": "",
                "accountId": "",
                "emailAddress": "",
                "avatarUrls": {
                    "48x48": "",
                    "24x24": "",
                    "16x16": "",
                    "32x32": ""
                },
                "displayName": "",
                "active": "",
                "timeZone": "",
                "accountType": ""
            },
            "created": "",
            "updated": "",
            "jsdPublic": ""
        }
    ]
}

operation: Set Ticket Status

Input parameters

Parameter Description
Ticket ID Specify the unique ID associated with each ticket to retrieve from your configured Jira server. You can enter the ticket ID directly, such as JIR-000, or use dynamic variables in this field to enter the ticket ID in the Jinja format {{vars.result.data.key}}.
Status Specify the status to set for an existing Jira ticket. You can add status such as To Do, In Progress, or Done.

Output

The output contains the following populated JSON schema:

{
    "message": "",
    "status": ""
}

operation: Update Ticket

Input parameters

Parameter Description
Ticket ID Specify the unique ID associated with each ticket to retrieve from your configured Jira server. You can enter the ticket ID directly, such as JIR-000, or use dynamic variables in this field to enter the ticket ID in the Jinja format {{vars.result.data.key}}.
Project Key Specify the unique project ID that represents the project under which to update the Jira ticket.
Summary Specify the summary or heading of the ticket to update on your configured Jira server.
Comment Specify the comment to add to an existing Jira ticket.
Priority (Optional) Specify the priority to update for the Jira ticket. You can specify one of the following priorities:
  • Highest
  • High
  • Medium
  • Low
  • Lowest
Description (Optional) Specify the description to add to the Jira ticket when you are updating it on your configured Jira server.
Status Specify the status to set for an existing Jira ticket. You can add status such as To Do, In Progress, or Done.
Other Fields (Optional) Specify fields such as Reporter, Assignee, or Components to set while updating the ticket. For example:
    {
        "reporter": {
            "name": "admin"
        },
        "assignee": {
            "name": "admin"
        },
        "components": [
            {
            "name": "Intranet"
            }
        ]
    }
                

Output

The output contains the following populated JSON schema:

{
    "message": "",
    "status": ""
}

operation: Update FortiSOAR Record

Input parameters

Parameter Description
Ticket ID Specify the unique ID associated with each ticket to retrieve from your configured Jira server. You can enter the ticket ID directly, such as JIR-000, or use dynamic variables in this field to enter the ticket ID in the Jinja format {{vars.result.data.key}}.
FortiSOAR Username Specify the username of the FortiSOAR instance where you want to update the Jira ticket.
FortiSOAR Password Specify the password of the FortiSOAR instance where you want to update the Jira ticket.

Output

The output contains the following populated JSON schema:

{
    "name": "",
    "@id": "",
    "jiraComment": "",
    "jiraPriority": "",
    "jiraStatus": "",
    "description": ""
}

operation: Delete Ticket

Input parameters

Parameter Description
Ticket ID Specify the unique ID associated with each ticket to retrieve from your configured Jira server. You can enter the ticket ID directly, such as JIR-000, or use dynamic variables in this field to enter the ticket ID in the Jinja 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 to successfully delete the ticket from your configured Jira server.

Output

The output contains the following populated JSON schema:

{
    "message": "",
    "status": ""
}

Included playbooks

The Sample - Jira - 1.2.0 playbook collection comes bundled with the Jira connector. These playbooks contain steps using which you can perform all supported actions. You can see 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.

Previous
Next