Závěrem loňského roku Laboratoře CZ.NIC vydaly první verzi modulu python-rt. Ten umožňuje přistupovat z Pythonu k API systému pro správu požadavků Request Tracker. Původně byl tento modul vyvinut v rámci projektu MDM, nakonec je ovšem použitelný i samostatně. Podrobnosti o modulu naleznete na stránce projektu a v jeho dokumentaci.
Co vlastně je Request Tracker a kde se podobné systémy uplatní? Jedná se o webové aplikace, které přehledně evidují požadavky (typicky nahlášené e-mailem) a umožňují skupině lidí spolupracovat na jejich řešení. Běžně takové tyto systémy používají například oddělení zákaznické podpory. Veřejně dostupné demo systému Request Tracker si můžete vyzkoušet zde. A právě na něm si ukážeme, jak se modul používá.
- Na testování si vytvoříme nové virtuální prostředí v adresáři env-rt, přesuneme se do něj a aktivujeme jej:
$ virtualenv env-rt $ cd env-rt $ source bin/activate
- Nainstalujeme modul rt:
(env-rt)$ pip install rt
- Spustíme Python v interaktivním režimu:
(env-rt)$ python
- Importujeme modul rt a vytvoříme instanci jeho třídy rt (tři parametry: adresa REST API systému Request Tracker., uživatelské jméno, heslo):
>>> import rt >>> tracker = rt.Rt('http://rt.easter-eggs.org/demos/stable/REST/1.0', ... 'mike.bar', 'mike.bar')
- Přihlásíme se do systému a vyhledáme všechny vlastníky požadavků ve frontě Helpdesk:
>>> tracker.login() True >>> set(map(lambda x: x['Owner'], tracker.search(Queue="Helpdesk"))) set([u'admin', u'john.foo', u'Nobody', u'mike.bar'])
- Dále například můžeme vytvořit nový požadavek:
>>> tracker.create_ticket(Queue='Helpdesk', ... Subject='Coffee (important)', Text='Help I ran out of coffee!') 113
- Vrácené číslo je ID požadavku, které můžeme využít pokud chceme například požadavek editovat:
>>> tracker.edit_ticket(113, Requestors='addicted@example.com') True
- Důležitá je také možnost na požadavky reagovat:
>>> tracker.reply(113, text='Do you know Starbucks?') True
- Na konci se odhlásíme:
>>> tracker.logout() True
Pokud se rozhodnete modul používat, budeme rádi za vaši zpětnou vazbu.
Jiří Machálek
A to jste vydali teď, když jsem se skamarádil a všude rozchodil python-rtkit (https://github.com/z4r/python-rtkit)? :) Tento modul ale vypadá zajímavěji, jdu testovat.