Автоматическое связывание заявок

Обсуждение вопросов и решений

Модератор: ykolesnikov

Ответить
ggs
OTRS Новобранец
Сообщения: 8
Зарегистрирован: 08 фев 2018, 11:47

Автоматическое связывание заявок

Сообщение ggs » 09 фев 2018, 08:00

Доброго времени суток! Есть потребность автоматически связывать заявки. Планирую сделать через планировщик задач, путем выполнения какого-нибудь скрипта или модуля. Внимание, вопрос: Существуют ли такие скрипты, которые позволяют связать заявки с указанием их номеров или заголовков (что-то типа CreateTicket из терминала)? На форуме смежных задач не встречал. Есть ли смысл копать в сторону модуля MasterSlave? Скриптов типа "LinkObject.pl" не нашел в дистрибутиве с OTRS. Да и вообще какие могут быть способы решения этой задачи? Понимаю что есть такая штука как API, через нее можно использовать функцию LinkAdd, но как это осуществить не знаю.

ykolesnikov
OTRS Гуру
Сообщения: 3119
Зарегистрирован: 24 дек 2010, 09:27
Откуда: Череповец
Благодарил (а): 4 раза
Поблагодарили: 5 раз
Контактная информация:

Re: Автоматическое связывание заявок

Сообщение ykolesnikov » 09 фев 2018, 11:30

Вы подробно описали много возможных путей решения задачи, которую конкретно так и не поставили. А именно - критерии связывания, источник поступления и т.д.
С уважением Юрий Колесников
OTRS 5.0.22, ITSM 5.0.22
OpenSuse 13.2, MariaDB 10.0.22
OTRS 5.0.22, ITSM 5.0.22 тестовая

ggs
OTRS Новобранец
Сообщения: 8
Зарегистрирован: 08 фев 2018, 11:47

Re: Автоматическое связывание заявок

Сообщение ggs » 12 фев 2018, 08:38

Хорошо опишу задачу по-подробнее.
От клиента приходит заявка в отдел Поддержки, над ней работает один человек, после выполненных работ, он закрывает заявку. Она попадает под условия планировщика задач, и он выполняет скрипт - CreateTicket.pl новая заявка - с новым владельцем, и в отделе Бухгалтерия. Дальше в этом отделе работают с созданной заявкой (подготавливают документы о выполненных работах), но что бы понять о чем была работа, необходимо связать предыдущую заявку с этой.
Это сделано для того, что бы статистика была верной, иначе если заявки предавать по очередям, то в итоге все заявки будет закрывать бухгалтерия, а это не правильно.

З.Ы. каждый отдел работает со своими очередями.

ykolesnikov
OTRS Гуру
Сообщения: 3119
Зарегистрирован: 24 дек 2010, 09:27
Откуда: Череповец
Благодарил (а): 4 раза
Поблагодарили: 5 раз
Контактная информация:

Re: Автоматическое связывание заявок

Сообщение ykolesnikov » 12 фев 2018, 11:50

Посмотрите в сторону разделения заявки (Split Ticket), при этом можно настроить тип связи - Parent - Child ( порождённую заявку не закрыть, пока не закрыта родительская) или Normal (могут быть закрыты независимо). Как автоматизировать это не подскажу, но связь при разделении будет формироваться в соответствии с настройками.
С уважением Юрий Колесников
OTRS 5.0.22, ITSM 5.0.22
OpenSuse 13.2, MariaDB 10.0.22
OTRS 5.0.22, ITSM 5.0.22 тестовая

ggs
OTRS Новобранец
Сообщения: 8
Зарегистрирован: 08 фев 2018, 11:47

Re: Автоматическое связывание заявок

Сообщение ggs » 15 фев 2018, 13:55

Где вообще есть информация поподробнее об этом? в дистрибутиве не нашел ничего похожего, и в конфиге системы тоже. Не имею полного представления об этом модуле.

ggs
OTRS Новобранец
Сообщения: 8
Зарегистрирован: 08 фев 2018, 11:47

Re: Автоматическое связывание заявок

Сообщение ggs » 15 фев 2018, 14:00

А можно ли взять модуль LinkObject.pm выпилить из него необходимый код и написать скрипт с этой частью кода???

alexus
OTRS Гуру
Сообщения: 5192
Зарегистрирован: 20 сен 2010, 18:17
Откуда: Москва
Благодарил (а): 92 раза
Поблагодарили: 82 раза

Re: Автоматическое связывание заявок

Сообщение alexus » 15 фев 2018, 14:08

У нас есть платный модуль TicketWorkflow, который может на базе тикета создать набор связаных зависимых друг от друга дочерних тикетов.
Посмотреть можно на демо
1. Авторизуетесь агентом, нажав кнопку, тут - https://demo.radiantsystem.com
2. https://demo.radiantsystem.com/otrs/ind ... ketID=3174 - нажимаете "Рабочий процесс" и выбираете вариант Workflow. Работает только для Запросов на обслуживание в статусе "в работе". Если надо, можете создать новый.
С уважением,
Алексей Юсов

Prod: OTRS CE ITSM 6.0.28 on CentOS 7 Apache 2.4 MariaDB 10.4.13 + Radiant Customer Portal

Radiant System OTRS Intergrator RU
Группа OTRS Community в Teleram
Хотите внедрить OTRS? Спросите меня как!

ggs
OTRS Новобранец
Сообщения: 8
Зарегистрирован: 08 фев 2018, 11:47

Re: Автоматическое связывание заявок

Сообщение ggs » 19 фев 2018, 11:29

Платный модуль это, конечно, хорошо, но вот сколько он стоит, и может все таки есть варианты по-бесплатнее?))

alexus
OTRS Гуру
Сообщения: 5192
Зарегистрирован: 20 сен 2010, 18:17
Откуда: Москва
Благодарил (а): 92 раза
Поблагодарили: 82 раза

Re: Автоматическое связывание заявок

Сообщение alexus » 19 фев 2018, 12:12

У меня в подписи почта есть, отправляйте запрос.
А бесплатнее - пилить самому, если конечно Ваше время ничего не стоит ;) !
С уважением,
Алексей Юсов

Prod: OTRS CE ITSM 6.0.28 on CentOS 7 Apache 2.4 MariaDB 10.4.13 + Radiant Customer Portal

Radiant System OTRS Intergrator RU
Группа OTRS Community в Teleram
Хотите внедрить OTRS? Спросите меня как!

ggs
OTRS Новобранец
Сообщения: 8
Зарегистрирован: 08 фев 2018, 11:47

Re: Автоматическое связывание заявок

Сообщение ggs » 26 фев 2018, 10:44

Хорошо, подскажите все таки как работает связывание заявок через api? В документации к otrs, видел, что эти функции доступны для использования, например, LinkAdd. Но реализацию не представляю, да и параметры в функции не полные, что ли. Прошу помощи.

alexus
OTRS Гуру
Сообщения: 5192
Зарегистрирован: 20 сен 2010, 18:17
Откуда: Москва
Благодарил (а): 92 раза
Поблагодарили: 82 раза

Re: Автоматическое связывание заявок

Сообщение alexus » 26 фев 2018, 21:25

1. grep -rl LinkAdd /opt/otrs/Kernel/System/
2. /opt/otrs/Kernel/System/Ticket.pm - тут есть пример вызова функции
Вот

Код: Выделить всё

    # link tickets
    $Kernel::OM->Get('Kernel::System::LinkObject')->LinkAdd(
        SourceObject => 'Ticket',
        SourceKey    => $Param{MainTicketID},
        TargetObject => 'Ticket',
        TargetKey    => $Param{MergeTicketID},
        Type         => 'ParentChild',
        State        => 'Valid',
        UserID       => $Param{UserID},
    );
3. /opt/otrs/Kernel/System/LinkObject.pm - тут сама функция с примером.

Код: Выделить всё

=item LinkAdd()

3. 
add a new link between two elements

    $True = $LinkObject->LinkAdd(
        SourceObject => 'Ticket',
        SourceKey    => '321',
        TargetObject => 'FAQ',
        TargetKey    => '5',
        Type         => 'ParentChild',
        State        => 'Valid',
        UserID       => 1,
    );

=cut
С уважением,
Алексей Юсов

Prod: OTRS CE ITSM 6.0.28 on CentOS 7 Apache 2.4 MariaDB 10.4.13 + Radiant Customer Portal

Radiant System OTRS Intergrator RU
Группа OTRS Community в Teleram
Хотите внедрить OTRS? Спросите меня как!

ggs
OTRS Новобранец
Сообщения: 8
Зарегистрирован: 08 фев 2018, 11:47

Re: Автоматическое связывание заявок

Сообщение ggs » 26 мар 2018, 15:50

Добрый день! Очередной раз подумал над этой темой, придумали временное решение этого вопроса, т.к. настроить это все у меня пока не получается. Подумали, что передачу номера закрытой заявки в тело новой, проще реализовать. Принцип работы представляю следующий: Закрытая заявка попадает под условия планировщика и он с помощью какого-нибудь скрипта или других возможностей "выцепляет" ID этой заявки и передает его через переменную в тело новой заявки, скрипт TicketCreate. Подскажите есть ли такая возможность и какие есть решения для получения ID заявки?

alexus
OTRS Гуру
Сообщения: 5192
Зарегистрирован: 20 сен 2010, 18:17
Откуда: Москва
Благодарил (а): 92 раза
Поблагодарили: 82 раза

Re: Автоматическое связывание заявок

Сообщение alexus » 26 мар 2018, 16:03

ggs писал(а):Подскажите есть ли такая возможность и какие есть решения для получения ID заявки?
Странный вопрос - обычно все операции c тикетом выполняются по его ID. Т.е. если вы что-то делаете, то ID вы уже должны знать. А планировщик с ID не работает, т.к. это системный атрибут тикета.
С уважением,
Алексей Юсов

Prod: OTRS CE ITSM 6.0.28 on CentOS 7 Apache 2.4 MariaDB 10.4.13 + Radiant Customer Portal

Radiant System OTRS Intergrator RU
Группа OTRS Community в Teleram
Хотите внедрить OTRS? Спросите меня как!

ggs
OTRS Новобранец
Сообщения: 8
Зарегистрирован: 08 фев 2018, 11:47

Re: Автоматическое связывание заявок

Сообщение ggs » 03 апр 2018, 10:26

Доброго времени суток!
Нашел способ связывать заявки с помощью функций Указанных в документации. Связывание отрабатывает но вот поиск ID заявки нет. Прикладываю код поиска ID заявки и ошибку. Полагаю что ошибка в описании $OperationObject .
Собственно, метод Run() есть, проверял.
Строка 8: my $OperationObject = $Kernel::OM-->Get('Kernel::Config')-->Get('GenericInterface::Operation::TicketSearch');

Надеюсь на вашу помощь в устранении этой проблемки, заранее Спасибо!
Вложения
ошибка1.png
Ошибка
ошибка1.png (11.07 КБ) 8260 просмотров
код1.png
Код
код1.png (15.8 КБ) 8260 просмотров

Ответить