Request Tracker
ITK tar typisk imot relativt mange henvendelser i løpet av en uke, og det er viktig at alle disse blir tatt hånd om og ingen glemt. Derfor bestemte man seg høsten 2002 for å gå over fra å la itk@samfundet.no være en Mailman-liste til å sette opp et system basert på RT (Request Tracker). Samtidig ble det dannet to nye lister, itk-intern@ og itk-sosialt@ (i hhv. Mailman og AMSIT), som ikke går på RT. itk-sosialt@ er nå borte.
Innholdsfortegnelse
Daglig bruk
Selv om RT i utgangspunktet er tenkt som et websystem, er det heldigvis fleksibelt nok lagt opp til at vi kan fortsette å bruke itk@ som en epostliste, dog ikke uten visse begrensninger og små hacks. Enkelt forklart fungerer RT som følger:
Når en bruker eller noen fra ITK sender epost til itk@samfundet.no, opprettes det en såkalt ny «ticket», eller sak. Deretter sendes denne henvendelsen videre til alle som før var på itk-lista (RT-messig sett: de som er satt som AdminCc på itk-køen). Man har så to mulige reply-adresser:
- itk: Typisk "svar på henvendelse". Svaret lagres i RT, og kommer både til ITK og til brukeren.
- itk-comment: Denne brukes til intern kommunikasjon på listen. Svaret lagres i RT og sendes ut til ITK, men vil ikke komme tilbake til brukeren som sendte inn henvendelsen. (Alle slike kommentarer vil komme til lista med en merknad øverst.)
Reply-To vil alltid være satt til itk-comment@ for å unngå at intern mail kommer på avveie. Husk å sette reply-adresse tilbake til itk@samfundet.no hvis man ønsker å sende noe til brukeren!
I tillegg er det to kontrolladresser man kan reply'e til, eller Bcc'e i farten (typisk når du svarer til itk@samfundet.no for å svare til en bruker):
- itk-take: Dette vil føre til at den aktuelle saken tildeles deg, dvs. at du har "tatt saken", og er ansvarlig for at den følges opp. (På web kan du se alle saker som du har tatt og som fortsatt uløst – veldig nyttig! ;-) )
- itk-resolve: Markerer den aktuelle saken som løst. Ev. framtidige henvendelser på denne saken (fra brukere eller ITKere) vil gjenåpne saken. MERK: som et spesielt unntak vil ikke en sak som resolved og som du eier selv gjenåpnes automatisk på denne måten, fordi man ofte ønsker å bcc'e itk-resolve@ samtidig som man sender svar til en bruker, og da mailen ofte vil komme fram til itk-resolve@ før selve followup-mailen kommer inn i systemet (se "lokale endringer i RT" under). Det sier seg selv at det da er lite hendig at denne mailen gjenåpner saken. (Dette er vår egen utvidelse til RT, igjen se under.)
Merk at hvis man Cc'er henvendelser man sender ut til itk@, burde man sørge for at Reply-To er satt til itk@samfundet.no, slik at ev. svar blir RTet.
I tillegg har man et webfjes til RT på rt.samfundet.no, der folk kan gjøre mer avanserte ting som å se uløste saker de har, slå sammen saker, lese historikk på eldre saker osv.. Dette brukes også til konfigurasjon av RT, oppsett av nye brukere osv..
For å opprette saker på vegne av andre, se noden RT-headers.
Teknisk implementasjon
Mesteparten av endringene som er gjort er gjort innenfor RT selv, ved å endre på de medfølgende templatene slik at de passer våre behov bedre og får systemet til å ligne med på en mailingliste. Når det gjelder mailinterfacet, er itk@, itk-comment@, itk-take@ og itk-resolve@ satt opp via RTs eget script "rt-mailgate" på vanlig måte i /etc/aliases på cassarossa.
Merk at all mail til itk@ og itk-comment@ delayes fem sekunder for at ev. Bcc'er til itk-take@ og itk-resolve@ skal komme først – dette for at statusinformasjonen nederst på mailene som sendes ut skal være så riktig som mulig. (Denne delayen gjøres også i /etc/aliases.)
Vi har en del lokale endringer fra RT via «layers»-systemet; se /usr/local/share/request-tracker3.8/lib/RT, /usr/local/bin/rtbouncehandler o.a.. Diff mot upstreamfilene (bl.a. i /usr/share/request-tracker3.8/lib/RT) for å finne endringene.
Endringer for å tillate å sende epost mellom RT-køer på samfundet
/usr/local/share/request-tracker4/lib/RT/Interface/Email_Local.pm (rundt linje 220, 660 og 680): I stedet for å bruke en kø-uavhengig regex til å hente sak-ID fra emnefeltet, brukes en regex som kun finner sak-IDer som tilhører køen eposten er i.
/usr/local/share/request-tracker4/lib/RT/Action/SendEmail_Local.pm (rundt linje 660): Legg til <kønavn>.rt.samfundet.no, på X-RT-Loop-Prevention.
/usr/local/share/request-tracker4/lib/RT/Interface/Email_Local.pm (rundt linje 210-220, 530-540 og 590-600): Dropp epost hvis X-RT-Loop-Prevention inneholder lik <kønavn>.rt.samfundet.no, istedenfor rt.samfundet.no. Dette, samt endringer over, er for å kunne sende epost mellom RT-køer.
Legge til ny kø
- kinit administrator
- https://rt.samfundet.no
- Configuration -> Queues -> Create
- Legg til brukerene i Configuration -> Users -> Create (med unix login, og hykk av på «Let this user access RT» og «Let this user be granted rights»)
- Legg til gruppe under Configuration -> Groups -> Create, og lag en gruppe til køen. Legg til medlemmene i Members.
- Gå tilbake til Configuration -> Queues -> <velg kø> -> Watchers og legg til gruppen som AdminCC.
- Legg til epostadressen i /etc/aliases, slik som andre køer er lagt inn.
- Legg til bruker/gruppe i acl under /web/rt
Starte RT på nytt
Hvis RT har dødd kan det være lurt å starte den på nytt. Det finnes en request-tracker4.service, men denne brukes ikke. For å starte RT på nytt må du starte apache på nytt:
systemctl restart apache2
RT fra kommandolinjen
Det er fullt mulig å aksessere RT fra kommandolinjen på cassarossa. lag filen .rtrc i hjemmemappen din og populér den med følgende:
server https://rt.samfundet.no user <brukernavn> query <din standardspørring> queue itk auth gssapi
Autentiser deg så mot Kerberos ved å kjøre kinit og skrive inn passordet ditt. Hvis du nå kjører rt ls vil du få resultatet av standardspørringen din tilbake. Jeg har query satt til "Status!='resolved' and Status!='rejected' and owner='olebra'", altså mine uløste saker. Se rt help for mer informasjon.
Nyttige alias
alias ueid='rt ls -f id,subject -o -Created "owner=nobody and status=__ACTIVE__"' # ueide, aktive saker i RT alias rtsik='rt ls -f id,subject -o -Created "owner=nobody and status=__ACTIVE__ and Subject like sikkerhet-drift"' # uhåndterte sikkerhetsvarsler alias rtrj="rt edit $1 set status=rejected" # for å avvise saker (tar inn id som argument) alias rtgi="rt give $1 $2" # for å gi en sak ($1) til en bruker ($2)
Lenker: Start, request tracker v2, tekniske løsninger, servere
Epost: itk@samfundet.no | Telefon: 992 15 925 | Sist endret: 2022-09-04 13:58 | Revisjon: 30 (historie, blame) | Totalt: 1905 kB | Rediger