Hauptmenü

REST API Ticketsuche

Begonnen von Patrick P, 10.10.2018 14:45:32

⏪ vorheriges - nächstes ⏩

Patrick P

Hallo zusammen,

mithilfe von "Operation::Ticket::TicketSearch" kann ich nach Tickets suchen und dabei aus einer Vielzahl Kriterien wählen. Ich verzweifel jedoch gerade daran mehrere Kriterien miteinander zu verknüpfen. Die Verwendung nur eines Kriteriums funktioniert problemlos. Doch wie verknüpfe ich z. B. zwei Kriterien mit einem UND?

Beispiel: "Zeige mir alle Tickets in der Queue mit der ID "6" und dem Status "new"

$uri = "http://4.1.33.53/kix/nph-genericinterface.pl/Webservice/GenericTicketConnectorREST/Ticket?SessionID=$SessionID&QueueID=6"

Liefert die 500 Tickets der gesuchten Queue - OK!

$uri = "http://4.1.33.53/kix/nph-genericinterface.pl/Webservice/GenericTicketConnectorREST/Ticket?SessionID=$SessionID&States=new"

Liefert die 14 Tickets mit dem gesuchten Status in allen Queues - OK!

$uri = "http://4.1.33.53/kix/nph-genericinterface.pl/Webservice/GenericTicketConnectorREST/Ticket?SessionID=$SessionID&QueueID=6&States=new"

Liefert die gleichen 14 Tickets wie zuvor. Das Kriterium QueueID wird also gar nicht ausgewertet. In der gesuchten Queue befinden sich nur 3 Tickets mit dem gesuchten Status.

Hat jemand eine Idee oder wird das nicht unterstützt? Was mich dann jedoch sehr wundern würde.

Viele Dank

Patrick

Martin Jäger

Hallo Patrick,

um dein beschriebenes Verhalten besser analysieren zu können wollte ich kurz nachfragen ob du deinen Webservice exportieren und mir zur Verfügung stellen könntest?


Viele Grüße,
Martin

Patrick P

Hallo Martin,

vielen Dank für deine Rückmeldung. Ich habe die Musterkonfiguration aus der Dokumentation zur REST-Schnittstelle von der OTRS AG verwendet.

cu

Patrick

http://doc.otrs.com/doc/manual/admin/stable/en/html/genericinterface.html#id-1.6.12.10.7.2

---
Debugger:
  DebugThreshold: debug
  TestMode: '0'
Description: Ticket Connector REST Sample
FrameworkVersion: 3.4.x git
Provider:
  Operation:
    SessionCreate:
      Description: Creates a Session
      MappingInbound: {}
      MappingOutbound: {}
      Type: Session::SessionCreate
    TicketCreate:
      Description: Creates a Ticket
      MappingInbound: {}
      MappingOutbound: {}
      Type: Ticket::TicketCreate
    TicketGet:
      Description: Retrieves Ticket data
      MappingInbound: {}
      MappingOutbound: {}
      Type: Ticket::TicketGet
    TicketSearch:
      Description: Search for Tickets
      MappingInbound: {}
      MappingOutbound: {}
      Type: Ticket::TicketSearch
    TicketUpdate:
      Description: Updates a Ticket
      MappingInbound: {}
      MappingOutbound: {}
      Type: Ticket::TicketUpdate
    TicketHistoryGet:
      Description: Retrieves history of a Ticket
      MappingInbound: {}
      MappingOutbound: {}
      Type: Ticket::TicketHistoryGet
  Transport:
    Config:
      KeepAlive: ''
      MaxLength: '100000000'
      RouteOperationMapping:
        SessionCreate:
          RequestMethod:
          - POST
          Route: /Session
        TicketCreate:
          RequestMethod:
          - POST
          Route: /Ticket
        TicketGet:
          RequestMethod:
          - GET
          Route: /Ticket/:TicketID
        TicketSearch:
          RequestMethod:
          - GET
          Route: /Ticket
        TicketUpdate:
          RequestMethod:
          - PATCH
          Route: /Ticket/:TicketID
        TicketHistoryGet:
          RequestMethod:
          - GET
          Route: /TicketHistory/:TicketID
    Type: HTTP::REST
RemoteSystem: ''
Requester:
  Transport:
    Type: ''


Martin Jäger

Hallo Patrick,

ich habe die Lösung für dein Problem gefunden. :)

Der Parameter zur Filterung nach einer Queue ist "Queues" bzw. "QueueIDs".

Könntest du eine Suche mit einem dieser Parameter noch einmal durchführen und mir eine Rückmeldung geben, ob das Ergebnis mit diesem Parameter übereinstimmt?

Viele Grüße,
Martin

Patrick P

Hallo Martin,

das war es!!! Das Suchergebnis passt jetzt. :)

Vielen Dank!

Patrick