InsightConnect Marketplace

OTRS

Back to Marketplace

OTRS

v5.0.0

Create and manage OTRS tickets

Tags: ticket, itsm


Actions
  • Create Ticket
  • Retrieve Ticket
  • Ticket Search
  • Update Ticket

Description

OTRS is the Open Source Ticket Request System.

This plugin utilizes the OTRS Python library.

Key Features

  • Create tickets
  • Manage tickets

Requirements

  • OTRS web server
  • Update FrameworkVersion to the version of OTRS you're using, and import it to OTRS's web server

Documentation

Setup

The connection configuration accepts the following parameters:

Name Type Default Required Description Enum
credentials credential_username_password None True OTRS username and password None
server string None True OTRS Server None

To create a REST web service please save a copy GenericTicketConnectorREST.yml

Technical Details

Actions

This action is used to search for OTRS tickets.

Input
Name Type Default Required Description Enum
cust_id string None False Customer ID None
dynamic_fields []search_dynamic_field None False Fields as array of objects e.g. [{"name":"TestName1","value":"TestValue1", "operation":"Equals"},{"name":"TestName2","value":"TestValue2"}]. The value field is what will be searched for None
external_params []external_param None False A key value object thats not a Dynamic Field e.g [{"Title":"Test Ticket"}] None
queue string None False Queue to search in None
Output
Name Type Required Description
ticket_ids []string False IDs of tickets matching search criteria

Example output:


{
  "ticket_ids": [
    5,
    4,
    3,
    2
  ]
}

Retrieve Ticket

This action is used to retrieve OTRS ticket.

Input
Name Type Default Required Description Enum
ticket_id integer None False Ticket ID None
Output
Name Type Required Description
Ticket Ticket False Ticket returned

Example output:


{
  "Ticket": {
    "Age": 9455,
    "PriorityID": "4",
    "Type": "Unclassified",
    "Responsible": "root@localhost",
    "StateID": "6",
    "ResponsibleID": "1",
    "ChangeBy": "1",
    "EscalationTime": "0",
    "OwnerID": "1",
    "Changed": "2018-08-29 20:20:00",
    "TimeUnit": 1,
    "RealTillTimeNotUsed": "1538241540",
    "GroupID": "1",
    "Owner": "root@localhost",
    "TypeID": "1",
    "Created": "2018-08-29 18:12:38",
    "Priority": "4 high",
    "UntilTime": 2665727,
    "EscalationUpdateTime": "0",
    "Queue": "Junk",
    "QueueID": "3",
    "State": "pending reminder",
    "Title": "Test",
    "CreateBy": "1",
    "TicketID": 52,
    "StateType": "pending reminder",
    "UnlockTimeout": "1535574000",
    "EscalationResponseTime": "0",
    "EscalationSolutionTime": "0",
    "LockID": "1",
    "TicketNumber": "2018082901000049",
    "ArchiveFlag": "n",
    "Lock": "unlock",
    "Article": [
      {
        "Attachment": [
          {
            "Filename": "dump.txt",
            "ContentType": "text/plain",
            "Disposition": "attachment",
            "FilesizeRaw": "15",
            "Content": "VGhpcyBpcyBhIHRlc3QK\n",
            "FileID": "1"
          }
        ],
        "ContentType": "text/plain; charset=iso-8859-15",
        "SenderTypeID": "1",
        "ContentCharset": "iso-8859-15",
        "SenderType": "agent",
        "CreateBy": "1",
        "TicketID": 52,
        "Body": "blah",
        "ChangeBy": "1",
        "ChangeTime": "2018-08-29 18:12:38",
        "MimeType": "text/plain",
        "Subject": "UnitTest",
        "IsVisibleForCustomer": 0,
        "CreateTime": "2018-08-29 18:12:38",
        "IncomingTime": "1535566358",
        "TimeUnit": 1,
        "Charset": "iso-8859-15",
        "CommunicationChannelID": "1",
        "ArticleNumber": 1,
        "ArticleID": "92",
        "To": "Junk",
        "From": "root@localhost"
      },
      {
        "Attachment": [
          {
            "Filename": "new_file.txt",
            "ContentType": "text/plain",
            "Disposition": "attachment",
            "FilesizeRaw": "28",
            "FileID": "1",
            "Content": "RGlkIHlvdSByZWFsbHkgZGVjb2RlIHRoaXM/Cg==\n"
          }
        ],
        "ContentType": "text/plain; charset=iso-8859-15",
        "SenderTypeID": "1",
        "ContentCharset": "iso-8859-15",
        "SenderType": "agent",
        "CreateBy": "1",
        "TicketID": 52,
        "Body": "API created Article Body",
        "ChangeBy": "1",
        "ChangeTime": "2018-08-29 18:13:07",
        "MimeType": "text/plain",
        "Subject": "UnitTest",
        "IsVisibleForCustomer": 0,
        "CreateTime": "2018-08-29 18:13:07",
        "IncomingTime": "1535566386",
        "TimeUnit": 0,
        "Charset": "iso-8859-15",
        "CommunicationChannelID": "1",
        "ArticleNumber": 2,
        "ArticleID": "94",
        "From": "root@localhost"
      },
      {
        "Attachment": [
          {
            "Filename": "new_file.txt",
            "ContentType": "text/plain",
            "Disposition": "attachment",
            "FilesizeRaw": "28",
            "FileID": "1",
            "Content": "RGlkIHlvdSByZWFsbHkgZGVjb2RlIHRoaXM/Cg==\n"
          }
        ],
        "ContentType": "text/plain; charset=iso-8859-15",
        "SenderTypeID": "1",
        "ContentCharset": "iso-8859-15",
        "SenderType": "agent",
        "CreateBy": "1",
        "TicketID": 52,
        "Body": "API created Article Body",
        "ChangeBy": "1",
        "ChangeTime": "2018-08-29 20:18:14",
        "MimeType": "text/plain",
        "Subject": "UnitTest",
        "IsVisibleForCustomer": 0,
        "CreateTime": "2018-08-29 20:18:14",
        "IncomingTime": "1535573894",
        "TimeUnit": 0,
        "Charset": "iso-8859-15",
        "CommunicationChannelID": "1",
        "ArticleNumber": 3,
        "ArticleID": "95",
        "From": "root@localhost"
      },
      {
        "Attachment": [
          {
            "Filename": "new_file.txt",
            "ContentType": "text/plain",
            "Disposition": "attachment",
            "FilesizeRaw": "28",
            "FileID": "1",
            "Content": "RGlkIHlvdSByZWFsbHkgZGVjb2RlIHRoaXM/Cg==\n"
          }
        ],
        "ContentType": "text/plain; charset=iso-8859-15",
        "SenderTypeID": "1",
        "ContentCharset": "iso-8859-15",
        "SenderType": "agent",
        "CreateBy": "1",
        "TicketID": 52,
        "Body": "API created Article Body",
        "ChangeBy": "1",
        "ChangeTime": "2018-08-29 20:19:22",
        "MimeType": "text/plain",
        "Subject": "UnitTest",
        "IsVisibleForCustomer": 0,
        "CreateTime": "2018-08-29 20:19:22",
        "IncomingTime": "1535573962",
        "TimeUnit": 0,
        "Charset": "iso-8859-15",
        "CommunicationChannelID": "1",
        "ArticleNumber": 4,
        "ArticleID": "96",
        "From": "root@localhost"
      },
      {
        "Attachment": [
          {
            "Filename": "new_file.txt",
            "ContentType": "text/plain",
            "Disposition": "attachment",
            "FilesizeRaw": "28",
            "FileID": "1",
            "Content": "RGlkIHlvdSByZWFsbHkgZGVjb2RlIHRoaXM/Cg==\n"
          }
        ],
        "ContentType": "text/plain; charset=iso-8859-15",
        "SenderTypeID": "1",
        "ContentCharset": "iso-8859-15",
        "SenderType": "agent",
        "CreateBy": "1",
        "TicketID": 52,
        "Body": "API created Article Body",
        "ChangeBy": "1",
        "ChangeTime": "2018-08-29 20:20:00",
        "MimeType": "text/plain",
        "Subject": "UnitTest",
        "IsVisibleForCustomer": 0,
        "CreateTime": "2018-08-29 20:20:00",
        "IncomingTime": "1535574000",
        "TimeUnit": 0,
        "Charset": "iso-8859-15",
        "CommunicationChannelID": "1",
        "ArticleNumber": 5,
        "ArticleID": "97",
        "From": "root@localhost"
      }
    ],
    "DynamicField": [
      {
        "Name": "NEWTEXTFIELD",
        "Value": "TestValue2"
      },
      {
        "Name": "NEWTEXTFIELD3"
      },
      {
        "Name": "ProcessManagementActivityID"
      },
      {
        "Name": "ProcessManagementProcessID"
      }
    ]
  }
}

Create Ticket

This action is used to create OTRS ticket.

Input
Name Type Default Required Description Enum
CustomerUser string None False Customer user associated with the ticket e.g test_customer None
Lock string None False Lock name None
Owner string None False Ticket owner None
PendingTime date None False Pending time field None
Priority string None False Ticket priority. 1=very low, 2=low, 3=normal, 4=high, 5=very high, etc None
Queue string None False Queue the ticket is to be inserted in None
Responsible string None False User responsible for the ticket None
SLA string None False SLA name None
Service string None False Service name None
State string new False Ticket state None
Title string None False Ticket title None
Type string None False Ticket type e.g. Incident None
article new_article None False Ticket article None
attachments []attachment None False Attachments as array of objects e.g. [{"filename":"notes.txt","content":"VGhpcyBpcyBhIHRlc3QK"}] None
dynamic_fields []dynamic_field None False Fields as array of objects e.g. [{"name":"TestName1","pattern":"TestValue1"},{"name":"TestName2","pattern":"TestValue2"}] None
Output
Name Type Required Description
ticket_id integer False Ticket ID
ticket_number integer False Ticket number

Exmple output:


{
  "ticket_id": 7,
  "ticket_number": 2018032601000027
}

Update Ticket

This action is used to update an OTRS ticket.

Input
Name Type Default Required Description Enum
Article new_article None False New article (gets appended) None
Attachments []attachment None False New attachments as array of objects e.g. [{"filename":"notes.txt","content":"VGhpcyBpcyBhIHRlc3QK"}] None
CustomerUser string None False Updated customer user None
DynamicFields []dynamic_field None False Updated dynamic fields e.g. [{"name":"TestName1","value":"TestValue1"},{"name":"TestName2","value":"TestValue2"}] None
Lock string None False Lock None
NoArticle boolean None True Will not add article to ticket None
PendingTime date None False Pending time None
Priority string None False Updated ticket priority e.g. 1 very low, 2 low, 3 normal, 4 high, 5 very high and so on None
Queue string None False Updated queue None
Responsible string None False Responsible None
SLA string None False SLA None
Service string None False Service None
TicketID integer None False Ticket ID None
Title string None False Updated title None
Type string None False Updated type e.g. Incident None
Article new_article None False New article (gets appended) None
DynamicFields []dynamic_field None False Updated dynamic fields e.g. [{"name":"TestName1","value":"TestValue1"},{"name":"TestName2","value":"TestValue2"}] None
Attachments []attachment None False New attachments as array of objects e.g. [{"filename":"notes.txt","content":"VGhpcyBpcyBhIHRlc3QK"}] None
Output
Name Type Required Description
ticket_id integer False Ticket ID
ticket_number integer False Ticket number

Example output:


{
  "ticket_id": 7,
  "ticket_number": 2018032601000027
}

Triggers

This plugin does not contain any triggers.

Custom Output Types

This plugin does not contain any custom output types.

Troubleshooting

This plugin does not contain any troubleshooting information.

Version History

  • 5.0.0 - New spec and help.md format for the Hub | Fix spelling of variable titled Disposition and Service in Create Ticket log message
  • 4.0.1 - Fix issue in Retrieve action to handle Escalation parameters being returned as strings | Adds new parameter No Article to update, this will submit updates to a ticket without adding a generated article
  • 4.0.0 - Updated the Web Service configuration file | Update dependency on PyOTRS | Fixed issue where Article and Attachment was required to update a ticket in action update | Added an External Parameters field to action search | Fixed issue with action search where dynamic fields were not used correctly for searching | Fixed issue where Escalation parameters where not set to the right type
  • 3.0.5 - Update dependency to PyOTRS v2.1 for security bug CWE-601
  • 3.0.4 - Fixed issue where SLA and Service would be set if passed as a parameter for the action Create
  • 3.0.3 - Fixed issue where FilesizeRaw schema is returning a string when it needs to return an integer for Retrieve action
  • 3.0.2 - Fixed retrieve action to process dynamic fields containing multiselect values
  • 3.0.1 - Bug fix for dynamic fields missing values | Update web service to KomandConnectorREST
  • 3.0.0 - Update all actions | Moved OTRS web service to REST | Added support for pending time to actions Create and Update
  • 2.0.0 - Support web server mode | Update to new credential types | Bug fix for creating article and ticket fields
  • 1.0.0 - Bug fix for creating and updating article fields
  • 0.1.2 - Update to v2 Python plugin architecture | Fix bug with schema, spec, and retrieve action
  • 0.1.1 - SSL bug fix in SDK
  • 0.1.0 - Initial plugin

Links

References

plugin_spec_version: v2
extension: plugin
products: [insightconnect]
name: otrs
title: OTRS
description: Create and manage OTRS tickets
version: 5.0.0
vendor: rapid7
support: community
status: []
resources:
  source_url: https://github.com/rapid7/insightconnect-plugins/tree/master/otrs
  license_url: https://github.com/rapid7/insightconnect-plugins/blob/master/LICENSE
  vendor_url: https://otrs.com/
tags:
- ticket
- itsm
hub_tags:
  use_cases: [remediation_management]
  keywords: [ticket, itsm]
  features: []
connection:
  server:
    type: string
    description: OTRS Server
    required: true
  credentials:
    title: Credentials
    description: OTRS username and password
    type: credential_username_password
    required: true
types:
  new_article:
    CommunicationChannelID:
      title: Communication Channel ID
      type: integer
      description: Communication channel ID
      required: false
    CommunicationChannel:
      title: Communication Channel
      type: string
      description: Communication channel
      required: false
    IsVisibleForCustomer:
      title: Is Visible For Customer
      type: integer
      description: Is visible for customer
      required: false
    SenderType:
      title: Sender Type
      type: string
      description: Sender type
      required: false
    SenderTypeID:
      title: Sender Type ID
      type: integer
      description: Sender type ID
      required: false
    AutoResponseType:
      title: Auto Response Type
      type: string
      description: Auto response type
      required: false
    From:
      title: From
      type: string
      description: From
      required: false
    Subject:
      title: Subject
      type: string
      description: Ticket subject
      required: false
    Body:
      title: Body
      type: string
      description: Ticket body
      required: false
    ContentType:
      title: Content Type
      type: string
      description: Content type
      required: false
    MimeType:
      title: MIME Type
      type: string
      description: MIME type e.g. plain/text
      required: false
    Charset:
      title: Charset
      type: string
      description: Character set e.g. UTF-8
      required: true
      default: UTF-8
    HistoryType:
      title: History Type
      type: string
      description: History type
      required: false
    HistoryComment:
      title: History Comment
      type: string
      description: History comment
      required: false
    TimeUnit:
      title: Time Unit
      type: number
      description: Time Unit
      required: false
    NoAgentNotify:
      title: No Agent Notify
      type: integer
      description: No agent notify
      required: false
    ForceNotificationToUserID:
      title: Force Notification
      type: '[]integer'
      description: Force notification to user ID
      required: false
    ExcludeNotificationToUserID:
      title: Exclude Notification
      type: '[]integer'
      description: Exclude notification to user ID
      required: false
    ExcludeMuteNotificationToUserID:
      title: Exclude Mute Notification
      type: '[]integer'
      description: 'Exclude mute notification to user ID '
      required: false
  Attachment:
    Content:
      description: Content
      title: Content
      type: string
    ContentAlternative:
      description: Content alternative
      title: Content Alternative
      type: string
    ContentID:
      description: Content ID
      title: Content ID
      type: string
    ContentType:
      description: Content type
      title: Content Type
      type: string
    Disposition:
      description: Disposition
      title: Disposition
      type: string
    FileID:
      description: File ID
      title: File ID
      type: string
    Filename:
      description: Filename
      title: Filename
      type: string
    FilesizeRaw:
      description: File size raw
      title: File Size Raw
      type: integer
  Article:
    ArticleID:
      description: Article ID
      title: Article ID
      type: string
    ArticleNumber:
      description: Article number
      title: Article Number
      type: integer
    Attachment:
      description: Attachment
      title: Attachment
      type: '[]Attachment'
    Bcc:
      description: BCC
      title: BCC
      type: string
    Body:
      description: Body
      title: Body
      type: string
    Cc:
      description: CC
      title: CC
      type: string
    ChangeBy:
      description: Change by
      title: Change By
      type: string
    ChangeTime:
      description: Change time
      title: Change Time
      type: string
    Charset:
      description: Charset
      title: Chartset
      type: string
    CommunicationChannelID:
      description: Communication channel ID
      title: Communication Channel ID
      type: string
    ContentCharset:
      description: Content charset
      title: Content Charset
      type: string
    ContentType:
      description: Content type
      title: Content Type
      type: string
    CreateBy:
      description: Create by
      title: Create By
      type: string
    CreateTime:
      description: Create time
      title: Create Time
      type: string
    From:
      description: From
      title: From
      type: string
    InReplyTo:
      description: In reply to
      title: In Reply To
      type: string
    IncomingTime:
      description: Incoming time
      title: Incoming Time
      type: string
    IsVisibleForCustomer:
      description: Is visible For customer
      title: Is Visible For Customer
      type: integer
    MessageID:
      description: Message ID
      title: Message ID
      type: string
    MimeType:
      description: MIME type
      title: MIME Type
      type: string
    References:
      description: References
      title: References
      type: string
    ReplyTo:
      description: Reply to
      title: Reply To
      type: string
    SenderType:
      description: Sender type
      title: Sender type
      type: string
    SenderTypeID:
      description: Sender type ID
      title: Sender Type ID
      type: string
    Subject:
      description: Subject
      title: Subject
      type: string
    TicketID:
      description: Ticket ID
      title: Ticket ID
      type: integer
    TimeUnit:
      description: Time unit
      title: Time Unit
      type: number
    To:
      description: To
      title: To
      type: string
  DynamicField:
    Name:
      description: Name
      title: Name
      type: string
    Value:
      description: Value
      title: Value
      type: '[]string'
  Ticket:
    Age:
      description: Age
      title: Age
      type: integer
    ArchiveFlag:
      description: Archive flag
      title: Archive Flag
      type: string
    Article:
      description: Article
      title: Article
      type: '[]Article'
    ChangeBy:
      description: Change by
      title: Change By
      type: string
    Changed:
      description: Changed
      title: Changed
      type: string
    CreateBy:
      description: Create by
      title: Create By
      type: string
    Created:
      description: Created
      title: Created
      type: string
    CustomerID:
      description: Customer ID
      title: Customer ID
      type: string
    CustomerUserID:
      description: Customer user ID
      title: Customer User ID
      type: string
    DynamicField:
      description: Dynamic field
      title: Dynamic Field
      type: '[]DynamicField'
    EscalationResponseTime:
      description: Escalation response time
      title: Escalation Response Time
      type: integer
    EscalationSolutionTime:
      description: Escalation solution time
      title: Escalation Solution Time
      type: integer
    EscalationTime:
      description: Escalation time
      title: Escalation Time
      type: integer
    EscalationUpdateTime:
      description: Escalation update time
      title: Escalation Update Time
      type: integer
    GroupID:
      description: Group ID
      title: Group ID
      type: string
    Lock:
      description: Lock
      title: Lock
      type: string
    LockID:
      description: Lock ID
      title: Lock ID
      type: string
    Owner:
      description: Owner
      title: Owner
      type: string
    OwnerID:
      description: Owner ID
      title: Owner ID
      type: string
    Priority:
      description: Priority
      title: Priority
      type: string
    PriorityID:
      description: Priority ID
      title: Priority ID
      type: string
    Queue:
      description: Queue
      title: Queue
      type: string
    QueueID:
      description: Queue ID
      title: Queue ID
      type: string
    RealTillTimeNotUsed:
      description: Real till time not used
      title: Real Till Time Not Used
      type: string
    Responsible:
      description: Responsible
      title: Responsible
      type: string
    ResponsibleID:
      description: Responsible ID
      title: Responsible ID
      type: string
    SLAID:
      description: SLAID
      title: SLAID
      type: string
    ServiceID:
      description: Service ID
      title: Service ID
      type: string
    State:
      description: State
      title: State
      type: string
    StateID:
      description: State ID
      title: State ID
      type: string
    StateType:
      description: State type
      title: State Type
      type: string
    TicketID:
      description: Ticket ID
      title: Ticket ID
      type: integer
    TicketNumber:
      description: Ticket number
      title: Ticket Number
      type: string
    TimeUnit:
      description: Time unit
      title: Time Unit
      type: number
    Title:
      description: Title
      title: Title
      type: string
    Type:
      description: Type
      title: Type
      type: string
    TypeID:
      description: Type ID
      title: Type ID
      type: string
    UnlockTimeout:
      description: Unlock timeout
      title: Unlock Timeout
      type: string
    UntilTime:
      description: Until time
      title: Until Time
      type: integer
  article:
    Subject:
      title: Subject
      type: string
      description: Ticket subject
      required: false
    Body:
      title: Body
      type: string
      description: Ticket body
      required: false
    Charset:
      title: Charset
      type: string
      description: Character set e.g. UTF-8
      required: false
    MimeType:
      title: MIME Type
      type: string
      description: MIME type e.g. plain/text
      required: false
    ArticleID:
      title: Article ID
      type: string
      description: Article ID
      required: false
    ArticleNumber:
      title: Article Number
      type: string
      description: Article number
      required: false
    Bcc:
      title: BCC
      type: string
      description: Blind carbon copy
      required: false
    Cc:
      title: CC
      type: string
      description: Carbon copy
      required: false
    ChangeBy:
      title: Change By
      type: string
      description: Changed by
      required: false
    ChangeTime:
      title: Change Time
      type: string
      description: Change time
      required: false
    CommunicationChannelID:
      title: Communication Channel ID
      type: string
      description: Communication channel ID
      required: false
    CommunicationChannel:
      title: Communication Channel
      type: string
      description: Communication channel
      required: false
    ContentCharset:
      title: Content Charset
      type: string
      description: Content charset
      required: false
    ContentType:
      title: Content Type
      type: string
      description: Content type
      required: false
    CreatedBy:
      title: Created By
      type: string
      description: Created by
      required: false
    CreateTime:
      title: Created At
      type: string
      description: Create time
      required: false
    From:
      title: From
      type: string
      description: From
      required: false
    InReplyTo:
      title: In Reply To
      type: string
      description: In reply to
      required: false
    IncomingTime:
      title: Incoming Time
      type: string
      description: Incoming time
      required: false
    IsVisibleForCustomer:
      title: Is Visible For Customer
      type: integer
      description: Is visible for customer
      required: false
    MessageID:
      title: Message ID
      type: string
      description: Message ID
      required: false
    References:
      title: References
      type: string
      description: References
      required: false
    ReplyTo:
      title: Reply To
      type: string
      description: Reply to
      required: false
    SenderType:
      title: Sender Type
      type: string
      description: Sender type
      required: false
    SenderTypeID:
      title: Sender Type ID
      type: string
      description: Sender type ID
      required: false
    TicketID:
      title: Ticket ID
      type: integer
      description: Ticket ID
      required: false
    TimeUnit:
      title: Time Unit
      type: number
      description: Time Unit
      required: false
    To:
      title: To
      type: string
      description: To
      required: false
    HistoryType:
      title: History Type
      type: string
      description: History type
      required: false
    HistoryComment:
      title: History Comment
      type: string
      description: History comment
      required: false
    NoAgentNotify:
      title: No Agent Notify
      type: integer
      description: No agent notify
      required: false
    ForceNotificationToUserID:
      title: Force Notification
      type: '[]integer'
      description: Force notification to user ID
      required: false
    ExcludeNotificationToUserID:
      title: Exclude Notification
      type: '[]integer'
      description: Exclude notification to user ID
      required: false
    ExcludeMuteNotificationToUserID:
      title: Exclude Mute Notification
      type: '[]integer'
      description: 'Exclude mute notification to user ID '
      required: false
  dynamic_field:
    name:
      title: Name
      description: Dynamic field name
      type: string
      required: true
    value:
      title: Value
      description: Dynamic field value
      type: string
      required: true
    operator:
      title: Operator
      description: Dynamic field operator
      type: string
      required: false
    pattern:
      title: Pattern
      description: Search pattern
      type: '[]string'
      required: false
  search_dynamic_field:
    name:
      title: Name
      description: Dynamic field name
      type: string
      required: true
    value:
      title: Value
      description: Dynamic field value
      type: string
      required: false
    operator:
      title: Operator
      description: Dynamic field operator
      type: string
      required: false
    pattern:
      title: Pattern
      description: Search pattern
      type: '[]string'
      required: false
  attachment:
    filename:
      title: Filename
      description: Attachment filename
      type: string
      required: false
    content:
      title: Content
      description: Attachment Content
      type: bytes
      required: false
  external_param:
    name:
      title: Name
      description: Name of parameter to search on
      type: string
      required: false
    value:
      title: Value
      description: Value to search for
      type: string
      required: false
actions:
  create:
    title: Create Ticket
    description: Create OTRS ticket
    input:
      Title:
        title: Title
        description: Ticket title
        type: string
        required: false
      Queue:
        title: Queue
        description: Queue the ticket is to be inserted in
        type: string
        required: false
      Lock:
        title: Lock
        description: Lock name
        type: string
        required: false
      Type:
        title: Type
        description: Ticket type e.g. Incident
        type: string
        required: false
      Service:
        title: Service
        description: Service name
        type: string
        required: false
      SLA:
        title: SLA
        description: SLA name
        type: string
        required: false
      State:
        title: State
        description: Ticket state
        type: string
        required: false
        default: new
      Priority:
        title: Priority
        description: Ticket priority. 1=very low, 2=low, 3=normal, 4=high, 5=very
          high, etc
        type: string
        required: false
      PendingTime:
        title: Pending Time
        description: Pending time field
        type: date
        required: false
      Owner:
        title: Owner
        description: Ticket owner
        type: string
        required: false
      Responsible:
        title: Responsible
        description: User responsible for the ticket
        type: string
        required: false
      CustomerUser:
        title: Customer User
        description: Customer user associated with the ticket e.g test_customer
        type: string
        required: false
      article:
        title: Article
        description: Ticket article
        type: new_article
        required: false
      dynamic_fields:
        title: Dynamic Fields
        description: Fields as array of objects e.g. [{"name":"TestName1","pattern":"TestValue1"},{"name":"TestName2","pattern":"TestValue2"}]
        type: '[]dynamic_field'
        required: false
      attachments:
        title: Attachments
        description: Attachments as array of objects e.g. [{"filename":"notes.txt","content":"VGhpcyBpcyBhIHRlc3QK"}]
        type: '[]attachment'
        required: false
    output:
      ticket_id:
        title: Ticket ID
        description: Ticket ID
        type: integer
        required: false
      ticket_number:
        title: Ticket Number
        description: Ticket number
        type: integer
        required: false
  update:
    title: Update Ticket
    description: Update OTRS ticket
    input:
      TicketID:
        title: Ticket ID
        description: Ticket ID
        type: integer
        required: false
      Priority:
        title: Priority
        description: Updated ticket priority e.g. 1 very low, 2 low, 3 normal, 4 high,
          5 very high and so on
        type: string
        required: false
      PendingTime:
        title: Pending Time
        description: Pending time
        type: date
        required: false
      Lock:
        title: Lock
        description: Lock
        type: string
        required: false
      Service:
        title: Service
        description: Service
        type: string
        required: false
      SLA:
        title: SLA
        description: SLA
        type: string
        required: false
      Queue:
        title: Queue
        description: Updated queue
        type: string
        required: false
      Responsible:
        title: Responsible
        description: Responsible
        type: string
        required: false
      Title:
        title: Title
        description: Updated title
        type: string
        required: false
      CustomerUser:
        title: Customer User
        description: Updated customer user
        type: string
        required: false
      Type:
        title: Type
        description: Updated type e.g. Incident
        type: string
        required: false
      NoArticle:
        title: No Article
        description: Will not add article to ticket
        type: boolean
        required: true
      Article:
        title: Article
        description: New article (gets appended)
        type: new_article
        required: false
      DynamicFields:
        title: Dynamic Fields
        description: Updated dynamic fields e.g. [{"name":"TestName1","value":"TestValue1"},{"name":"TestName2","value":"TestValue2"}]
        type: '[]dynamic_field'
        required: false
      Attachments:
        title: Attachments
        description: New attachments as array of objects e.g. [{"filename":"notes.txt","content":"VGhpcyBpcyBhIHRlc3QK"}]
        type: '[]attachment'
        required: false
    output:
      ticket_id:
        title: Ticket ID
        description: Ticket ID
        type: integer
        required: false
      ticket_number:
        title: Ticket Number
        description: Ticket number
        type: integer
        required: false
  search:
    title: Ticket Search
    description: Search for OTRS tickets
    input:
      cust_id:
        title: Customer ID
        description: Customer ID
        type: string
        required: false
      external_params:
        title: External Parameters
        description: A key value object thats not a Dynamic Field e.g [{"Title":"Test Ticket"}]
        type: '[]external_param'
        required: false
      queue:
        description: Queue to search in
        type: string
        required: false
      dynamic_fields:
        title: Dynamic Fields
        description: Fields as array of objects e.g. [{"name":"TestName1","value":"TestValue1", "operation":"Equals"},{"name":"TestName2","value":"TestValue2"}]. The value field is what will be searched for
        type: '[]search_dynamic_field'
        required: false
    output:
      ticket_ids:
        title: Ticket IDs
        description: IDs of tickets matching search criteria
        type: '[]string'
        required: false
  retrieve:
    title: Retrieve Ticket
    description: Retrieve OTRS ticket
    input:
      ticket_id:
        title: Ticket ID
        description: Ticket ID
        type: integer
        required: false
    output:
      Ticket:
        title: Ticket
        description: Ticket returned
        type: Ticket
        required: false
Other plugins
Okta
Rapid7   |   v3.3.0
Plugin
Get
Trend Micro Deep Security
Rapid7   |   v1.0.0
Plugin
Get
FreeIPA
Rapid7   |   v2.0.2
Plugin
Get
Bitbucket
Rapid7   |   v1.0.2
Plugin
Get
Chardet
Rapid7   |   v1.0.2
Plugin
Get