Универсальный интерфейс OTRS (Поиск тикета) — Массив параметров запроса URL

Прокрутите вниз @ Документация администратора OTRS: здесь вы найдите оператор curl для операций с билетами поиска.

curl "http://localhost/otrs/nph-genericinterface.pl/Webservice/GenericTicketConnectorREST/Ticket?UserLogin=agent&Password=123&Queue=Postmaster"

Кто-нибудь знает, как искать 2 разные очереди в одном выражении curl? Да, я могу сделать 2 запроса на завивание, но если возможно, лучше один запрос.

Я пробовал кое-что из массива параметров URL-запроса, но ничего не работает, например.

//just second Queue is used!!!
curl "http://localhost/otrs/nph-genericinterface.pl/Webservice/GenericTicketConnectorREST/Ticket?UserLogin=agent&Password=123&Queue=Postmaster&Queue=Postmaster2"

//
curl "http://localhost/otrs/nph-genericinterface.pl/Webservice/GenericTicketConnectorREST/Ticket?UserLogin=agent&Password=123&Queue[]=Postmaster&Queue[]=Postmaster2"

//
curl "http://localhost/otrs/nph-genericinterface.pl/Webservice/GenericTicketConnectorREST/Ticket?UserLogin=agent&Password=123&Queue=Postmaster,Postmaster2"

    //
curl "http://localhost/otrs/nph-genericinterface.pl/Webservice/GenericTicketConnectorREST/Ticket?UserLogin=agent&Password=123&Queue=[Postmaster,Postmaster2]"

person heaphach    schedule 03.06.2015    source источник


Ответы (2)


Я не уверен, что это возможно с помощью метода GET, если я бегло взгляну на исходники OTRS. Но есть способ предоставить параметр более одного раза, если вы переключите операцию TicketSearch на POST и предоставите параметры запроса через JSON.

Настройка веб-службы относительно проста; в OTRS вам следует перейти в «Администрирование» > «Веб-сервисы». Выберите веб-службу «Rest». Нажмите кнопку «Настроить» рядом с сетевым транспортом («HTTP::REST»).

Теперь обновите сопоставление маршрутов для TicketSearch с Ticket на что-то уникальное, например TicketSearch. В противном случае запросы POST к маршруту Ticket попадут в операцию TicketCreate. Смотрите скриншот ниже:

введите здесь описание изображения

Теперь вы можете передавать параметры в виде документа JSON. Пример curl выглядит так:

curl -X POST --data '{"Queues": ["Bar", "Foo"]}' \
"http://localhost/otrs/nph-genericinterface.pl/Webservice/GenericTicketConnectorREST/TicketSearch?UserLogin=test&Password=test"

Обратите внимание, что если одно из названий вашей очереди не существует, поиск не выдаст билетов.

person MichielB    schedule 05.06.2015
comment
Пример из документации с параметром запроса Queue=* у меня вообще не работал (поиск одной очереди). Этот метод единственный, который работал для меня. - person Xceno; 15.03.2016

Для потомков, и как я чувствовал в этой теме при поиске той же проблемы:

Я заставил его работать, используя фильтр «Очереди» вместо «Очередь» и просто повторяя параметр:

> curl -k "https://otrs02.telsys.ch/otrs/nph-genericinterface.pl/Webservice/GenericTicketConnectorREST/Ticket?UserLogin=qmorrier***&Password=***&Queues=Nouveaux&Queues=Raw"
{"TicketID":["2","1"]}

> curl -k "https://otrs02.telsys.ch/otrs/nph-genericinterface.pl/Webservice/GenericTicketConnectorREST/Ticket?UserLogin=qmorrier***&Password=***&Queues=Nouveaux&Queues=Raw&Queues=Niveau%201"
{"TicketID":["3","2","1"]}

В настоящее время я использую OTRS 6.0.25 Community Edition.

person Quentin Morrier    schedule 01.04.2020