Kiolesura cha Ujumla cha OTRS kina matabaka mengi ya viunzi ambavyo vinaruhusu OTRS kuwasiliana na mifumo mingine kupitia huduma ya tovuti. Haya mawasiliano yanweza kuwa ya pande mbili.
OTRS kama Mtoaji: OTRS inakuwa kama seva inasikiliza maombi kutoka kwenye Mfumo wa Nje, inachakatisha taarifa, kufanya vitendo vilivyoombwa, na kujibu maombi.
OTRS kama Muombaji: OTRS inakuwa kama mteja inakusanya taarifa, kutuma maombi kwa Mifumo ya Nje, na kusubiri majibu.
Kiolesura cha Ujumla kimetengenezwa katika moduli ya tabaka, kuwa rahisi kubadilika na kugeuza kukufaa.
Tabaka ni seti ya mafaili, ambayo inadhibiti jinsi Kiolesura cha Ujumla kinavyotekeleza sehemu tofauti za huduma ya tovuti. Kwa kutumia usanidi sahihi, mtu anaweza kujenga huduma tofauti za tovuti kwa Mifumo tofauti ya Nje bila kutengeneza moduli mpya.
Kama Mfumo wa Nje hauna usaidizi kwa furushi la moduli za sasa za Kiolesura cha Ujumla, moduli maalumu zinahitaji kutengenezwa kwa ajili ya hiyo huduma maalumu ya tovuti.
Orodha ya moduli zilizotolewa za Kiolesura cha Ujumla zilizosafirishwa na OTRS zita sasishwa na kuongezwa.
Kielelezo: Matabaka ya kiolesura michoro.
Hili tabaka lina jukumu la mawasiliano sahihi na Mfumo wa Mbali. Inapokea maombi na kutengeneza majibu ikiwa kama mtoaji, na kutengeneza maombi na kupokea majibu ikiwa kama muombaji.
Mawasiliano ya mtoaji yanashughulikiwa na kishiko kipya cha seva ya wavuti kiitwacho "nph-genericinterface.pl".
Requester communication could be initiated during an event triggered by a Generic Interface module or any other OTRS module. This event is catched by the event handler and depending on the configuration the event will be processed directly by the requester object or delegated to the Scheduler (a separated daemon designed to process tasks asynchronously).
Tabaka hili lina jukumu la kutafsiri muundo wa data kati ya OTRS na Mfumo wa Mbali (tabaka la data za ndani na data za nje). Kwa kawaida Mifumo ya Mbali ina muundo tofauti wa data kufananisha na OTRS (ikijumuisha thamani tofauti na majina tofauti ya hizo thamani), na hapa umuhimu wa hili tabaka unaonekana kubadilisha taarifa inayopokelewa kuwa kitu ambacho OTRS inaweza kuelewa na kwa upande mwingine kutuma taarifa kwa kila Mfumo wa Mbali kwa kutumia kamusi zao za data.
Example: "Kipaumbele" (OTRS) kinaweza kuitwa "Prio" katika mfumo wa mbali na inaweza kuwa thamani "1 Chini" (OTRS) inatakiwa kuunganishwa na "Taarifa" kwenye mfumo wa mbali.
Wadhibiti ni mkusanyiko wa Operesheni zinazofanana au Wachochezi. Kwa mfano, mdhibiti wa Tiketi anaweza kuwa na operesheni za kawaida za tiketi. Wadhibiti wa kawaida wanaweza kutekelezeka, kwa mfano mdhibiti "TiketiNjeKampuni" ambayo inaweza kuwa na kazi sawa na mdhibiti wa kawaida wa Tiketi, lakini ana kiolesura tofauti cha data, au majina ya kazi (ili kukabiliana na majina ya Mfumo wa Mbali) au kanuni tofauti kabisa.
Kazi moja ya Kiolesura cha Ujumla inaweza kuwa kulandanisha taarifa za Mfumo mmoja wa Mbali unaoweza kuongea na Mfumo mwingine wa Mbali unaofanana tu. Katika kesi hii wadhibiti wapya inabidi watengenezwe na Operesheni na Wachochezi inabidi waige tabia za Mfumo wa Mbali ili kiolesura ambacho OTRS itaonyesha kifanane na kiolesura cha Mfumo wa Mbali.
Operesheni ni kitendo kimoja kinachoweza kufanywa ndani ya OTRS. Operesheni zote zina kiolesura cha kuundia programu za ngamizi kinachofanana, zinapokea data katika parameta moja maalumu, na kurudisha muundo wa data wenye hali ya mafanikio, ujumbe wa kasoro zilizotokea na kurudisha data.
Kwa kawaida operesheni zinatumia data (za ndani) ambazo tayari zimeunganika kuita moduli viini na kufanya vitendo kama: Tengeneza Tiketi, Sasisha Mtumiaji, Batilisha Foleni, Tuma Taarifa, na kadh. Operesheni ina ufikivu kamili kwenye API ya OTRS kufanya kitendo hicho.
Mchochezi ni kitendo ambacho OTRS inafanya dhidi ya Mfumo wa Mbali. Wachochezi wanatumia moduli za kiini cha OTRS kuchakatisha na kukusanya taarifa zote zinazotakiwa kutengeneza maombi. Taarifa zikiwa tayari inabidi ziunganishwe na umbizo la Mfumo wa Mbali ili zitumwe kwenda kwenye Mfumo wa Mbali, hiyo itachakatisha taarifa itatekeleza kitendo na kutuma majibu, ili aidha kuchakatisha mafanikio au kushughulikia makosa.
Kiolesura cha Ujumla kina mtiririko uliofafanuliwa kutekeleza vitendo kama mtoaji na muombaji.
Mtiririko huu unaelezewa hapa chini:
Maombi ya HTTP
OTRS inapokea maombi ya HTTP na kuzipitisha kwenye matabaka.
Moduli ya mtoaji ndiyo ina mamlaka ya kutekeleza na kusimamia vitendo hivi.
Usafirishaji wa Mtandao
Moduli ya usafirishaji wa mtandao inasimbua fiche mzigo wa data na kutofautisha jina la operesheni kutoka kwenye data nyingine.
Jina laoperesheni na data za operesheni zinarudishwa kwa mtumaji.
Data za Nje
Data kama zilivyotumwa kutoka kwenye mfumo wa mbali (hili siyo tabaka linalotegemea moduli).
Kuunganisha
Data inabadilishwa kutoka muundo wa Mfumo wa Nje na kuwa muundo wa mfumo wa ndani wa OTRS kama ilivyobainishwa katika usanidi wa muunganiko wa operesheni hii (Muunganiko wa maombi ya data zinazoingia).
Data ambazo tayari zimebadilishwa zinarudishwa kwa mtoaji.
Data za Ndani
Data kama zilivyobadilishwa na kuandaliwa kupelekwa kwenye operesheni (Hili siyo tabaka la moduli).
Operesheni
Inapokea na kuthidbitisha data.
Inafanya udhibiti ufikivu wa mtumiaji.
Inatekeleza vitendo.
Operesheni
Inarudisha matokeo ya data kwa mtoaji.
Data za Ndani
Data kama zilivyorudishwa kutoka kwenye operesheni.
Kuunganisha
Data inabadilishwa kurudi kuwa ya Mfumo wa nje kama ilivyobainishwa katika usanidi wa muunganiko (Muunganiko wa majibu ya data zinazotoka).
Data ambazo tayari zimebadilishwa zinarudishwa kwa mtoaji.
Data za nje
Data kama ilivyobadilishwa na kuandaliwa kupitishwa kwenye Usafirishaji wa Mtandao kama majibu.
Usafirishaji wa Mtandao
Inapokea data tayari katika umbizo la mfumo wa mbali.
Inatengeneza majibu halali kwa hii aina ya usafirishaji wa mtandao.
Majibu ya HTTP
Majibu yanatumwa kwa mteja wa huduma ya tovuti.
Kama kukiwa na kosa, kosa linatumwa kwa mfumo wa mbali (mf. kosa la SOAP, kosa la HTTP, na kadhalika).
Kishiko Tukio Kichochezi
Kwa kutegemea usanidi wa huduma za mtandao itaamua kama maombi yatakuwa landanifu au solandanifu.
Landanifu
Simu ya moja kwa moja inapigwa kwa Muombaji ili kutengeneza ombi jipya na kulipitisha kwenye matabaka.
Solandanifu
Tengeneza kazi mpya ya Kiolesura cha Ujumla (Muombaji) kwa ajili ya Mratibu wa OTRS (kwa kugawia kazi ya utekelezaji kwa Mratibu, uzoefu wa mtumiaji unaweza kuboreshwa mara dufu, la sivyo muda wote unaohitajika kuandaa maombi na utekelezaji wa mbali utaongezwa kwenye Matukio ya OTRS ambayo yanasababisha maombi hayo).
Katika mzunguko unaofuata mchakato wa Mratibu unasoma kazi mpya na kupiga simu kwa Muombaji ambaye atatengeneza ombi jipya na kulipitisha kwenye matabaka.
Mchochezi
Inapokea data kutoka kwenye kitendo.
Inathibitisha data zilizopokelewa (kama itahitajika).
Inaita moduli ili kusaidia data (kama itahutajika).
Rudisha maombi ya muundo wa data au tuma ishara ya kusitisha mawasiliano kwa muombaji, kusitisha mawasiliano kwa nia njema.
Data za Ndani
Data kama ilivyopitishwa kwa mchochezi (Hii siyo tabaka linalotegemea moduli).
Kuunganisha
Data zinabadilishwa kuwa muundo wa Mfumo wa nje kama ilivyobainishwa katika usanidi wa muunganiko. (Muunganiko wa majibu ya data zinazotoka) .
Data ambayo imekwisha badilishwa inarudishwa kwa muombaji.
Data za Nje
Data kama ilivyobadilishwa na kuandaliwa kwa kutuma kwa mfumo wa mbali.
Usafirishaji wa Mtandao
Inapokea jina la operesheni ya mbali na data ambazo tayari zimekwisha badilishwa umbizo kuwa lile la mfumo wa mbali kutoka kwa muombaji.
Inatengeneneza maombi halali ya usafirishaji wa mtandao.
Inatuma maombi kwa mfumo wa mbali na kusubiri majibu.
Usafirishaji wa mtandao
Inapokea majibu na kusimbua fiche mzigo wa data.
Inarudisha data kwa muombaji.
Data za Nje
Data kama zilivyopokelewa kutoka kwenye Mfumo wa Mbali
Kuunganisha
Data inabadilishwa kutoka kwenye muunda wa Mfumo wa Nje kuwa muundo wa ndani wa OTRS kama ilivyobainishwa kwenye usanidi wa muunganiko wa operesheni hii (Muunganiko wa majibu ya data zinazotoka).
Data ambayo imekwisha badilishwa inarudishwa kwa muombaji.
Data za Ndani
Data kama ilivyobadilishwa na tayari kupitishwa kurudi kwa muombaji.
Mchochezi
Inapokea data zilizorudishwa
Inashughulikia data inayohitajika na mchochezi maalumu (inajumuisha ushughulikiaji wa makosa kama yapo).
Rudisha matokeo ya Mchochezi na data kwa Muombaji.
Mratibu au Anayeshughulika na Matukio
Inapokea data kutoka kwa Muombaji, kwa kesi ya Mratibu hii data inaweza kuwa na taarifa za kurekebisha ratiba hapo hapo au baadaye.
Huduma ya Tovuti ni njia ya mawasiliano kati ya mifumo miwili, katika kesi yetu ni OTRS na Mifumo ya Mbali.
Moyo wa Huduma ya Wavuti ni usanidi wake, ambapo imefafanuliwa vitendo ambavyo huduma ya wavuti inaweza kufanya kwa ndani (Operesheni), vitendo gani maombi ya OTRS inaweza kufanya Mfumo wa Mbali (Wachochezi), jinsi gani data inabadilishwa kutoka mfumo mmoja kwenda mwingine (Kuunganisha), na kupitia itifaki gani mawasiliano yatapita (Usafirishaji)
The Generic Interface is the framework that makes it possible to create Web Services for OTRS in a predefined way, using already made building blocks that are independent from each other and interchangeable.
Kiolesura michoro cha huduma za tovuti ni kifaa kinachoruhusu kutengeneza usanidi wa huduma za tovuti changamano katika kiolesura ambacho ni rahisi kutumika. Inaruhusu ku:
Tengeneza na Kufuta huduma za tovuti.
Kuagiza na Kuhamisha usanidi (katika umbizo la YAML) kwa huduna za tovuti zilizopo.
Ona, rudisha na Hamisha usanidi wa zamani wa huduma za tovuti zilizopo katika skrini ya Historia ya Huduma za Tovuti.
Fuatilia batli zote za mawasiliano kwa kila huduma ya tovuti kwenye skrini ya kueua.
Kiungo cha "Huduma za Tovuti" kwenye skrini kuu ya kiolesura cha Msimaizi (kwenye boksi la Usimamizi wa Mfumo) Inatuongoza kwenye skrini ya mapitio ya huduma za tovuti, ambapo unaweza kusimamia usanidi wa huduma zako za tovuti. Unaweza kuongeza huduma mpya au kubadilisha usanidi kwa zilizopo kutoka kwenye skrini hii.
Kila skrini ya usanidi wa huduma za tovuti katika upande wa juu ina staili ya uabiri njia ya "makombo ya mikate". Huu uabiri unasaidia kujua kwa usahihi tupo upande gani wa usanidi wa huduma za tovuti, na pia inasaidia mtumiaji kurukia upande wowote wa mchakato wa usanidi muda wowote (kitendo hiki hakitahifadhi mabadiliko yoyote).
Kutengeneza huduma mpya ya tovuti bofya kitufe "Ongeza huduma ya tovuti", na utoe taarifa zinazotakiwa.
Kielelezo: Mapitio ya huduma za tovuti.
Sehemu inayohitajika katika upande huu ni "Jina" la huduma ya tovuti ambalo linatakiwa kuwa la kipekee kwenye mfumo na halitakiwi kuachwa wazi. Sehemu nyingine ambazo pia ni muhimu kwa usanidi kama "Kizingiti cha kueua" na "uhalali" lakini hizi sehemu tayari zina chaguo-msingi kwa kila orodha.
Thamani chaguo-msingi la "Eua Kizingiti" ni "Eua". Zikiwa zimesanidiwa kwa mpangilio huu batli zote za mawasiliano zinasajiliwa kwenye hifadhidata. Kila Kizingiti cha kueua kinachofwata kina udhibiti zaidi na kinapuuza batli za mawasiliano ya oda ya chini zaidi ya iliyosetiwa kwenye mfumo.
Kizingiti cha viwango vya kueua (kutoka chini kwenda juu)
Eua
Maelezo
Notisi
Kasoro
Pia inawezekana kufafanua itifaki ya usafirishaji wa mtandao kwa "OTRS kama mtoaji" na "OTRS kama mwombaji".
Bofya kwenye kitufe "Hifadhi" kusajili huduma mpya ya tovuti kwenye hifadhidata au bofya "Katisha" kuchana na operesheni hiyo. Sasa utarudishwa kwenye skrini ya mapitio ya huduma za tovuti.
Kama tayari una faili la usanidi wa huduma za tovuti katika umbizo la YAML unaweza ku bofya kwenye kitufe "Agiza huduma ya tovuti" upande wa kushoto wa skrini. Kwa maelezo zaidi ya uagizaji wa huduma za tovuti tafadhali angalia kifungu kinachofuata "Badiisha Huduma za Tovuti".
Kubadilisha au kuongeza maelezo ya huduma ya tovuti, bofya kwenye jina la huduma ya tovuti kwenye skrini ya mapitio ya huduma za tovuti.
Kielelezo: Ongeza huduma za tovuti.
Katika skrini hii una seti kamili ya fomula saidizi kushughulikia kila kipande cha huduma ya wavuti. Upande wa kushoto katika safuwima ya kitendo unaweza kupata vitufe ambavyo vitakuruhusu kufanya vitendo vyote vinavyowezekana kwenye huduma ya wavuti:
Nakili huduma ya tovuti.
Hamisha huduma ya tovuti
Agiza huduma ya tovuti
Historia ya usanidi
Futa huduma ya tovuti
Anaye eua.
"Historia ya usanidi" na "Anaye eua" itapelekea kwenye skrini tofauti.
Kutengeneza nakala ya huduma ya tovuti, unahitaji ku bofya kitufe cha "Nakili huduma ya tovuti". Maongezi yatatokea ambapo unawea kutumia jina la lililopo au kuseti jina jipya kwa (nakala) ya huduma ya tovuti.
Kumbuka kwamba jina la huduma ya mtandao lazima liwe la kipekee kwenye mfumo.
Bofya kitufe cha "Nakili" kutengeneza nakala ya huduma ya tovuti au "Katisha" kufunga maongezi.
Kielelezo: Nakala ya huduma ya tovuti.
Kitufe cha "Hamisha huduma za tovuti" kinakupa nafasi ya kuweka usanidi wa huduma ya tovuti ya sasa kwenye faili la YAML, kulipakua na kuhifadhi katika mfumo wako wa mafaili. Hii inakuwa na manufaa pale unapotaka kuhamisha huduma za tovuti kutoka seva moja kwenda nyingine, kwa mfano kutoka kwenye mazingira ya kupima kwenda mazingira ya uzalishaji.
Nywila zote zilizohifadhiwa katika usanidi wa huduma ya tovuti zitahamishwa katika umbizo la nakala wazi.
Baada tu ya kubofya kitufe cha "Hamisha huduma ya tovuti" maongezi ya kuhifadhi ya kivinjari yatatokea, kama vile ukibofya kiungo cha kupakua kwenye kurasa za tovuti.
Kila kivinjari katika kila mfumo endeshi kina skrini yake ya kuhifadhi maongezi na aina. Kutegemeana na kivinjari na usanidi inawezekana kwamba hakuna maongezi yanayo onyeshwa na faili linahifadhiwa kwenye mpangilio orodha chaguo-msingi katika mfumo wako wa faili. Tafdhali pitia nyaraka ya kivinjari chako kwa maelekezo zaidi kama inahitajika.
Kielelezo: Hamisha huduma ya tovuti.
Faili halali la YAML la usanidi wa huduma ya tovuti linatakiwa kutumia kipengele cha agiza huduma ya tovuti. Bofya kitufe cha "Agiza huduma ya tovuti", tafuta faili la usanidi au toa njia kamili kwenye boksi la maingizo.
Bofya kitufe "Agiza" kutengeneza huduma mpya ya tovuti kutoka kwenye faili au "Katisha" kufunga maongezi.
Jina la huduma ya tovuti litachukuliwa kutoka kwenye jina la faili la usanidi (mf. kama jina la faili ni HudumaTovutiYangu.yml hivyo basi huduma ya tovuti itaitwa HudumaTovutiYangu). Kama kuna huduma ya tovuti iliyosajiliwa kwenye mfumo kwa jina sawa na unayotaka kuagiza, mfumo utakupeleka kwenye skrini ya kubadilisha huduma ya tovuti ili kukuwezesha kubadilisha jina la huduma ya tovuti uliyoagiza.
Kelelezo: Agiza huduma za tovuti.
Kila mabadiliko ya usanidi wa huduma ya tovuti inatengeneza ingizo jipya kwenye historia ya huduma ya tovuti (kama jarida). Skrini ya historia ya huduma ya tovuti inaonyesha orodha ya matoleo yote ya usanidi wa huduma ya tovuti. Kila safu mlalo (toleo) kwenye "Orodha ya Historia ya Usanidi" inawakilisha mojawapo ya marekebisho kwenye historia ya huduma ya tovuti.
Bofya kwenye moja ya safu mlalo kuonyesha usanidi mzima kama ulivyo kwa tarehe / muda huo. Usanidi utaonyeshwa kwenye sehemu "Undani wa Historia" ya skrini. Hapa pia unaweza kuhamisha toleo la usanidi wa huduma ya tovuti au kurejesha hilo toleo kwenye usanidi uliopo wa huduma za tovuti.
Kipengele "Hamisha usanidi wa huduma ya tovuti" kina tabia sawa na "Hamisha huduma ya tovuti" kwenye skrini ya kubadilisha huduma ya tovuti. Kwa maelezo zaidi nenda kwenye hiyo sehemu.
Kama mabadiliko kwenye usanidi wa huduma ya tovuti iliyopo hayafanyi kazi kama ilivyotegemewa na sio rahisi kurudisha hali kabla ya mabadiliko, bofya kitufe "Rudisha usanidi wa huduma ya tovuti". Hii itafungua maongezi yatakayokuuliza kama una uhakika unataka kurudisha usanidi wa huduma ya tovuti. Bofya "Rudisha usanidi wa huduma ya tovuti" kwenye haya maongezi kubadili usanidi uliopo na toleo lililochaguliwa, au bofya "Katisha" kufunga maongezi.
Kumbuka kwamba nywila zote zilizohofadhiwa katika usanidi wa huduma ya tovuti zita hamishwa katika umbizo la nakala wazi.
Tafadhali kuwa makini wakati unarudisha usanidi kwani huu mchakato haubadiliki.
Kielelezo: Historia ya huduma ya tovuti.
Wakati mwingine ni lazima kufuta huduma ya tovuti kabisa. Kufanya hivi unabonyeza kitufe "Futa huduma ya tovuti" na maongezi mapya yatatokea kukuuliza uthibitisho.
Bofya "Futa" kuthibitisha uondoaji wa huduma ya tovuti au "Katisha" kufunga maongezi.
Kufuta huduma ya tovuti hakubadiliki, tafadhali kuwa makini wakati wa kufuta huduma ya tovuti.
Kielelezo: Futa huduma ya tovuti.
Anaye eua anahifadhi batli ya huduma ya tovuti. Katika skrini ya kueua unaweza kufwatilia mawasiliano yote ya huduma za tovuti kwa aidha aina za mtoaji au muombaji.
Hii skrini ikionyeshwa orodha ya maombi inaanza kupakuliwa. Baada ya orodha kujaa unaweza kuchagua moja ya safu mlalo (hii ina maana mlolongo wa mawasiliano) kukagua undani wake. Maelezo haya yatatokea kwenye boksi chini.
Unaweza kupunguza orodha ya mawasiliano kwa kutumia kichujio upande wa kulia wa skrini. Unaweza kuchuja na:
Aina ya mawasiliano (mtoaji au mpokeaji)
Tarehe: kabla na / au baada tarehe fulani
Anuani ya IP ya mbali
Mjumuisho wa yote.
Baada ya mpangilio wa kichujio kusetiwa, bonyeza kitufe cha "Onyesha Upya" na orodha mpya itaonyeshwa inayofikia vigezo vya utafutaji wako.
Kutegemea na vigezo vya utafutaji kwa vichujio orodha mpya inaweza isitoe matokeo yoyote.
Upande wa kushoto wa skrini chini ya safuwima ya kitendo unaweza kuchagua "Rudi nyuma kwenye huduma ya tovuti" au futa batli ya anaye eua kwa kubonyeza kitufe "Futa". Hii itafungua maongezi yanayo kuuliza kuthibitisha kufuta batli. Bofya "Futa" katika kitufe cha maongezi kufanya kitendo au bofya "Sitisha" kufunga maongezi.
Kwenye sehemu ya "Undani wa maombi" unaweza kuona maelezo yote ya mawasiliano yaliyochaguliwa. Hapa unaweza kufuatilia mtiririko mzima na kukagua kasoro zozote au kuthibitisha mafanikio ya majibu.
Kielelezo: Kieuaji cha huduma ya tovuti.
Tukirudi kwenye skrini ya kubadilisha huduma ya tovuti, sasa tutafanya mapitio ya upande wake wa kulia. Hapa tuna uwezo wa kubadili data zote za ujumla za huduma ya tovuti kama jina, maelezo, kizingiti cha kueua, na kadhalika. Pia kuna sehemu nyingine mbili chini zinazoturuhusu kubadili parameta maalumu za aina za mawasilinao "OTRS kama Mtoaji" na "OTRS kama Muombaji".
Usanidi wa huduma ya tovuti unahitaji kuhifadhiwa katika kila hatua. Hii inamaanisha kama mpangilio umebadilishwa, viungo vya kwenda kwa sehemu nyingine za ndani za usanidi vitalemazwa kukulazimisha wewe kuhifadhi usanidi wa ngazi uliyopo. Baada ya kuhifadhi viungo vilivyo lemazwa vitawezeshwa tena kukuwezesha kuendelea na usanidi.
Katika kifungu "OTRS kama mtoaji" inawezekana kuseti au kusanidi itifaki ya usafirishaji wa mtandao. Mazingira ya nyuma ya usafirishaji mtandao yaliyosajiliwa tu ndiyo yanaonyeshwa kwenye orodha. Kusanidi usafirishaji wa mtandao bofya kwenye kifufe cha "Sanidi". Pia inawezekana kuongeza operesheni mpya katika boksi hili. Kufanya hivi chagua moja ya operesheni zilizopo kutoka kwenye orodha "Ongeza Operesheni". Hii itakupeleka kwenye skrini ya kusanidi operesheni. Baada ya kuhifadhi operesheni mpya itaorodheshwa kwenye jedwali juu.
"OTRS kama muombaji" ni sawa na iliyopita, lakini badala ya "operesheni" unaweza kuongeza wachochezi hapa.
Bofya kitufe "Hifadhi" kuhifadhi na kuendelea na usanidi wa huduma za tovuti, "Hifadhi na maliza" kuhifadhi na kurudi kwenye skrini ya mapitio ya huduma za tovuti, au "Sitisha" kupuuza mabadiliko ya ngazi za usanidi wa sasa na kurudi kwenye skrini ya mapitio ya huduma za tovuti.
Kielelezo: Badilisha huduma ya tovuti.
Kama skrini nyingine za ujumla za Kiolesura cha usanidi kwa mfano Usafirishaji wa Mtandao, Operesheni, Mchochezi na Muunganiko, skrini ya usanidi (ongeza) wa awali itaonyesha machaguo mawili: "Hifadhi" na "Sitisha". Usanidi ukirudiwa, chaguo jipya "Hifadhi na Maliza" litaonekana. Tabia ya kipengele hiki imafafanuliwa chini.
"Hifadhi" itahifadhi usanidi wa ngazi uliyopo kwa sasa kwenye hifadhidata na itarudi kwenye skrini iliyopita kufanya mapitio ya mabadiliko uliyofanya au kufanya usanidi wa mipangilio ya ndani.
"Hifadhi na Maliza" itahifadhi usanidi wa ngazi uliyopo kwa sasa kwenye hifadhidata na itarudi kwenye skrini iliyopita kwenye mfumo wa viwango wa usanidi (kwa ngazi ya juu inayofuata ya usanidi)
"Katisha" itapuuza mabadiliko yoyote ya usanidi kwa ngazi uliyopo na itarudi kwenye skrini iliyopita kwenye mfumo wa viwango wa usanidi.
In future the list of available network transports will be increased. Currently only "HTTP::SOAP" and "HTTP::REST" transports are available. Each transport has different configuration options to setup and they might use different frontend modules to configure them,
Ni rahisi kusanidi itifaki "HTTP::SOAP" kama mtoaji. Kuna mipangilio miwili tu: "Nafasiyajina" na "Upeo wajuu wa urefu wa ujumbe". Hizi sehemu zinahitajika. Ya kwanza ni URI kuzipa njia za SOAP maudhui, kupunguza utata, na ya pili ni sehemu ambayo unaweza kuweka bayana ukomo wa juu wa ukubwa (katina baiti) kwa ujumbe wa SOAP ambao OTRS itachakatisha.
Figure: Web service provider network transport HTTP::SOAP.
For "HTTP::REST" the configuration might be a bit more complicated, as it grows dynamically for each configured operation by adding: "Route mapping for Operation '<OperationName>':" and "Valid request methods for Operation '<OperationName>':" settings to the default transport settings "Maximum message length:" and "Send Keep-Alive:"
Route mapping for Operation '<OperationName>':
In this setting a resource path is set. This path must be defined according to the needs of the web service considering that the path in conjunction with the HTTP request method determines the Generic Interface operation to be executed.
Path can contain variables in the form of ':<VariableName>' each path string that fits on the position of the variable name will be added to the request payload using the variable name defined in this setting.
Mifano:
Route mapping: /Resource
Valid requests:
http://localhost/otrs/nph-genericinterface.pl/Webservice/Test/Resource
http://localhost/otrs/nph-genericinterface.pl/Webservice/Test/Resource?Param1=One
Invalid requests:
http://localhost/otrs/nph-genericinterface.pl/Webservice/Test/Resource/
http://localhost/otrs/nph-genericinterface.pl/Webservice/Test/Resource/OtherResource
http://localhost/otrs/nph-genericinterface.pl/Webservice/Test/Resource/OtherResource?Param1=One
Route mapping: /Resource/:ID
Valid requests:
http://localhost/otrs/nph-genericinterface.pl/Webservice/Test/Resource/1
http://localhost/otrs/nph-genericinterface.pl/Webservice/Test/Resource/1?Param1=One
In both cases ID = 1 will be sent to the operation as part of the payload. In the second case also Param1 = One will be added, depending on the HTTP request method other parameters will be added if they come as a JSON string in the request header.
Invalid requests:
http://localhost/otrs/nph-genericinterface.pl/Webservice/Test/Resource
http://localhost/otrs/nph-genericinterface.pl/Webservice/Test/Resource?Param1=One
Route mapping: /Resource/OtherResource/:ID/:Color
Valid requests:
http://localhost/otrs/nph-genericinterface.pl/Webservice/Test/Resource/OtherResource/1/Red
http://localhost/otrs/nph-genericinterface.pl/Webservice/Test/Resource/OtherReosurce/123/Blue?Param1=One
In the first example ID = 1 and Color = Red, while in the second ID = 123 and Color = Blue.
Invalid requests:
http://localhost/otrs/nph-genericinterface.pl/Webservice/Test/Resource/1
http://localhost/otrs/nph-genericinterface.pl/Webservice/Test/Resource/OtherResource/1
http://localhost/otrs/nph-genericinterface.pl/Webservice/Test/Resource/OtherResource/1?Param1=One
In the first example the part of the path '/OtherResource' is missing as well as the :Color variable, on the second example just :Color variable is missing.
Valid request methods for Operation '<OperationName>':
The HTTP request methods to determine the operation to use together with the route mapping, possible options: CONNECT, DELETE, GET, HEAD, OPTIONS, PATCH, POST, PUT and TRACE.
Totally different operations can share exactly the same mapping path, but the request method must be unique for each operation, in order to determine correctly the operation to use on each request.
Figure: Web service provider network transport HTTP::REST.
The actions that can be performed when you are using OTRS as a provider are called "Operations". Each operation belongs to a controller. Controllers are collections of operations or invokers, normally operations from the same controller need similar settings and share the same configuration dialog. But each operation can have independent configuration dialogs if needed.
Name, Description, Backend, and Mappings are fields that normally appear on every operation, other special fields can appear in non default configuration dialogs to fulfill specific needs of the operation.
Kawaida kuna sehemu mbili za usanidi wa miunganiko katika kila operesheni, moja kwa data zinazoingia nyingine kwa data zinazotoka. Unaweza kuchagua aina nyingi za miunganiko (mazingira ya nyuma) kwa kila mwelekeo wa muunganiko, kwa kuwa usanidi wake ni huru kutoka kwa mwingine na pia kutoka kwa mazingira ya nyuma ya operesheni. Zoezi la kwaida na linalofaamika ni operesheni kutumia aina sawa ya miunganiko katika kesi zote mbili (na usanidi uliogeuzwa). Usanidi kamili wa muunganiko unafanyika katika skrini tofauti ambayo inategemea na aina ya muunganiko.
Mazingira ya nyuma ya operesheni yamejazwa tayari na haiwezekani kuhariri. Utaona parameta hii ukichagua operesheni katika skrini ya kuhariri huduma ya wavuti. Sehemu hiyo inatoa taarifa.
In the left part of the screen on the action column you have the options: "Go back to web service" (discarding all changes since the last save) and "Delete". If you click on the last one, a dialog will open and ask you if you like to remove the operation. Click on "Delete" button to confirm the removal of the operation and it configuration or "Cancel" to close the delete dialog.
Kielelezo: Operesheni ya huduma ya tovuti.
Usanidi wa usafirishaji mtandao wa muombaji ni sawa na usanidi wa mtoaji. Kwa Muombaji usafirishaji mtandao wa "HTTP::SOAP" kuna sehemu nyingi zaidi kusetiwa.
Kuachana na "Pointiyamwisho" (URI ya kiolesura cha huduma ya tovuti ya Mfumo wa Mbali kukubali maombi) na "Jinanafasi" ambazo ndiyo sehemu zinazotakiwa, unaweza pia kubainisha:
Usimbaji (kama utf-8, latin1, iso-8859-1, cp1250, na kdhalika) kwa ajili ya ujumbe wa SOAP.
SOAPAction Header: you can use this to send an empty or filled SOAPAction header. Set to "No" and the SOAPAction header on the SOAP message will be an empty string, or set to "Yes" to send the soap action in Namespace#Action format and define the separator (typically "/" for .Net web services and "#" for the rest).
Uthibitisho: kuseti utaratibu wa uthibitisho, seti kuwa "-" ili kutokutumia uthibitisho wowote au chagua moja kutoka kwenye orodha na sehemu za undani zitatokea.
Currently only the "BasicAuth" (HTTP) authentication mechanism is implemented. You can decide whether or not to use it depending on the Remote System configuration. If used, you must provide the User Name and the Password to access the remote system.
Ukitoa nywila kwa ajili ya uthibitisho na baada ya kutuma huduma ya mtandao kwenda kwenye faili la YAML hii nywila itaonyeshwa na kuandikwa kwenye tungo ya nakala wazi ndani ya faili la YAML. Kuwa makini nayo na chukua tahadhari kama ikihitajika.
Figure: Web service requester network transport (HTTP::SOAP).
In the case of HTTP::Rest, this configuration also grows dynamically depending on the configured invokers by adding "Controller mapping for Invoker '<InvokerName>':" and "Valid request command for Invoker '<InvokerName>':" for each invoke. Authentication and SSL options are similar to the ones in HTTP::SOAP
Mwenyeji
The host name or IP Address and port of the remote system, if no port is specified, port 80 is used by default.
Controller mapping for Invoker '<InvokerName>':
In this setting a resource path is set. This path must be defined according to the needs of the remote web service and following its definition.
Path can contain variables in the form of ':<VariableName>' for each variable name that matches the current data (to be sent), will be replaced by the corresponding data value. This matched variable names and values will be remove from the current data. Depending on the HTTP request command the remaining data could be sent as a JSON string in the request body or as query parameters within the URI.
Mifano:
For data: Var1 = One, Var2 = Two, Var3 = Three and Var4 = Four.
Controller mapping: /Resource
After Replacements:
/Resource
Remaining Data:
Var1 = One, Var2 = Two, Var3 = Three and Var4 = Four
Controller mapping: /Resource/:Var1
After Replacements:
/Resource/One
Remaining Data:
Var2 = Two, Var3 = Three and Var4 = Four
Controller mapping: /Resource/:Var1?Param1=:Var2&Var3=:Var3
After Replacements:
/Resource/One?Param1=Two&Var3=Three
Remaining Data:
Var4 = Four
Valid request command for Invoker '<InvokerName>':
This determine the HTTP request method to use, possible options: CONNECT, DELETE, GET, HEAD, OPTIONS, PATCH, POST, PUT and TRACE. If no command is selected, Default command is used.
Sharti chaguo-msingi
Used as a fall-back for all Invokers with out a defined request command
Figure: Web service provider network transport HTTP::REST.
The actions that can be performed when you are using OTRS as a requester are called "Invokers". Each invoker belongs to a controller (controllers are collections of operations or invokers). Usually invokers from the same controller need similar settings and share the same configuration dialogs. Each invoker can have independent configuration dialogs if needed.
Name, Description, Backend, and Mappings are fields that normally appear on every invoker. Additionally the list of event triggers and other special fields can appear on non default configuration dialogs to fulfill special needs of the invoker.
Kwa kawaida kuna sehemu mbili za usanidi wa muunganiko kwa kila mchochezi, moja kwa data zinazoingia na nyingine kwa data zinazotoka. Unaweza kuchagua aina tofauti za miunganiko (mazingira ya nyuma) kwa kila mwelekeo, kwa kuwa usanidi wake ni huru kutoka kwa nyenzake na huru kutoka mazingira ya nyuma ya mchochezi. Zoezi la kawaida na linalofahamika ni mchochezi kutumia aina moja ya muunganiko kwa kesi zote mbili, na usanidi uliogeuzwa. Usanidi kamili wa miunganiko unafanywa kwenye skrini tofauti, ambayo inategemea aina ya muunganiko.
Mazingira ya nyuma ya mchochezi yamejazwa tayari na haiwezekani kuhariri. Utaona parameta hii ukichagua mchochezi katika skrini ya kuhariri huduma ya wavuti. Sehemu hiyo inatoa taarifa.
Event triggers are events within OTRS such as "TicketCreate", "ArticleSend", etc. These can act as triggers to execute the invoker. Each invoker needs to have at least one event trigger registered, or the invoker will be useless, because it will never be called. The asynchronous property of the event triggers define if the OTRS process will handle the invoker or if it will be delegated to the OTRS Scheduler.
The OTRS Scheduler is a separate process that executes tasks in the background. Using this the OTRS process itself will not be affected if the Remote System takes a long time to respond, if it is not available or if there are network problems. If you don't use the scheduler using web services can make OTRS slow or non-responsive. Therefore it is highly recommend to use asynchronous event triggers as often as possible.
Kuongeza kichochezi cha tukio, kwanza chagua familia ya tukio kutoka kwenye orodha ya kwanza, kisha jina la tukio katika orodha ya pili, kisha seti sifa solandanifu (kama haijatikiwa ina maanisha kichochezi cha tukio kitakuwa sio solandanifu) na mwisho bofya kitufe cha kujumlisha. Kichochezi kipya cha matukio kitakuwa kimetengenezwa na kiawekwa kwenye orodha ya wachochezi "Vichochezi vya Matukio".
To delete an Event trigger, simply locate the event trigger to be deleted in the "Event Triggers" list and click on the trash icon at the end of the row. This will open a dialog that asks you if you are sure to delete the event trigger. Click "Delete" to remove the event trigger from the list, or "Cancel" to close the dialog.
Kwenye upande wa kushoto wa skrini katika safuwima ya vitendo una machaguo: "Rudi nyuma kwenye huduma za wavuti" (puuza maadiliko yote kuanzia uhifadhi wa mwisho) na "Futa". Kama ukibofya kitufe cha mwisho maongezi yatatokea na kukuuliza kama ungependa kuondoa mchochezi. Bofya kitufe cha "Futa" kuthibitisha uondoaji wa mchochezi na usanidi wake au "Sitisha" kufunga maongezi.
Kielelezo: Mchochezi wa huduma ya wavuti.
There are cases where you need to transform the data from one format to another (map or change data structure), because normally a web service is used to interact with a Remote System, that is highly probable that is not another OTRS system and / or could not understand the OTRS data structures and values. In these cases some or all values have to be changed, and sometimes even the names of the values (keys) or even the complete structure, in order to match with the expected data on the other end. To accomplish this task the Generic Interface Mapping Layer exists.
Kila Mfumo wa Mbali una muundo wake wa data na inawezekana kutengeneza moduli mpya za muunganiko kwa kila kesi (mf. kuna moduli ya muunganiko maalumu kwa SAP Meneja Usuluhishi inayosafirishwa na OTRS), lakini sio ya lazima. Muunganiko wa moduli::Rahisi inatakiwa kukidhi mahitaji mengi ya muunganiko.
Wakati Muunganiko::Rahisi haukidhi mahitaji yote ya muunganiko kwa huduma ya wavuti, moduli mpya ya muunganiko inatakiwa itengenezwe. Kujifunza zaidi kuhusu kutengeneza moduli mpya ya muunganiko tafadhali pitia Mwongozo wa Maendeleo wa OTRS.
Hii moduli inakupa nafasi ya kuseti thamani chaguo-msingi za kuunganisha kwa kila ufunguo au thamani kwa mawasiliano yote ya data.
Mwanzo wa skrini utaona kifungu cha kawaida ambapo unaweza kuseti sheria chaguo-msingi ambazo zitafanya kazi kwa funguo na thamani zote ambazo hazijaunganishwa. Kuna machaguo matatu yanayopatikana, haya machaguo yameorodheshwa chini:
Weka (acha bila kubadilisha): haigusi funguo au thamani kwa njia yoyote.
Puuza (dondosha jozi ya ufunguo/thamani): hii ikitumika katika ufunguo inafuta ufunguo na thamani, kwa sababu ufunguo ukifutwa pia na thamani yake husika inafutwa pia. Hii ikitumika kwa hii thamani, thamani tu ndiyo inafutwa, kuacha ufunguo, hiyo sasa itahusishwa na ufunguo ulio tupu.
UnganishaKwenda (tumia ufunguo uliotolewa au thamani kama chaguo-msingi): funguo zote na / au thamani bila sheria ya miunganiko, zitatumia hii kama chaguo-msingi, ukichagua hili chaguo sehemu mpya ya nakala itatokea kuweka hii kama chaguo-msingi.
Kubofya kwenye kitufe "+" kwa ufunguo mpya wa muunganiko, itaonyesha boksi jipya kwa usanidi wa muunganiko mmoja. Unaweza kuongeza funguo nyingi za muunganiko kadri ya mahitaji yako. Bonyeza tena kwenye kitufe "+" na boksi jipya la muunganiko litaonekana chini ya lililokuwepo. Kutoka kwenye haya maboksi ya muunganiko unaweza kufafanua muunganiko wa ufunguo mmoja, na machaguo yanayofwata:
Thamni halisi(moja au nyingi): tungo ya ufunguo wa zamani itabadilishwa kuwa mpya kama ufunguo wa zamani utafanania kabisa.
Usemi wa kawaida: Tungo ya ufunguo itawekwa upya baada ya sheria ya usemi wa kawaida.
Kubonyeza kitufe cha thamani mpya ya kuunganisha "+" itaonyesha safu mlalo mpya kwa ajili ya thamani ya kuunganisha. Hapa inawezekana pia kufafanua sheria kwa kila thamani ya kuunganishwa ikiwa na machaguo yale yale kama ya ramani ya ufunguo (Thamani halisi na Usemi wa kawaida). Unaweza kuongeza thamani nyingi kwenye muunganiko kama inavyohitajika, na kama unataka kufuta moja wapo, bonyeza tu kwenye kitufe "-" kwa kila safu mlalo ya muunganiko.
Kufuta kifungu (boksi) muunganiko kamili wa ufunguo inawezekana, bonyeza tu katika kitufe "-" kilicho kwenye upande wa juu kulia wa kila boksi unalotaka kufuta.
Kama unahitaji kufuta kikamilifu usanidi wa muunganiko: rudi nyuma katika operesheni husika au skrini ya mchochezi, angalia mwelekeo wa muunganiko unaouchagua kabla na seti thamani yake kuwa "-", na hifadhi usanidi kufanya mabadiliko.
Kielelezo: Muunganiko wa huduma za wavuti.
Kiolesura cha Tungo Amri (CLI) ni njia ya haraka ya kufanya kazi na huduma za tovuti. Ina seti ya vifaa ambavyo vinaweza kutumika kufanya kazi za msingi kama:
Tengeneza, Sasisha, Soma, Orodhesha na Futa huduma za tovuti zenye msingi wa mafaili ya YAML.
Soma batli ya anaye eua, na machaguo ya kuchuja.
Huitaji kutumia CLI kufanya kazi na huduma za wavuti. Katika kiolesura cha Msimamizi kuna seti za skrini zilizounganishwa kwa ajili ya kuwasiliana na kila upande wa huduma za tovuti. Tafadhali soma GUI ya huduma za tovuti iliyojumuishwa kwenye mwongozo huu.
"WebserviceConfig.pl" ilitengenezwa ili kutengeneza kifaa cha msingi, lakini kirahisi na chenye nguvu cha kufanya kazi na usanidi wa huduma za tovuti. Inakupa uwezo wa kufanya vitendo vifuatavyo:
Ongeza: kutengeneza huduma za tovuti kwa kutumia faili la YAML kama chanzo cha usanidi.
Sasisha: kubadilisha huduma ya tovuti iliyopo, usanidi unaweza kubadilishwa kwa kutumia faili la YAML tofauti au lililoboreshwa.
Soma: kupata usanidi wa huduma ya tovuti iliyopo kuonyeshwa kwenye skrini.
Orodha: kupata orodha nzima ya huduma za tovuti zilizosajiliwa kwenye mfumo.
Futa: kufuta huduma ya tovuti kutoka kwenye mfumo. Kuwa makini ukiitumia, kwa sababu kitendo hiki hakiwezi kubadilishwa.
Operesheni ya huduma ya tovuti ya SOMA itaonyesha usanidi wote kama nakala wazi kwenye skrini, ikijumuisha nywila zilizohifadhiwa. Tafadhali kuwa macho na hili na chukua tahadhari.
Mfano: Kutengeneza usanidi mpya wa huduma ya mtandao:
shell> OTRS_HOME/bin/otrs.WebserviceConfig.pl -a write -n <webservice_name> -f /path/to/yaml/file
Pia unaweza kutumia 'otrs.WebserviceConfig.pl' na machaguo yafuatayo:
-a read -i <webservice_id> - Kusoma usanidi uliohifadhiwa.
-a write -n <webservice_name> -f /path/to/yaml/file - Kutengeneza huduma mpya ya tovuti.
-a write -i <webservice_id> -f /path/to/yaml/file - Kusasisha huduma ya tovuti.
-a list - Kuorodhesha huduma za tovuti zinazopatikana.
-a delete -i <webservice_id> - Kufuta huduma ya tovuti.
Kifaa kingine kinachopatikana kupitia kiolesura cha tungo amri ni hati ya "otrs.GenericInterfaceDebugRead.pl", ambacho ni kiolesura cha kutafuta mweuaji wa maingizo ya batli ya huduma ya tovuti.
Mfano: Kutafuta maingizo ya batli za anaye eua:
shell> bin/otrs.GenericInterfaceDebugRead.pl
Parameta za hiari zinaweza kutumika kwa ajili ya hati ya "otrs.GenericInterfaceDebugRead.pl":
-c - kuchuja Mawasiliano kwa Kitambulisho (muundo wa md5sum).
-t - kuchuja kwa MawasilianoAina ('Mtoaji' or 'Muombaji').
-a - kuchuja kwa tarehe (Katika au Baada ya tarehe).
-b - kuchuja kwa tarehe (Katika au Kabla ya tarehe).
-i - kuchuja kwa anwani ya IP (lazima iwe anwani halisi ya IPV4 au IPV6).
-w - kuchuja kwa Kitambulisho cha Huduma ya Tovuti.
-d - kujumuisha data za mawasiliano kwa undani.
Mfano: Kutafuta maingizo ya anaye eua kwa kutumia parameta zote:
shell> ./otrs.GenericInterfaceDebugRead.pl -c a7cc4d9f5c70387a9bfbe1351bc88966 -t Provider -a '2011-07-22 00:00:00' -b '2011-07-26 00:00:00' -i 127.0.0.1 -w 123 -d 1
Inashauriwa sana kujumuisha japo moja ya machaguo ya kuchuja yaliyoorodheshwa juu, na zaidi kama chaguo "-d" limechaguliwa, kwa sababu taarifa nyingi zinaweza kupatikana kutoka kwenye hifadhidata na kuonyeshwa kwenye skrini, hii inaweza kupelekea muda wa majibu kuongezeka na taarifa zaidi ya zile unazohitaji.
Kutoka kwenye usanifu wake huduma za tovuti zilionekana kuweza kutumika kutoa mfumo mmoja wa OTRS kwenda mwingine, mf. kutoka kwenye mazingira ya majaribio au usanifu kwenda kwenye mazingira ya uzalishaji. Kwa hiyo ilihitajika kuwa na njia rahisi ya kupata usanidi wa huduma za tovuti kutoka kwenye hifadhidata, na kuhamishia kwenye nyingine. Kufanikisha kazi hii Kiolesura cha Ujumla kinatumia mafaili ya YAML kama msingi wa usanidi wa huduma za tovuti.
Kwanini YAML? YAML ni lugha ya dhulisho mabadiliko iliyoundwa kuwa rafiki kwa binadamu kuandika na kusoma (ni rahisi kuelewa zaidi ya JSON) , haina baadhi ya vikwazo vya XML kama lebo za tarakimu, ni wazi, ya kawaida, na ni kamili zaidi kuhifadhi usanidi mzima wa huduma ya tovuti.
Kujifunza zaidi kuhusu YAML tafadhali tembelea http://www.yaml.org/.
ufuatao ni mfano wa usanidi wa huduma ya tovuti katika muundo wa YAML:
--- Debugger: DebugThreshold: debug Description: This an example of a web service configuration Provider: Operation: CloseIncident: Description: This is a test operation MappingInbound: {} MappingOutbound: {} RemoteSystemGuid: '' Type: Test::Test Test: Description: This is a test operation MappingInbound: Config: KeyMapDefault: MapTo: '' MapType: Keep KeyMapExact: Prio: Priority ValueMap: Priority: ValueMapExact: Critical: 5 Very High Information: 1 Very Low Warning: 3 Normal ValueMapDefault: MapTo: 3 Normal MapType: MapTo Type: Simple MappingOutbound: Config: KeyMapDefault: MapTo: '' MapType: Ignore KeyMapExact: Priority: Prio ValueMap: Prio: ValueMapExact: 1 Very Low: Information 3 Normal: Warning 5 Very High: Critical ValueMapDefault: MapTo: '' MapType: Ignore Type: Simple Type: Test::Test Transport: Config: MaxLength: 10000000 NameSpace: http://www.example.com/actions Type: HTTP::SOAP RemoteSystem: remote.system.description.example.com Requester: Invoker: Test: Description: This is a test invoker Events: - Asynchronous: 1 Event: TicketCreate - Asynchronous: 0 Event: ArticleUpdate MappingInbound: Type: Simple MappingOutbound: Type: Simple Type: Test::Test Transport: Config: Authentication: Password: '*******' Type: BasicAuth User: otrs Encoding: utf-8 Endpoint: http://www.example.com:8080/endpoint NameSpace: http://www.example.com/actions SOAPAction: Yes SOAPActionSeparator: '#' Type: HTTP::SOAP
Maelezo: nakala fupi inayoelezea huduma ya tovuti.
MfumoMbali: maelezo mafupi ya Mfumo wa Mbali.
Anaye eua: chombo cha mipangilio ya anaye eua.
Mtoaji: chombo cha mipangilio ya mtoaji.
Muombaji: chombo cha mipangilio ya muombaji.
EuaKizingiti: Ngazi ya anaye eua
Thamani ziwezekanazo
eua: batli zote zinahifadhiwa kwenye hifadhidata.
Taarifa: batli za tabaka la taarifa, notisi na kasoro ndio zinahifadhiwa katika hifadhidata.
notisi: batli za tabaka la notisi na makosa ndio zinahifadhiwa kwenye hifadhidata.
kosa: batli za tabaka la makosa tu ndio zinahifadhiwa kwenye hifadhidata.
Operesheni: chombo kwa kila mipangilio ya operesheni.
Usafirishaji: chombo cha mipangilio ya mtoaji usafiri wa mtandao.
<OperesheniJina>: Jina la kipekee kwa operesheni, chombo cha mipangilio yake ya operesheni (nambari ya elementi 0..n, haitakiwi kujirudia).
Hiki kifungu kinajikita katika operesheni kutoka aina "Test::Test" operesheni nyingine zinaweza kuwa na zaidi au mipangilio mingine.
Maelezo: nakala fupi inayoelezea operesheni.
KuunganishaZinazoingia: chombo cha kuunganisha mipangilio ya data za maombi yanayoingia.
KuunganishaZinazotoka: chombo cha kuunganisha mipangilio ya data za majibu yanayotoka.
Aina: mazingira ya nyuma ya operesheni, katika Mdhibiti::Umbizo la operesheni.
Kifungu hiki kinajikita katika miunganiko ya aina "Rahisi". Miunganiko mingine inaweza kuwa na mipangilio zaidi au tofauti.
Usanidi: chombo cha kuunganisha mipangilio hii.
Aina: kuunganisha mazingira ya nyuma.
UfunguoUnganishaChaguo-msingi: chombo cha mipangilio yote ya funguo isiyounganishwa.
ThamaniUnganishaChaguo-msingi: chombo cha mipangilio ya thamani zote zisizounganishwa.
FunguoUnganishaHalisi: chombo cha miunganiko yote halisi ya funguo (nambari ya elementi 0 .. 1)
UfunguoUnganishaRegEx: chombo cha miunganiko yote ya semi za kawaida za ufunguo (nambari ya elementi 0 .. 1).
ThamaniUnganisha: chombo cha miunganiko yote ya thamani (nambari ya elementi 0 .. 1).
UnganishaKwa: thamani mpya ya kutumika (inatumika pale tu UnganishaAina imesetiwa kuwa UnganishaKwa).
AinaRamani: sheria kwa ajili ya kuunganisha.
Thamani ziwezekanazo
Weka: acha bila kubadilisha.
Puuza: dondosha.
UnganishaKwa: badilisha kwenda kwenye thamani UnganishaKwa.
<funguoyazamani>: <funguompya> (nambari ya elementi 0 .. n haitakiwi kujirudia).
<ufunguozamani(RegEx)>: <ufunguompya> ( nambari ya elementi 0 .. n lakini hakuna kujirudia).
<ufunguompya>: chombo cha miunganiko ya thamani kwa hii funguo mpya (nambari ya elementi inategemeana na funguo mpya kutoka UfunguoUnganishaHalisi na UfunguoUnganishaRegEx).
ThamaniUnganishaHalisi: chombo cha miungamiko yote halisi (nambari ya elementi 0 .. 1).
ThamaniUnganishaRegEx: chombo cha uunganishaji wa thamani zote za semi za kawaida (nambari ya elementi 0 .. 1).
<thamaniyazamani>: <thamanimpya> ( nambari ya elementi 0 .. n haitakiwi kujirudia).
Hiki kifungu kimejikita kwenye usafirishaji mtandao wa HTTP::SOAP wa mtoaji, usafirishaji mwingine unaweza kuwa na mipangilio tofauti au zaidi.
Config: chombo cha mipangilio yote maalumu ya usanidi wa usafirishaji wa mtandao.
Aina: mazingira ya nyuma ya mtoaji wa usafirishaji wa mtandao.
Mchochezi: chombo cha mipangilio ya kila mchochezi.
Usafirishaji: chombo cha mipangilio ya muombaji wa usafiri wa mtandao.
<MchocheziJina>: Jina la kipekee la mchochezi, chombo cha mipangilio yake ya mchochezi (nambari ya elementi 0..n, haitakiwi kujirudia).
Hiki kifungu kinatokana na wachochezi wa aina "Jaribio::Jaribio" wachochezi wengine wanaweza kuwa na mipangilio tofauti.
Maelezo: nakala fupi inayoelezea mchochezi
Matukio: chombo cha mipangilio ya vichochezi vya matukio visivyo na majina.
KuunganishaZinazoingia: chombo cha kuunganisha mipangilio ya majibu ya data zinazoingia.
KuunganishaZinazotoka: chombo cha kuunganisha mipangilio ya data za maombi yanayotoka.
Aina: mazingira ya nyuma ya mchochezi, katika Mdhibiti::Umbizo la mchochezi.
Orodhesha Elementi: (nambari ya elementi 0 .. n)
Solandanifu: inaseti kama mchochezi ataachwa kuwa jukumu la Mratibu
Thamani ziwezekanazo
0: haijashughulikiwa na Mratibu.
1: imeshughulikiwa na Mratibu.
Tukio: jina la kichochezi cha tukio.
Thamani Ziwezekanazo (kwa matukio ya tiketi)
TengenezaTiketi
FutaTiketi
SasishaKichwaTiketi
TiketiFunguaMudaWaMwishoSasisha
SasishaFoleniTiketi
SasishaAinaTiketi
SasishaHudumaTiketi
SasishaSLATiketi
SasishaMtejaTiketi
SasishaNakalaHuruTiketi
SasishaMudaHuruTiketi
SasishaMudaKusubiriTiketi
SasishaFungaTiketi
TiketiNyarakaBenderaSasisha
SasishaHaliTiketi
SasishaMmilikiTiketi
TiketiJukumuSasisha
TiketiKipaumbeleSasisha
OngezaHistoria
FutaHistoria
TiketiHesabuMuda
MuunganikoTiketi
TiketiJiunge
TiketiJiondoe
TiketiBenderaSeti
TiketiBenderaFuta
TiketiMtumwaKiungoOngeza
TiketiMtumwaKiungoFuta
TiketiMkuuKiungoFuta
Thamani Ziwezekanazo (kwa matukio ya makala)
Matukio ya Makala
TengenezaMakala
SasishaNakalaHuruMakala
SasishaMakala
TumaMakala
MakalaDunda
MakalaWakalaTaarifa
MakalaMtejaTaarifa
MakalaOtomatikiMajibu
MakalaBenderaSeti
MakalaBenderaFuta
MakalaWakalaTaarifa
MakalaMtejaTaarifa
Hiki kifungu kimejikita kwenye usafirishaji mtandao wa HTTP::SOAP wa muombaji, usafirishaji mwingine unawezakuwa na mipangilio tofauti au zaidi.
Config: chombo cha mipangilio yote maalumu ya usanidi wa usafirishaji wa mtandao.
Aina: mazingira ya nyuma ya muombaji wa usafirishaji wa mtandao.
Uthibitisho: chombo cha mipangilio ya uthibitisho
Usimbaji: ujumbe wa SOAP usimbaji maombi
Pointiyamwisho: URI ya huduma ya tovuti ya Mfumo wa Mbali kukubali maombi ya OTRS
JinaNafasi: URI inayowapa maudhui wachochezi wote walio katika huduma hii ya wavuti.
SOAPAction: kutuma kichwa cha SOAPAction kilicho tupu au kilichojazwa katika ujumbe wa SOAP (ndani ya "<JinaNafasi> <Kigawanyo> <Kitendo>" umbizo).
Thamani ziwezekanazo
NDIYO: kutuma kichwa cha SOAPAction kilichojazwa.
Hapana: kutuma kichwa cha SOAPAction tupu.
SOAPActionSeparator: kuseti <Kigawanyo> cha kichwa cha SOAPAction iliyojazwa.
Thamani ziwezekanazo
'/': inatumika kwa na huduma za tovuti za .net.
'#': inatumika na huduma zote za tovuti zilizobaki.
Kiunganisho ni seti ya vitendo ambavyo aidha vinaitwa Operesheni kama OTRS inasimama kama mtoaji wa huduma ya wavuti au Wachochezi kama OTRS itasimama kama muombaji huduma ya wavuti. Pia inaweza kujumuisha Miunganiko au Usafirishaji.
Kiunganisho kimoja kinaweza kuwa na Operesheni tu, Wachochezi tu au zote. Kiunganisho kinaweza kutumia sehemu za viunganisho vingine kama Miunganiko au Usafirishaji kama siyo maalumu kwa kiunganisho kinachojaribu kuzitekeleza.
Kwa maneno mengine kiunganisho hakijajikita kwa tabaka moja la kidhibiti lakini inaweza kutanuliwa kwenye Muunganiko wa Data au matabaka ya Usafirishaji wa Mtandao kama itahitajika.
Kutokana na usanifu wa moduli wa Kiolesura cha Ujumla Kiunganishi kinaweza kuonekana kama programu-jalizi; hii inamaanisha kwa kuongeza Viunganishi uwezo wa kiolesura cha ujumla kinaweza kupanuliwa kwa kutumia: vifaa vya nyongeza vya OTRS, moduli Zilizogeuzwa kukufaa za OTRS, moduli za mshiriki wa 3, na mengineyo.
Iliyojumuishwa na hili toleo la OTRS viunganishi vifuatavyo viko tayari kutumika.
Kipindi
Tiketi
Kiungo hiki kinaweza kutengeneza Kitambulisho halali cha Kipindi ambacho kinaweza kutumika katika operesheni nyingine yoyote.
Inatoa:
Operesheni:
TengenezaKipindi:
Inatengeneza Kitambulisho kipya halali kitakachotumika katika operesheni nyingine kutoka kwenye viunganishi vingine kama TengenezaTiketi.
Kutumia Kitambulisho cha Kipindi katika operesheni nyingine kutoka kwenye viunganishi vingine ni muhimu kwamba operesheni ifanye uthibitisho kwa kutumia Kitambulisho cha Kipindi. Vifurushi vingine vya operesheni vinaweza kukubali Kitambulisho cha Kipindi halali kama njia ya uthibitisho.
Sifa ziwezekanazo:
<SessionCreate> <!--You have a MANDATORY CHOICE of the next 2 items at this level--> <!--Optional:--> <UserLogin>?</UserLogin> <!--Optional:--> <CustomerUserLogin>?</CustomerUserLogin> <!--Optional:--> <Password>?</Password> </SessionCreate>
Hiki kiunganishi kinatoa programu-tumizi za msingi kuwasiliana na tiketi
Inatoa:
Operesheni:
TengenezaTiketi
SasishaTiketi
PataTiketi
TafutaTiketi
Inatoa kiolesura cha kutengeneza tiketi katika OTRS. Tiketi lazima iwe na Makala na inaweza kuwa na viambatanishi mbali mbali, Sehemu Zinazobadilika zote zilizofafanuliwa zinaweza pia kusetiwa katika operesheni ya TiketiTengeneza.
Sifa ziwezekanazo:
<TicketCreate> <!--You have a MANDATORY CHOICE of the next 3 items at this level--> <!--Optional:--> <UserLogin>?</UserLogin> <!--Optional:--> <CustomerUserLogin>?</CustomerUserLogin> <!--Optional:--> <SessionID>?</SessionID> <!--Optional:--> <Password>?</Password> <Ticket> <Title>?</Title> <!--You have a MANDATORY CHOICE of the next 2 items at this level--> <!--Optional:--> <QueueID>?</QueueID> <!--Optional:--> <Queue>?</Queue> <!--You have a CHOICE of the next 2 items at this level--> <!--Optional:--> <TypeID>?</TypeID> <!--Optional:--> <Type>?</Type> <!--You have a CHOICE of the next 2 items at this level--> <!--Optional:--> <ServiceID>?</ServiceID> <!--Optional:--> <Service>?</Service> <!--You have a CHOICE of the next 2 items at this level--> <!--Optional:--> <SLAID>?</SLAID> <!--Optional:--> <SLA>?</SLA> <!--You have a MANDATORY CHOICE of the next 2 items at this level--> <!--Optional:--> <StateID>?</StateID> <!--Optional:--> <State>?</State> <!--You have a MANDATORY CHOICE of the next 2 items at this level--> <!--Optional:--> <PriorityID>?</PriorityID> <!--Optional:--> <Priority>?</Priority> <!--You have a CHOICE of the next 2 items at this level--> <!--Optional:--> <OwnerID>?</OwnerID> <!--Optional:--> <Owner>?</Owner> <!--You have a CHOICE of the next 2 items at this level--> <!--Optional:--> <ResponsibleID>?</ResponsibleID> <!--Optional:--> <Responsible>?</Responsible> <CustomerUser>?</CustomerUser> <!--Optional:--> <CustomerID>?</CustomerID> <!--Optional:--> <PendingTime> <Year>?</Year> <Month>?</Month> <Day>?</Day> <Hour>?</Hour> <Minute>?</Minute> </PendingTime> </Ticket> <Article> <!--You have a CHOICE of the next 2 items at this level--> <!--Optional:--> <ArticleTypeID>?</ArticleTypeID> <!--Optional:--> <ArticleType>?</ArticleType> <!--You have a CHOICE of the next 2 items at this level--> <!--Optional:--> <SenderTypeID>?</SenderTypeID> <!--Optional:--> <SenderType>?</SenderType> <!--Optional:--> <From>?</From> <Subject>?</Subject> <Body>?</Body> <!--You have a CHOICE of the next 2 items at this level--> <!--Optional:--> <ContentType>?</ContentType> <Charset>?</Charset> <MimeType>?</MimeType> <!--Optional:--> <HistoryType>?</HistoryType> <!--Optional:--> <HistoryComment>?</HistoryComment> <!--Optional:--> <AutoResponseType>?</AutoResponseType> <!--Optional:--> <TimeUnit>?</TimeUnit> <!--Optional:--> <NoAgentNotify>?</NoAgentNotify> <!--Zero or more repetitions:--> <ForceNotificationToUserID>?</ForceNotificationToUserID> <!--Zero or more repetitions:--> <ExcludeNotificationToUserID>?</ExcludeNotificationToUserID> <!--Zero or more repetitions:--> <ExcludeMuteNotificationToUserID>?</ExcludeMuteNotificationToUserID> </Article> <!--Zero or more repetitions:--> <DynamicField> <Name>?</Name> <!--1 or more repetitions:--> <Value>?</Value> </DynamicField> <!--Zero or more repetitions:--> <Attachment> <Content>cid:61886944659</Content> <ContentType>?</ContentType> <Filename>?</Filename> </Attachment> </TicketCreate>
Operesheni ya SasishaTiketi inaongeza uwezo wa kubadili sifa kutoka kwenye tiketi iliyopo au kuongeza makala mpya, ikijumuisha na viambatanisho na sehemu zinazobadilika zote zilizofafanuliwa kwa ajili ya tiketi na makala mpya.
Sio lazima kutengeneza makala mpya kubadilisha sifa ya tiketi.
Sifa ziwezekanazo:
<TicketUpdate> <!--You have a MANDATORY CHOICE of the next 3 items at this level--> <!--Optional:--> <UserLogin>?</UserLogin> <!--Optional:--> <CustomerUserLogin>?</CustomerUserLogin> <!--Optional:--> <SessionID>?</SessionID> <!--Optional:--> <Password>?</Password> <!--You have a CHOICE of the next 2 items at this level--> <TicketID>?</TicketID> <TicketNumber>?</TicketNumber> <!--Optional:--> <Ticket> <!--Optional:--> <Title>?</Title> <!--You have a CHOICE of the next 2 items at this level--> <!--Optional:--> <QueueID>?</QueueID> <!--Optional:--> <Queue>?</Queue> <!--You have a CHOICE of the next 2 items at this level--> <!--Optional:--> <TypeID>?</TypeID> <!--Optional:--> <Type>?</Type> <!--You have a CHOICE of the next 2 items at this level--> <!--Optional:--> <ServiceID>?</ServiceID> <!--Optional:--> <Service>?</Service> <!--You have a CHOICE of the next 2 items at this level--> <!--Optional:--> <SLAID>?</SLAID> <!--Optional:--> <SLA>?</SLA> <!--You have a CHOICE of the next 2 items at this level--> <!--Optional:--> <StateID>?</StateID> <!--Optional:--> <State>?</State> <!--You have a CHOICE of the next 2 items at this level--> <!--Optional:--> <PriorityID>?</PriorityID> <!--Optional:--> <Priority>?</Priority> <!--You have a CHOICE of the next 2 items at this level--> <!--Optional:--> <OwnerID>?</OwnerID> <!--Optional:--> <Owner>?</Owner> <!--You have a CHOICE of the next 2 items at this level--> <!--Optional:--> <ResponsibleID>?</ResponsibleID> <!--Optional:--> <Responsible>?</Responsible> <!--Optional:--> <CustomerUser>?</CustomerUser> <!--Optional:--> <CustomerID>?</CustomerID> <!--Optional:--> <PendingTime> <Year>?</Year> <Month>?</Month> <Day>?</Day> <Hour>?</Hour> <Minute>?</Minute> </PendingTime> </Ticket> <!--Optional:--> <Article> <!--You have a CHOICE of the next 2 items at this level--> <!--Optional:--> <ArticleTypeID>?</ArticleTypeID> <!--Optional:--> <ArticleType>?</ArticleType> <!--You have a CHOICE of the next 2 items at this level--> <!--Optional:--> <SenderTypeID>?</SenderTypeID> <!--Optional:--> <SenderType>?</SenderType> <!--Optional:--> <From>?</From> <Subject>?</Subject> <Body>?</Body> <!--You have a CHOICE of the next 2 items at this level--> <!--Optional:--> <ContentType>?</ContentType> <Charset>?</Charset> <MimeType>?</MimeType> <!--Optional:--> <HistoryType>?</HistoryType> <!--Optional:--> <HistoryComment>?</HistoryComment> <!--Optional:--> <AutoResponseType>?</AutoResponseType> <!--Optional:--> <TimeUnit>?</TimeUnit> <!--Optional:--> <NoAgentNotify>?</NoAgentNotify> <!--Zero or more repetitions:--> <ForceNotificationToUserID>?</ForceNotificationToUserID> <!--Zero or more repetitions:--> <ExcludeNotificationToUserID>?</ExcludeNotificationToUserID> <!--Zero or more repetitions:--> <ExcludeMuteNotificationToUserID>?</ExcludeMuteNotificationToUserID> </Article> <!--Zero or more repetitions:--> <DynamicField> <Name>?</Name> <!--1 or more repetitions:--> <Value>?</Value> </DynamicField> <!--Zero or more repetitions:--> <Attachment> <Content>cid:166861569966</Content> <ContentType>?</ContentType> <Filename>?</Filename> </Attachment> </TicketUpdate>
Hii operesheni inatumika kupata sifa zote za tiketi ikijumuisha sehemu zinazobadilika, makala zote na viambatanisho vyote ambavyo ni vya tiketi.
Sifa ziwezekanazo:
<TicketGet> <!--You have a MANDATORY CHOICE of the next 3 items at this level--> <!--Optional:--> <UserLogin>?</UserLogin> <!--Optional:--> <CustomerUserLogin>?</CustomerUserLogin> <!--Optional:--> <SessionID>?</SessionID> <!--Optional:--> <Password>?</Password> <!--1 or more repetitions:--> <TicketID>?</TicketID> <!--Optional:--> <DynamicFields>?</DynamicFields> <!--Optional:--> <Extended>?</Extended> <!--Optional:--> <AllArticles>?</AllArticles> <!--Optional:--> <ArticleSenderType>?</ArticleSenderType> <!--Optional:--> <ArticleOrder>?</ArticleOrder> <!--Optional:--> <ArticleLimit>?</ArticleLimit> <!--Optional:--> <Attachments>?</Attachments> <!--Optional:--> <HTMLBodyAsAttachment>?</HTMLBodyAsAttachment> </TicketGet>
Operesheni TiketiTafuta inarudisha orodha ya Vitambulisho vya Tiketi ambazo zinafanana na kigezo kilichofafanuliwa.
Sifa ziwezekanazo:
<TicketSearch> <!--You have a MANDATORY CHOICE of the next 3 items at this level--> <!--Optional:--> <UserLogin>?</UserLogin> <!--Optional:--> <CustomerUserLogin>?</CustomerUserLogin> <!--Optional:--> <SessionID>?</SessionID> <!--Optional:--> <Password>?</Password> <!--Optional:--> <Limit>?</Limit> <!--Zero or more repetitions:--> <TicketNumber>?</TicketNumber> <!--Zero or more repetitions:--> <Title>?</Title> <!--Zero or more repetitions:--> <Queues>?</Queues> <!--Zero or more repetitions:--> <QueueIDs>?</QueueIDs> <!--Optional:--> <UseSubQueues>?</UseSubQueues> <!--Zero or more repetitions:--> <Types>?</Types> <!--Zero or more repetitions:--> <TypeIDs>?</TypeIDs> <!--Zero or more repetitions:--> <States>?</States> <!--Zero or more repetitions:--> <StateIDs>?</StateIDs> <!--Zero or more repetitions:--> <StateType>?</StateType> <!--Zero or more repetitions:--> <StateTypeIDs>?</StateTypeIDs> <!--Zero or more repetitions:--> <Priorities>?</Priorities> <!--Zero or more repetitions:--> <PriorityIDs>?</PriorityIDs> <!--Zero or more repetitions:--> <Services>?</Services> <!--Zero or more repetitions:--> <ServiceIDs>?</ServiceIDs> <!--Zero or more repetitions:--> <SLAs>?</SLAs> <!--Zero or more repetitions:--> <SLAIDs>?</SLAIDs> <!--Zero or more repetitions:--> <Locks>?</Locks> <!--Zero or more repetitions:--> <LockIDs>?</LockIDs> <!--Zero or more repetitions:--> <OwnerIDs>?</OwnerIDs> <!--Zero or more repetitions:--> <ResponsibleIDs>?</ResponsibleIDs> <!--Zero or more repetitions:--> <WatchUserIDs>?</WatchUserIDs> <!--Zero or more repetitions:--> <CustomerID>?</CustomerID> <!--Zero or more repetitions:--> <CustomerUserLogin>?</CustomerUserLogin> <!--Zero or more repetitions:--> <CreatedUserIDs>?</CreatedUserIDs> <!--Zero or more repetitions:--> <CreatedTypes>?</CreatedTypes> <!--Zero or more repetitions:--> <CreatedTypeIDs>?</CreatedTypeIDs> <!--Zero or more repetitions:--> <CreatedPriorities>?</CreatedPriorities> <!--Zero or more repetitions:--> <CreatedPriorityIDs>?</CreatedPriorityIDs> <!--Zero or more repetitions:--> <CreatedStates>?</CreatedStates> <!--Zero or more repetitions:--> <CreatedStateIDs>?</CreatedStateIDs> <!--Zero or more repetitions:--> <CreatedQueues>?</CreatedQueues> <!--Zero or more repetitions:--> <CreatedQueueIDs>?</CreatedQueueIDs> <!--Zero or more repetitions:--> <DynamicFields> <!--You have a MANDATORY CHOICE of the next 6 items at this level--> <!--Optional:--> <Equals>?</Equals> <!--Optional:--> <Like>?</Like> <!--Optional:--> <GreaterThan>?</GreaterThan> <!--Optional:--> <GreaterThanEquals>?</GreaterThanEquals> <!--Optional:--> <SmallerThan>?</SmallerThan> <!--Optional:--> <SmallerThanEquals>?</SmallerThanEquals> </DynamicFields> <!--Optional:--> <Ticketflag> <!--Optional:--> <Seen>?</Seen> </Ticketflag> <!--Optional:--> <From>?</From> <!--Optional:--> <To>?</To> <!--Optional:--> <Cc>?</Cc> <!--Optional:--> <Subject>?</Subject> <!--Optional:--> <Body>?</Body> <!--Optional:--> <FullTextIndex>?</FullTextIndex> <!--Optional:--> <ContentSearch>?</ContentSearch> <!--Optional:--> <ConditionInline>?</ConditionInline> <!--Optional:--> <ArticleCreateTimeOlderMinutes>?</ArticleCreateTimeOlderMinutes> <!--Optional:--> <ArticleCreateTimeNewerMinutes>?</ArticleCreateTimeNewerMinutes> <!--Optional:--> <ArticleCreateTimeNewerDate>?</ArticleCreateTimeNewerDate> <!--Optional:--> <ArticleCreateTimeOlderDate>?</ArticleCreateTimeOlderDate> <!--Optional:--> <TicketCreateTimeOlderMinutes>?</TicketCreateTimeOlderMinutes> <!--Optional:--> <ATicketCreateTimeNewerMinutes>?</ATicketCreateTimeNewerMinutes> <!--Optional:--> <TicketCreateTimeNewerDate>?</TicketCreateTimeNewerDate> <!--Optional:--> <TicketCreateTimeOlderDate>?</TicketCreateTimeOlderDate> <!--Optional:--> <TicketLastChangeTimeOlderMinutes>?</TicketLastChangeTimeOlderMinutes> <!--Optional:--> <TicketLastChangeTimeNewerMinutes>?</TicketLastChangeTimeNewerMinutes> <!--Optional:--> <TicketLastChangeTimeNewerDate>?</TicketLastChangeTimeNewerDate> <!--Optional:--> <TicketLastChangeTimeOlderDate>?</TicketLastChangeTimeOlderDate> <!--Optional:--> <TicketChangeTimeOlderMinutes>?</TicketChangeTimeOlderMinutes> <!--Optional:--> <TicketChangeTimeNewerMinutes>?</TicketChangeTimeNewerMinutes> <!--Optional:--> <TicketChangeTimeNewerDate>?</TicketChangeTimeNewerDate> <!--Optional:--> <TicketChangeTimeOlderDate>?</TicketChangeTimeOlderDate> <!--Optional:--> <TicketCloseTimeOlderMinutes>?</TicketCloseTimeOlderMinutes> <!--Optional:--> <TicketCloseTimeNewerMinutes>?</TicketCloseTimeNewerMinutes> <!--Optional:--> <TicketCloseTimeNewerDate>?</TicketCloseTimeNewerDate> <!--Optional:--> <TicketCloseTimeOlderDate>?</TicketCloseTimeOlderDate> <!--Optional:--> <TicketPendingTimeOlderMinutes>?</TicketPendingTimeOlderMinutes> <!--Optional:--> <TicketPendingTimeNewerMinutes>?</TicketPendingTimeNewerMinutes> <!--Optional:--> <TicketPendingTimeNewerDate>?</TicketPendingTimeNewerDate> <!--Optional:--> <TicketPendingTimeOlderDate>?</TicketPendingTimeOlderDate> <!--Optional:--> <TicketEscalationTimeOlderMinutes>?</TicketEscalationTimeOlderMinutes> <!--Optional:--> <TTicketEscalationTimeNewerMinutes>?</TTicketEscalationTimeNewerMinutes> <!--Optional:--> <TicketEscalationTimeNewerDate>?</TicketEscalationTimeNewerDate> <!--Optional:--> <TicketEscalationTimeOlderDate>?</TicketEscalationTimeOlderDate> <!--Optional:--> <ArchiveFlags>?</ArchiveFlags> <!--Zero or more repetitions:--> <OrderBy>?</OrderBy> <!--Zero or more repetitions:--> <SortBy>?</SortBy> <!--Zero or more repetitions:--> <CustomerUserID>?</CustomerUserID> </TicketSearch>
The following is a basic but complete web service configuration file in YAML format to use all the Ticket Connector operations with the SOAP network transport. In order to use it in OTRS you need to copy the content, save it into a file and call it GenericTicketConnectorSOAP.yml, and import it into OTRS in the Web Services screen in the Admin panel by clicking in the "Add web service" action from the overview screen and then clicking in the "Import web service" action in the add screen.
--- Debugger: DebugThreshold: debug TestMode: 0 Description: Ticket Connector SOAP 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 TicketUpdate: Description: Updates a Ticket MappingInbound: {} MappingOutbound: {} Type: Ticket::TicketUpdate TicketGet: Description: Retrieve Ticket data MappingInbound: {} MappingOutbound: {} Type: Ticket::TicketGet TicketSearch: Description: Search for Tickets MappingInbound: {} MappingOutbound: {} Type: Ticket::TicketSearch Transport: Config: MaxLength: 100000000 NameSpace: http://www.otrs.org/TicketConnector/ Type: HTTP::SOAP RemoteSystem: '' Requester: Transport: Type: ''
Similar example can be done for the REST network transport, REST web services uses HTTP operations such as "POST", "GET", "PUT", "PATCH" etc. This operations in conjunction with a URI path called resource defines a OTRS Generic Interface Operation or Invoker (depending on the communication way).
The following example uses /Session resource for SessionCreate, /Ticket resource for TicketSearch and TicketCreate and resource /Ticket/{TicketID} for TicketGet and TicketUpdate (Where {TicketID} is the actual TicketID value of a ticket e.g. /Ticket/123). In order to use it in OTRS you need to copy the content, save it into a file and call it GenericTicketConnectorREST.yml, and import it into OTRS in the Web Services screen in the Admin panel by clicking in the "Add web service" action from the overview screen and then clicking in the "Import web service" action in the add screen.
--- 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 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 Type: HTTP::REST RemoteSystem: '' Requester: Transport: Type: ''
The following code is a Perl script that can connect to OTRS via the generic interface. In order to perform the operations provided by the Ticket Connector, it uses two Perl CPAN modules SOAP::Lite and Data::Dumper. Please make sure that your environment is capable to use these modules before you try to run the script.
#!/usr/bin/perl -w # -- # otrs.SOAPRequest.pl - sample to send a SOAP request to OTRS Generic Interface Ticket Connector # Copyright (C) 2001-2018 OTRS AG, https://otrs.com/ # -- # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see https://www.gnu.org/licenses/gpl-3.0.txt. # -- use strict; use warnings; # use ../ as lib location use File::Basename; use FindBin qw($RealBin); use lib dirname($RealBin); use SOAP::Lite; use Data::Dumper; # --- # Variables to be defined. # this is the URL for the web service # the format is # <HTTP_TYPE>:://<OTRS_FQDN>/nph-genericinterface.pl/Webservice/<WEB_SERVICE_NAME> # or # <HTTP_TYPE>:://<OTRS_FQDN>/nph-genericinterface.pl/WebserviceID/<WEB_SERVICE_ID> my $URL = 'http://localhost/otrs/nph-genericinterface.pl/Webservice/GenericTicketConnector'; # this name space should match the specified name space in the SOAP transport for the web service. my $NameSpace = 'http://www.otrs.org/TicketConnector/'; # this is operation to execute, it could be TicketCreate, TicketUpdate, TicketGet, TicketSearch # or SessionCreate. and they must to be defined in the web service. my $Operation = 'TicketCreate'; # this variable is used to store all the parameters to be included on a request in XML format. Each # operation has a determined set of mandatory and non mandatory parameters to work correctly. Please # check the OTRS Admin Manual in order to get a complete list of parameters. my $XMLData = ' <UserLogin>some user login</UserLogin> <Password>some password</Password> <Ticket> <Title>some title</Title> <CustomerUser>some customer user login</CustomerUser> <Queue>some queue</Queue> <State>some state</State> <Priority>some priority</Priority> </Ticket> <Article> <Subject>some subject</Subject> <Body>some body</Body> <ContentType>text/plain; charset=utf8</ContentType> </Article> '; # --- # create a SOAP::Lite data structure from the provided XML data structure. my $SOAPData = SOAP::Data ->type( 'xml' => $XMLData ); my $SOAPObject = SOAP::Lite ->uri($NameSpace) ->proxy($URL) ->$Operation($SOAPData); # check for a fault in the soap code. if ( $SOAPObject->fault ) { print $SOAPObject->faultcode, " ", $SOAPObject->faultstring, "\n"; } # otherwise print the results. else { # get the XML response part from the SOAP message. my $XMLResponse = $SOAPObject->context()->transport()->proxy()->http_response()->content(); # deserialize response (convert it into a perl structure). my $Deserialized = eval { SOAP::Deserializer->deserialize($XMLResponse); }; # remove all the headers and other not needed parts of the SOAP message. my $Body = $Deserialized->body(); # just output relevant data and no the operation name key (like TicketCreateResponse). for my $ResponseKey ( keys %{$Body} ) { print Dumper( $Body->{$ResponseKey} ); } }
The following code is a Perl script that can connect to OTRS via the generic interface. In order to perform the operations provided by the Ticket Connector, it uses three Perl CPAN modules JSON, REST::Client and Data::Dumper. Please make sure that your environment is capable to use these modules before you try to run the script.
#!/usr/bin/perl # -- # otrs.RESTRequest.pl - sample to send a REST request to OTRS Generic Interface Ticket Connector # Copyright (C) 2001-2018 OTRS AG, https://otrs.com/ # -- # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see https://www.gnu.org/licenses/gpl-3.0.txt. # -- use strict; use warnings; ## nofilter(TidyAll::Plugin::OTRS::Perl::Dumper) # use ../ as lib location use File::Basename; use FindBin qw($RealBin); use lib dirname($RealBin); use JSON; use REST::Client; # --- # Variables to be defined # This is the HOST for the web service the format is: # <HTTP_TYPE>:://<OTRS_FQDN>/nph-genericinterface.pl my $Host = 'http://localhost/otrs/nph-genericinterface.pl'; my $RestClient = REST::Client->new( { host => $Host, } ); # This is the Controller and Request the format is: # /Webservice/<WEB_SERVICE_NAME>/<RESOURCE>/<REQUEST_VALUE> # or # /WebserviceID/<WEB_SERVICE_ID>/<RESOURCE>/<REQUEST_VALUE> # This example will retrieve the Ticket with the TicketID = 1 (<REQUEST_VALUE>) my $ControllerAndRequest = '/Webservice/GenericTicketConnectorREST/Ticket/1'; my $Params = { UserLogin => "some user login", # to be filled with valid agent login Password => "some user password", # to be filled with valid agent password DynamicFields => 1, # optional, if set to 1, # ticket dynamic fields included in response AllArticles => 1, # optional, if set to 1, # all ticket articles are included in response # more options to be found in # /Kernel/GenericInterface/Operation/Ticket/TicketGet.pm's # Run() subroutine documentation. }; my @RequestParam; # As sample web service configuration for TicketGet uses HTTP method GET all other parameters needs # to be sent as URI query parameters # ---- # For GET method my $QueryParams = $RestClient->buildQuery( %{ $Params } ); $ControllerAndRequest .= $QueryParams; # The @RequestParam array on position 0 holds controller and request @RequestParam = ($ControllerAndRequest); $RestClient->GET(@RequestParam); # ---- # # ---- # # For POST method # my $JSONParams = encode_json $Params; # # The @RequestParam array on position 0 holds controller and request # # on position 1 it holds the JSON data string that gets posted # @RequestParam = ( # $ControllerAndRequest, # $JSONParams # ); # $RestClient->POST(@RequestParam); # # ---- # If the host isn't reachable, wrong configured or couldn't serve the requested page: my $ResponseCode = $RestClient->responseCode(); if ( $ResponseCode ne '200' ) { print "Request failed, response code was: $ResponseCode\n"; exit; } # If the request was answered correctly, we receive a JSON string here. my $ResponseContent = $RestClient->responseContent(); my $Data = decode_json $ResponseContent; # Just to print out the returned Data structure: use Data::Dumper; print "Response was:\n"; print Dumper($Data);
Given the above example on a REST configuration for Generic Ticket Connector we have that:
For Ticket Create: use POST method on /Ticket path.
For Ticket Search: use GET method on /Ticket path.
For Ticket Update: use PATCH method on /Ticket/{TicketID} path (where {TicketID} is a template represented by :TicketID in the transport configuration)
For Ticket Get: use GET method on /Ticket/{TicketID} path (where {TicketID} is a template represented by :TicketID in the transport configuration)
cURL Command:
shell> curl "http://localhost/otrs/nph-genericinterface.pl/Webservice/GenericTicketConnectorREST/Ticket?UserLogin=agent&Password=123" -H "Content-Type: application/json" -d "{\"Ticket\":{\"Title\":\"REST Create Test\", \"Type\": \"Unclassified\", \"Queue\":\"Raw\",\"State\":\"open\",\"Priority\":\"3 normal\",\"CustomerUser\":\"customer\"},\"Article\":{\"Subject\":\"Rest Create Test\",\"Body\":\"This is only a test\",\"ContentType\":\"text/plain; charset=utf8\"}}" -X POST
Response:
{ "ArticleID":5484, "TicketNumber":"1001936", "TicketID":"1686" }
cURL Command:
curl "http://localhost/otrs/nph-genericinterface.pl/Webservice/GenericTicketConnectorREST/Ticket/1686?UserLogin=agent&Password=123"
Response:
{ "Ticket": [ { "Age": 777, "PriorityID": 3, "ServiceID": "", "Type": "Unclassified", "Responsible": "root@localhost", "StateID": 4, "ResponsibleID": 1, "ChangeBy": 2, "EscalationTime": 0, "Changed": "2014-06-30 19:08:14", "OwnerID": 2, "RealTillTimeNotUsed": 0, "GroupID": 1, "Owner": "agent", "CustomerID": "OTRS", "TypeID": 1, "Created": "2014-06-30 19:08:12", "Priority": "3 normal", "UntilTime": 0, "EscalationUpdateTime": 0, "QueueID": 2, "Queue": "Raw", "State": "open", "Title": "REST Create Test", "CreateBy": 2, "TicketID": 1686, "StateType": "open", "EscalationResponseTime": 0, "UnlockTimeout": 0, "EscalationSolutionTime": 0, "LockID": 1, "TicketNumber": "1001936", "ArchiveFlag": "n", "Lock": "unlock", "CreateTimeUnix": 1404173292, "SLAID": "", "CustomerUserID": "customer" } ] }
cURL Command:
curl "http://localhost/otrs/nph-genericinterface.pl/Webservice/GenericTicketConnectorREST/Ticket/1686?UserLogin=agent&Password=123" -H "Content-Type: application/json" -d "{\"Ticket\":{\"Queues\":\"Postmaster\"}}" -X PATCH
Response:
{ "TicketNumber":"1001936", "TicketID":"1686" }