Skip to end of metadata
Go to start of metadata

You are viewing an old version of this content. View the current version.

Compare with Current View Version History

Version 1 Current »

OTRS is a modern, flexible ticket and process management system.

Connect OTRS with Devo SOAR

  1. Navigate to Automations > Integrations.

  2. Search for OTRS.

  3. Click Details, then the + icon. Enter the required information in the following fields.

  4. Label: Enter a connection name.

  5. Reference Values: Define variables here to templatize integration connections and actions. For example, you can use https://www.{{hostname}}.com where, hostname is a variable defined in this input. For more information on how to add data, see 'Add Data' Input Type for Integrations.

  6. Verify SSL: Select option to verify connecting server's SSL certificate (Default is Verify SSL Certificate).

  7. Remote Agent: Run this integration using the Devo SOAR Remote Agent.

  8. Server URL: The Server URL to connect to the OTRS.

  9. Server Time Zone (Optional): The Server time zone to connect to the OTRS. Example: -04:00.If provided, This time will be added to created after/before input parameter of ticket get action.

  10. Username: The Username to connect to the OTRS.

  11. Password: The Password to connect to the OTRS.

  12. After you've entered all the details, click Connect.

Actions for OTRS

Ticket Create

Create a ticket and return the created ticket id.

Input Field

Choose a connection that you have previously created and then fill in the necessary information in the following input fields to complete the connection.

Input Name

Description

Required

Title

Jinja-templated text containing title for ticket.

Required

Queue

Jinja-templated text containing queue for ticket.

Required

Customer User

Jinja-templated text containing value for Customer User.

Required

State

Jinja-templated text containing State to lookup. (Default is NEW)

Optional

Priority

Jinja-templated text containing priority to lookup. (Default is NORMAL)

Optional

Type

Jinja-templated text containing type for ticket.

Optional

Article Subject

Jinja-templated text containing article subject for ticket.

Optional

Article Body

Jinja-templated text containing article body for ticket.

Optional

Article Content Type

Jinja-templated text containing article content type for ticket (Default is text/html; charset=utf8)

Optional

Attachment Details

Jinja-templated text containing File names and File IDs in JSON format (file_name key is optional). Example: [{"file_name": "{{file_name_1}"}, "file_id": "{{file_id_1}}"}, {"file_id": "{{file_id_2}}"}]

Optional

Dynamic Field

Jinja-templated text containing the Dynamic Field parameter of Ticket. Example: {{otrs_dynamic_field}}

Optional

Number of retries required

Number of retries required (Default is 2)

Optional

Output

JSON containing the following items:

``` {json}{ "ticket_id": "606028", "error": null, "has_error": false }

## Ticket Create (Deprecated)

Create a ticket and return the created ticket ID.

### Input Field

Choose a connection that you have previously created and then fill in the necessary information in the following input fields to complete the connection.

| Input Name                 | Description                                                                                                                                                                                                                      | Required |
| :------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------- |
| Title                      | [Jinja-templated](doc:jinja-template) text containing title for a ticket.                                                                                                                                                        | Required |
| Queue                      | [Jinja-templated](doc:jinja-template) text containing queue for a ticket.                                                                                                                                                        |          |
| Customer User              | Column name from the parent table to lookup value for Customer User.                                                                                                                                                             |          |
| State                      | Select a value for State to lookup. (Default is NEW).                                                                                                                                                                            |          |
| Priority                   | Select a value for priority to lookup. (Default is NORMAL).                                                                                                                                                                      |          |
| Type                       | [Jinja-templated](doc:jinja-template) text containing type for a ticket.                                                                                                                                                         | Optional |
| Article Subject            | [Jinja-templated](doc:jinja-template) text containing article subject for a ticket.                                                                                                                                              | Optional |
| Article Body               | [Jinja-templated](doc:jinja-template) text containing article body for a ticket.                                                                                                                                                 | Optional |
| Attachment Details         | [Jinja-templated](doc:jinja-template) text containing File names and File IDs in JSON format (file_name key is optional). Example: [{"file_name": "{{file_name_1}"}, "file_id": "{{file_id_1}}"}, {"file_id": "{{file_id_2}}"}]. | Optional |
| Dynamic Field              | [Jinja-templated](doc:jinja-template) text containing the Dynamic Field parameter of Ticket. Example: {{otrs_dynamic_field}}                                                                                                     | Optional |
| Number of retries required | Number of retries required to create a ticket.                                                                                                                                                                                   | Optional |

### Output

A JSON object containing multiple rows of result:

- has_error: True/False
- error: message/null
- result: Ticket ID.


``` {json}{
  "ticket_id": "606028",
  "error": null,
  "has_error": false
}

Ticket Update

Update a ticket and return the updated ticket id.

Input Field

Choose a connection that you have previously created and then fill in the necessary information in the following input fields to complete the connection.

Input Name

Description

Required

Ticket ID

Jinja-templated text containing coma separated Ticket ID.

Required

Title

Jinja-templated text containing title for ticket.

Optional

Queue

Jinja-templated text containing queue for ticket.

Optional

State

Jinja-templated text containing State to lookup.

Optional

Priority

Jinja-templated text containing priority to lookup.

Optional

Service

Jinja-templated text containing service to lookup.

Optional

Type

Jinja-templated text containing type for ticket.

Optional

Article Subject

Jinja-templated text containing article subject for ticket.

Optional

Article Body

Jinja-templated text containing article body for ticket.

Optional

Article Content Type

Jinja-templated text containing article content type for ticket (Default is text/html; charset=utf8)

Optional

Attachment Details

Jinja-templated text containing File names and File IDs in JSON format (file_name key is optional). Example: [{"file_name": "{{file_name_1}"}, "file_id": "{{file_id_1}}"}, {"file_id": "{{file_id_2}}"}]

Optional

Dynamic Field

Jinja-templated text containing the Dynamic Field parameter of Ticket. Example: {{otrs_dynamic_field}}

Optional

Number of retries required

Number of retries required (Default is 2)

Optional

Output

JSON containing the following items:

``` {json}{ "ticket_id": "606028", "error": null, "has_error": false }

## Ticket Update (Deprecated)

Update a ticket and return the updated ticket ID.

### Input Field

Choose a connection that you have previously created and then fill in the necessary information in the following input fields to complete the connection.

| Input Name                 | Description                                                                                                                                                                                                                      | Required |
| :------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------- |
| Ticket ID                  | [Jinja-templated](doc:jinja-template) text containing comma-separated Ticket ID.                                                                                                                                                 | Required |
| Title                      | [Jinja-templated](doc:jinja-template) text containing title for a ticket.                                                                                                                                                        | Required |
| Queue                      | [Jinja-templated](doc:jinja-template) text containing queue for a ticket.                                                                                                                                                        | Required |
| State                      | Select a value for State to lookup. (Default is NEW).                                                                                                                                                                            | Optional |
| Priority                   | Select a value for priority to lookup. (Default is NORMAL).                                                                                                                                                                      | Optional |
| Type                       | [Jinja-templated](doc:jinja-template) text containing type for a ticket.                                                                                                                                                         | Optional |
| Article Subject            | [Jinja-templated](doc:jinja-template) text containing article subject for a ticket.                                                                                                                                              | Optional |
| Article Body               | [Jinja-templated](doc:jinja-template) text containing article body for a ticket.                                                                                                                                                 | Optional |
| Attachment Details         | [Jinja-templated](doc:jinja-template) text containing File names and File IDs in JSON format (file_name key is optional). Example: [{"file_name": "{{file_name_1}"}, "file_id": "{{file_id_1}}"}, {"file_id": "{{file_id_2}}"}]. | Optional |
| Dynamic Field              | [Jinja-templated](doc:jinja-template) text containing the Dynamic Field parameter of Ticket. Example: {{otrs_dynamic_field}}                                                                                                     | Optional |
| Number of retries required | Number of retries required to update a ticket.                                                                                                                                                                                   | Optional |

### Output

A JSON object containing multiple rows of result:

- has_error: True/False
- error: message/null
- result: Ticket ID.


``` {json}{
  "ticket_id": "606028",
  "error": null,
  "has_error": false
}

Ticket Get

Return ticket entries by ID.

Input Field

Choose a connection that you have previously created and then fill in the necessary information in the following input fields to complete the connection.

Input Name

Description

Required

Ticket ID

Jinja-templated text containing Ticket ID.

Include Articals

Select option to request OTRS to include all Articles (Default is 'True').

Optional

Include Attachments

Select option to request OTRS to include all Attachments (Default is 'True').

Optional

HTML Body As Attachment

Select option to request OTRS for 'HTML body as attachment' , If enabled the HTML body version of each article is added to the attachments (Default is 'True').

Optional

Download Attachments

Automatically download attachments.Doing so may significantly increase processing time (Default is 'True' to get attachment).

Optional

Article Sender Type

Jinja-templated text containing article sender type. Example: {{article_sender_type_column}}.

Optional

Article Order

Jinja-templated text containing order of the articles. Example: {{article_order_column}}.

Optional

Article Limit

Maximum numbers of the articles to return per row.

Optional

Number of retries required

Number of retries required to get a ticket.

Optional

Output

A JSON object containing multiple rows of result:

  • has_error: True/False

  • error: message/null

  • result: Ticket Details.

``` {json}{ "result": { "py/object": "pyotrs.lib.Ticket", "fields": { "Age": 25586, "PriorityID": "1", "ServiceID": "", "Type": "100 - ****", "Responsible": "root@localhost", "StateID": "4", "ResponsibleID": "1", "ChangeBy": "402", "EscalationTime": "0", "OwnerID": "402", "Changed": "2021-01-04 07:23:08", "TimeUnit": 0, "RealTillTimeNotUsed": "0", "GroupID": "26", "Owner": "abc_abc", "CustomerID": "CID", "TypeID": "12", "Created": "2021-01-04 04:19:47", "Priority": "1 very low", "UntilTime": 0, "EscalationUpdateTime": "0", "Queue": "Q_CUOL_Srbvbte", "QueueID": "21", "State": "open", "Title": "title", "CreateBy": "402", "TicketID": "605361", "StateType": "open", "UnlockTimeout": "1609759169", "EscalationResponseTime": "0", "EscalationSolutionTime": "0", "LockID": "1", "TicketNumber": "7605358", "ArchiveFlag": "n", "Lock": "unlock", "SLAID": "", "CustomerUserID": "someone@some.com" }, "tid": 605361, "articles": [], "dynamic_fields": [ { "py/object": "pyotrs.lib.DynamicField", "name": "01a", "value": null, "search_patterns": [ null ], "search_operator": "Equals" }, { "py/object": "pyotrs.lib.DynamicField", "name": "02caa", "value": null, "search_patterns": [ null ], "search_operator": "Equals" }, { "py/object": "pyotrs.lib.DynamicField", "name": "0ctos", "value": null, "search_patterns": [ null ], "search_operator": "Equals" }, { "py/object": "pyotrs.lib.DynamicField", "name": "0on", "value": null, "search_patterns": [ null ], "search_operator": "Equals" }, { "py/object": "pyotrs.lib.DynamicField", "name": "uiid", "value": null, "search_patterns": [ null ], "search_operator": "Equals" }, { "py/object": "pyotrs.lib.DynamicField", "name": "hgjg", "value": null, "search_patterns": [ null ], "search_operator": "Equals" }, { "py/object": "pyotrs.lib.DynamicField", "name": "hghjg", "value": null, "search_patterns": [ null ], "search_operator": "Equals" }, { "py/object": "pyotrs.lib.DynamicField", "name": "786hgg", "value": null, "search_patterns": [ null ], "search_operator": "Equals" }, { "py/object": "pyotrs.lib.DynamicField", "name": "hggjh", "value": null, "search_patterns": [ null ], "search_operator": "Equals" }, { "py/object": "pyotrs.lib.DynamicField", "name": "hggvbhj", "value": null, "search_patterns": [ null ], "search_operator": "Equals" }, { "py/object": "pyotrs.lib.DynamicField", "name": "ghjg", "value": null, "search_patterns": [ null ], "search_operator": "Equals" }, { "py/object": "pyotrs.lib.DynamicField", "name": "fyuffj", "value": null, "search_patterns": [ null ], "search_operator": "Equals" }, { "py/object": "pyotrs.lib.DynamicField", "name": "gfgghfh", "value": null, "search_patterns": [ null ], "search_operator": "Equals" }, { "py/object": "pyotrs.lib.DynamicField", "name": "dfhgfcgjvj", "value": null, "search_patterns": [ null ], "search_operator": "Equals" }, { "py/object": "pyotrs.lib.DynamicField", "name": "dfh", "value": null, "search_patterns": [ null ], "search_operator": "Equals" } ] }, "error": null, "has_error": false }

## Ticket Search

Return a list of ticket ids.

### Input Field

Choose a connection that you have previously created and then fill in the necessary information in the following input fields to complete the connection.

| Input Name                    | Description                                                                                                            | Required |
| :---------------------------- | :--------------------------------------------------------------------------------------------------------------------- | :------- |
| Title                         | [Jinja-templated](doc:jinja-template) text containing title for ticket.                                                | Optional |
| Queue                         | [Jinja-templated](doc:jinja-template) text containing comma separated list of queues for tickets to search.            | Optional |
| Queue ID                      | [Jinja-templated](doc:jinja-template) text containing comma separated list of queue ids for tickets to search.         | Optional |
| Type                          | JJinja-templated text containing comma separated list of types for tickets to search.                                  | Optional |
| Type ID                       | Jinja-templated text containing comma separated list of type ids for tickets to search.                                | Optional |
| State                         | Jinja-templated text containing comma separated list of states for tickets to search.                                  | Optional |
| State ID                      | Jinja-templated text containing comma separated list of state ids for tickets to search.                               | Optional |
| State Type                    | Jinja-templated text containing comma separated list of state types for tickets to search.                             | Optional |
| State Type ID                 | Jinja-templated text containing comma separated list of state type ids for tickets to search.                          | Optional |
| Created After                 | Jinja-templated text containing datetime to search tickets created after specified time. Example: 2016-01-09 00:00:01  | Optional |
| Created Before                | Jinja-templated text containing datetime to search tickets created before specified time. Example: 2021-02-08 00:00:01 | Optional |
| Created Within Past X Minutes | Number of minutes to search tickets created less than X minutes ago. Example: 120                                      | Optional |
| Number of retries required    | Number of retries required to search tickets.                                                                          | Optional |

### Output

A JSON object containing multiple rows of result:

- has_error: True/False
- error: message/null
- result: List Of Ticket IDs.


``` {json}{
  "error": null,
  "has_error": false,
  "result": "123456"
}

Release Notes

  • v2.0.0 - Updated architecture to support IO via filesystem

  • v1.3.1 -

  • Deprecated old version of Ticket Create and Ticket Update actions.

  • Change Customer User, State and Priority fields to Jinja-templated fields in Ticket Create and Ticket Update actions.

  • Added optional field Service in Ticket Update action.

  • v1.2.9 - Fixed timeout bug.

  • v1.2.8 - Bug Fix - Resolved the default value error in dynamic field.

  • v1.2.7 - Added dynamic field parameter in Ticket Create and Ticket Update actions.

  • No labels