Добрый день!
Никак не могу разобраться, как осуществить процесс создания Изменения через фильтры PostMaster или GenericAgent, других вариантов не вижу...
В фильтрах PostMaster добавил X-OTRS-ITSMTemplate и X-OTRS-Template (пробовал, какой отработает), Условие - определенное слово в Subject.
Фильтр по данным заголовкам не отрабатывает
В GenericAgent ничего связанного с изменениями нет.
Создал задание запуска модуля
Модуль: Kernel::Modules::AgentITSMChangeAddFromTemplate
Параметр 1: ключ: ITSMChange Параметр 1: значение: new
Параметр 2: ключ: LinkObject Параметр 2: значение: new
Параметр 3: ключ: ITSMChange::Template Параметр 3: значение: test_template
Параметр 4: ключ: Web::UploadCache Параметр 4: значение: new
Но результат такой же..
Подскажите, что я делаю не правильно?
Создание изменения
Moderator: DenisBY
-
- Znuny newbie
- Posts: 7
- Joined: 17 Jun 2015, 14:29
- Znuny Version: 3.3.9
- Real Name: Ilya
-
- Znuny advanced
- Posts: 121
- Joined: 30 Aug 2011, 10:48
- Znuny Version: 3.3.8 && 4.0.9
- Real Name: Artjoms Petrovs
- Location: Latvia
Re: Создание изменения
День добрый!
Не уверен, что Postmaster находит необходимые header'ы во входящем письме, и не уверен, что срабатывает задание GenericAgent'a для тикета (Надо видеть фильтры ).
Я пройду по всем состояниям процесса (Допустим, что изменение запустится через GenericAgent) и укажу, на что следует обратить внимание.
1) Проверить, что GenericAgent находит Тикет, на основе которого создать change ( кнопка Run GenericAgent Job )
2) Если используется модуль AgentITSMChangeAddFromTemplate.pm убедиться, что поданы Ключи:
3) Тестирование и подача динамических параметров
А.
Не уверен, что Postmaster находит необходимые header'ы во входящем письме, и не уверен, что срабатывает задание GenericAgent'a для тикета (Надо видеть фильтры ).
Я пройду по всем состояниям процесса (Допустим, что изменение запустится через GenericAgent) и укажу, на что следует обратить внимание.
1) Проверить, что GenericAgent находит Тикет, на основе которого создать change ( кнопка Run GenericAgent Job )
2) Если используется модуль AgentITSMChangeAddFromTemplate.pm убедиться, что поданы Ключи:
- Action == "AgentITSMChangeAddFromTemplate" #для Permissions
UserID == ID агента, от чьего имени создается чейндж #для Permissions, необходим доступ к Change Management
Subaction == "CreateFromTemplate" #вызов нужного блока для создания чейнджа
TemplateID == ID Шаблона, из которого хотим создать Чейндж
MoveTimeType == "PlannedStartTime"
MoveTimeYear == Год чейнджа
MoveTimeMonth == Месяц
MoveTimeDay == День
MoveTimeHour == Час
MoveTimeMinute == Минута
3) Тестирование и подача динамических параметров
А.
Ar cieņu / Kind regards,
----------------------------------------
Artjoms Petrovs
Sistēmu analītiķis/Programmētājs /
Systems Analyst/Programmer
----------------------------------------
Artjoms Petrovs
Sistēmu analītiķis/Programmētājs /
Systems Analyst/Programmer
-
- Znuny newbie
- Posts: 7
- Joined: 17 Jun 2015, 14:29
- Znuny Version: 3.3.9
- Real Name: Ilya
Re: Создание изменения
Спасибо за ответ!artjoms15 wrote:День добрый!
Не уверен, что Postmaster находит необходимые header'ы во входящем письме, и не уверен, что срабатывает задание GenericAgent'a для тикета (Надо видеть фильтры ).
Я пройду по всем состояниям процесса (Допустим, что изменение запустится через GenericAgent) и укажу, на что следует обратить внимание.
1) Проверить, что GenericAgent находит Тикет, на основе которого создать change ( кнопка Run GenericAgent Job )
2) Eсли используется модуль AgentITSMChangeAddFromTemplate.pm убедиться, что поданы Ключи:3) Проверить ошибки в Журнале Событий и в логах Апача
- Action == "AgentITSMChangeAddFromTemplate" #для Permissions
UserID == ID агента, от чьего имени создается чейндж #для Permissions, необходим доступ к Change Management
Subaction == "CreateFromTemplate" #вызов нужного блока для создания чейнджа
TemplateID == ID Шаблона, из которого хотим создать Чейндж
MoveTimeType == "PlannedStartTime"
MoveTimeYear == Год чейнджа
MoveTimeMonth == Месяц
MoveTimeDay == День
MoveTimeHour == Час
MoveTimeMinute == Минута
4) Тестирование и подача динамических параметров
А.
1) GenericAgent находит Тикет
2) 3) Can't call method "FatalError" on an undefined value at /opt/otrs//Kernel/Modules/AgentITSMChangeAddFromTemplate.pm line 33.
Я так понимаю модуль не видет параметры, в какую сторону копать?
You do not have the required permissions to view the files attached to this post.
-
- Znuny advanced
- Posts: 121
- Joined: 30 Aug 2011, 10:48
- Znuny Version: 3.3.8 && 4.0.9
- Real Name: Artjoms Petrovs
- Location: Latvia
Re: Создание изменения
Нет, тут проблема в другом - не загружены необходимые Объекты, которые обычно автоматически подгружаются, если модуль вызван из веб-интерфейса.
Вижу 2 решения - в обоих надо править код:
1) Надо скопировать модуль AgentITSMChangeAddFromTemplate.pm, зарегистрировать в системе, добавить в него создание необходимых объектов
и начать тестировать
ИЛИ
Можно подправить файл Custom/Kernel/System/GenericAgent.pm
и подать в вызов внешнего модуля список параметров ( Другими словами, объекты созданные инстанцией GenericAgent'a )
Надо добавить строку %Param,
~ строка 1318
Вижу 2 решения - в обоих надо править код:
1) Надо скопировать модуль AgentITSMChangeAddFromTemplate.pm, зарегистрировать в системе, добавить в него создание необходимых объектов
Code: Select all
use Kernel::Config;
use Kernel::System::Encode;
use Kernel::System::Log;
use Kernel::System::Main;
use Kernel::System::DB;
use Kernel::System::Time;
use Kernel::System::Queue;
use Kernel::System::Ticket;
use Kernel::System::GenericAgent;
my $ConfigObject = Kernel::Config->new();
my $EncodeObject = Kernel::System::Encode->new(
ConfigObject => $ConfigObject,
);
my $LogObject = Kernel::System::Log->new(
ConfigObject => $ConfigObject,
EncodeObject => $EncodeObject,
);
my $TimeObject = Kernel::System::Time->new(
ConfigObject => $ConfigObject,
LogObject => $LogObject,
);
my $MainObject = Kernel::System::Main->new(
ConfigObject => $ConfigObject,
EncodeObject => $EncodeObject,
LogObject => $LogObject,
);
my $DBObject = Kernel::System::DB->new(
ConfigObject => $ConfigObject,
EncodeObject => $EncodeObject,
LogObject => $LogObject,
MainObject => $MainObject,
);
my $QueueObject = Kernel::System::Queue->new(
ConfigObject => $ConfigObject,
LogObject => $LogObject,
);
my $TicketObject = Kernel::System::Ticket->new(
ConfigObject => $ConfigObject,
LogObject => $LogObject,
DBObject => $DBObject,
);
ИЛИ
Можно подправить файл Custom/Kernel/System/GenericAgent.pm
и подать в вызов внешнего модуля список параметров ( Другими словами, объекты созданные инстанцией GenericAgent'a )
Надо добавить строку %Param,
~ строка 1318
Code: Select all
if ( $Self->{MainObject}->Require( $Param{Config}->{New}->{Module} ) ) {
# protect parent process
eval {
my $Object = $Param{Config}->{New}->{Module}->new(
%{$Self},
Debug => $Self->{Debug},
);
if ($Object) {
$Object->Run(
%Param, # ДОБАВИТЬ ЭТУ СТРОКУ
%{ $Param{Config} },
TicketID => $Param{TicketID},
);
}
};
if ($@) {
$Self->{LogObject}->Log( Priority => 'error', Message => $@ );
}
}
Ar cieņu / Kind regards,
----------------------------------------
Artjoms Petrovs
Sistēmu analītiķis/Programmētājs /
Systems Analyst/Programmer
----------------------------------------
Artjoms Petrovs
Sistēmu analītiķis/Programmētājs /
Systems Analyst/Programmer