前に、
OTRSをプロバイダーとして設定する方法を書き
ました 。 これは、システムがOTRSを呼び出してデータを要求できる場合です。
次に、OTRSをリクエスタとして設定する方法を説明します。 OTRSでイベントが発生し、その後、外部システムにアピールする場合。 また、私が遭遇した問題。 興味があれば、猫をお願いします。

そこで、素晴らしいOTRSをインストールし、そこで作業を開始しました。 しかし、私はシステムにもっと欲しかった。 私たちの場合、電報ボットとの統合。 ケースは次のとおりです。チケットがユーザーのVIPから到着した場合、ボットは直ちにこれについて責任者に通知する必要があります。
このため、システム自体が彼と通信し、そのようなチケットの到着を報告できることが必要です。
最初に呼び出し側を有効にする必要があります。 デフォルトでは、それらは2つだけであり、それ以上の方法はわかりませんでした。 タスクについては、1つで十分です。
これを行うには、「システム構成」に移動して検索します。
GenericInterfaceで構成設定を編集-> GenericInterface :: Invoker :: ModuleRegistration

オンにするだけで、何も変更する必要はありません。
次に、管理-> Webサービスに移動します。


新しいWebサービスを作成します。
インターフェイスの名前を入力してください
「OTRS as requesting」ブロックでHTTP :: RESTネットワークトランスポートを選択します。
[保存]をクリックします。

保存後、Invokerを選択してトランスポートを構成できます。
Invokerが1つあり、それを選択します。

呼び出し側を追加すると、すぐにそれを構成するように求められます。
名前 -ここではすべてが明確です
次に、パラメータの2つのマップ 。 それらが原則として機能するかどうかはわかりませんので、そのまま転送するように設定しました。
イベントトリガー -チケットの作成を選択しました。 重要-プラス記号をクリックすることを忘れないでください。 その後、トリガーが追加されます。 約5分間、設定に行った後にトリガーが表示されなかった理由を見つけました。
トリガーは、同期および非同期にすることができます。 同期の場合、OTRSが応答を受信するまで、チケットでの作業を続けることはできません。 非同期-OTRSはバックグラウンドでリクエストを送信します。
同期呼び出しの問題の例:
チケット内のサービスを変更するトリガーを設定します。
チケットのサービス変更ウィンドウを開き、サービスを変更します。
外部システムが応答するまで、ウィンドウは閉じません。 すぐに閉じるはずですが。

次に、トランスポートを構成します

ポートで受信システムのアドレスを示します。 次の行は、サーブレットの名前とTicketIDです。 指示に従って、チケットから他のパラメーターを転送することもできますが、成功しませんでした。 したがって、持っているのはチケット番号だけです。 詳細については、以下をご覧ください。

これで設定は完了です。 イベントが発生すると、外部システムがリクエストを受け取りました。

セットアップ中に、2点が浮上しました:
- 「Got no TicketNumber」ログでリクエストを送信しない場合は、サーバーでTest.pmファイルを見つけて、「TicketNumber」を「TicketID」に変更する必要があります。 私の場合、それはここにありました-/ opt / otrs / Kernel / GenericInterface / Invoker / Test
アドバイスをくれたこれらの人に感謝します。 - イベント発生時のOTRSは、チケットIDのみを送信します。 他のパラメータを送信できることが記載されています。 しかし、これは失敗しました。 その結果、イベントが発生すると、外部システムはTicketIDを受け取り、それ自体でOTRSに連絡して完全な情報を取得します。 フォーラムのメンバーはほぼ同じことをしましたが、これは追加のアピールをもたらしますが、私たちの場合、それは重要ではありません。
誰かが面白いコメントを持っている場合、コメントは大歓迎です:)