Request Tracker pour les Nuls - .Request Tracker pour les Nuls Yves Agostini - YVESAGO – Journees

download Request Tracker pour les Nuls - .Request Tracker pour les Nuls Yves Agostini - YVESAGO – Journees

of 44

  • date post

    13-Sep-2018
  • Category

    Documents

  • view

    218
  • download

    0

Embed Size (px)

Transcript of Request Tracker pour les Nuls - .Request Tracker pour les Nuls Yves Agostini - YVESAGO – Journees

  • Request Tracker pour les NulsYves Agostini - YVESAGO

  • Request Tracker pour les NulsYves Agostini - YVESAGO Journees Perl 2013

    Page 1/43

    PlanRequ

    estTracker

    po

    ur

    lesN

    uls

    1. Prsentation

    2. Installation

    3. Gestion par mail

    4. Authentification

    5. Concepts

    6. Configuration

    7. Adaptations

    8. Usages

    9. Exemples API REST

    10. Conclusion

  • Request Tracker pour les NulsYves Agostini - YVESAGO Journees Perl 2013

    Page 2/43

    1. Prsentation

    Prsen

    tation

    Systme de gestion de tickets gnrique

    distribution / partage de tches

    gestion de la communication

    trs trs souple

  • Request Tracker pour les NulsYves Agostini - YVESAGO Journees Perl 2013

    Page 3/43

    HistoirePrsentatio

    n

    1994 - 1996 : WebReq - CGI - Jesse Vincent,2000 : RT 1.0 - CGI - Jesse Vincent,2001 : RT 2.0 - mod_perl/Mason - Best Practical2003 : RT 3.0 / RTIR - Best Practical2011 : RT 4.0

    700 rfrences sur http://requesttracker.wikia.com/wiki/RTUsersMIT, NASA, Nike, ...

    RTIR: JANET, IRIS-CERT, CERT.PT, GOVCERT.NL,SWITCH-CERT, RENATER, ...

    http://requesttracker.wikia.com/wiki/RTUsers

  • Request Tracker pour les NulsYves Agostini - YVESAGO Journees Perl 2013

    Page 4/43

    RT 3.6 - 2006Prsentatio

    n

  • Request Tracker pour les NulsYves Agostini - YVESAGO Journees Perl 2013

    Page 5/43

    RT 3.8Prsentatio

    n

  • Request Tracker pour les NulsYves Agostini - YVESAGO Journees Perl 2013

    Page 6/43

    RT 4Prsentatio

    n

  • Request Tracker pour les NulsYves Agostini - YVESAGO Journees Perl 2013

    Page 7/43

    BilanPrsentatio

    n

    Exprience fonctionnelle : workflows dlgations authentifications bugtracker (CPAN) RTIR

    Inertie technologique gestion continuit des services IHM : de CGI Ajax

  • Request Tracker pour les NulsYves Agostini - YVESAGO Journees Perl 2013

    Page 8/43

    2. InstallationInstallation

    Debian / Ubuntu

    $ apt-get install request-tracker4 rt4-apache2

    cest regle

    $ mysql -u root -p

    mysql> GRANT ALL PRIVILEGES ON rtdb.* TO 'rtuser '@ 'localhost ' IDENTIFIED BY 'pass

    ';

    mysql> FLUSH PRIVILEGES; QUIT

    Set up RT database :

    $ /usr/sbin/rt-setup-database-4 --action init --dba root --prompt-for-dba-

    password

    Config :

    $ vi /etc/request-tracker4/RT_SiteConfig.pm

  • Request Tracker pour les NulsYves Agostini - YVESAGO Journees Perl 2013

    Page 9/43

    Mcanique interne

    Installatio

    n Stockage

    mysql ou autres peu de tables(26 : ACL, Tickets, Queues, Attachments, ...)

    Services

    perl / mason surcharge

    Configuration

    stockage dans la base : ACL, Templates, ...

  • Request Tracker pour les NulsYves Agostini - YVESAGO Journees Perl 2013

    Page 10/43

    3. Gestion par mailGestion

    par

    mail

  • Request Tracker pour les NulsYves Agostini - YVESAGO Journees Perl 2013

    Page 11/43

    procmailGestion

    par

    mail

    VERBOSE=1

    LOGFILE=$HOME/.procmail.log

    LOCKFILE=$HOME/.procmail.LCK

    ARG1=$1

    MAILDOMAIN=support.univ.fr

    RT_MAILGATE="/usr/bin/rt-mailgate"

    RT_URL="http://support.univ.fr/rt/"

    :0

    {

    TO=`formail -c -xReceived: |grep $MAILDOMAIN |sed -e 's/.*for **

    *;.*$/\1/ '`

    QUEUE=`echo $TO | $HOME/get_queue.pl`

    ACTION=`echo $TO| $HOME/get_action.pl`:0 h b w

    |/usr/bin/perl $RT_MAILGATE --queue $QUEUE --action $ACTION --url $RT_URL

    }

  • Request Tracker pour les NulsYves Agostini - YVESAGO Journees Perl 2013

    Page 12/43

    API RESTGestion

    par

    mail

    Order allow,deny

    Allow from 127.0.0.1

    Allow from xxx.yyy.zzz.aaa

    Satisfy any

  • Request Tracker pour les NulsYves Agostini - YVESAGO Journees Perl 2013

    Page 13/43

    4. AuthentificationAuthen

    tificatio

    n

    Authentification externe : RT::Authen::ExternalAuth

    OpenLDAP, Active Directory

    DBI MySQL, Oracle, PostgreSQL Fichiers ...

    Mail cration id RTCAS login RT

  • Request Tracker pour les NulsYves Agostini - YVESAGO Journees Perl 2013

    Page 14/43

    RT_SiteConfig.pmAuthen

    tificatio

    n

    Set($WebExternalAuth , 1); # CAS auth

    Set($WebFallbackToInternalAuth , 1);

    Set($WebExternalAuto , 1);

    Set($ExternalSettings, { # LDAP mapping

    My_LDAP ' => {

    'type ' => 'ldap ',

    'server ' => 'ldap.univ.fr ',

    'base ' => 'ou=people,dc=univ,dc=fr ',

    'filter ' => '(objectClass=*) ',

    'attr_match_list ' => [ 'Name ',

    'EmailAddress ',

    'RealName ' ],

    'attr_map ' => {

    'Name ' => 'uid ',

    'EmailAddress ' => 'mail ','RealName ' => 'cn ' }

    }

    });

  • Request Tracker pour les NulsYves Agostini - YVESAGO Journees Perl 2013

    Page 15/43

    Apache CASAuthen

    tificatio

    n

    SetHandler perl-script

    PerlHandler RT::Mason

    AuthType Apache2::AuthCASSimple

    PerlAuthenHandler Apache2::AuthCASSimple

    PerlSetVar CASServerName auth.univ.fr

    PerlSetVar CASServerPath /

    PerlSetVar CASSessionTimeout 360

    PerlSetVar CASSessionDirectory /tmp

    require valid-user

  • Request Tracker pour les NulsYves Agostini - YVESAGO Journees Perl 2013

    Page 16/43

    5. ConceptsConcep

    ts Utilisateurs

    Files

    Champs personnaliss

    Articles

    Scrips

  • Request Tracker pour les NulsYves Agostini - YVESAGO Journees Perl 2013

    Page 17/43

    UtilisateursConcep

    ts

    Utilisateurs "Privilgis" accs tableau de bord et gestion des files

  • Request Tracker pour les NulsYves Agostini - YVESAGO Journees Perl 2013

    Page 18/43

    UtilisateursConcep

    ts

    Groupes systmes :

    Tout le monde - Privilgi - Sans droit

    Rles:

    AdminCc ( Cc )

    Intervenant

    Demandeurs

    Groupes

    pas de profil dautorisation par dfaut

  • Request Tracker pour les NulsYves Agostini - YVESAGO Journees Perl 2013

    Page 19/43

    FilesConcep

    ts Nom nom@support.univ.fr et nom-comment@support.univ.fr

    Pas de hirarchie a

    Visibilit : fixe par droit du groupe "Sans droits"

    Gestion par des Observateurs

    asauf usage de Champs personnalises

  • Request Tracker pour les NulsYves Agostini - YVESAGO Journees Perl 2013

    Page 20/43

    Champs personnaliss

    Co

    ncep

    ts

    pour des Tickets, Files, Articles, ..., Transactions du ticket

  • Request Tracker pour les NulsYves Agostini - YVESAGO Journees Perl 2013

    Page 21/43

    ArticlesConcep

    ts ex-RTFM

    Crer CPs : Rponse, Procdure

    Droits de groupe

    Rponse "Tout le monde" : Voir les champs personnaliss Groupe "xxx" : Crer, modifier, ajouter, ....

    Procdure Groupe "xxx" : Voir, crer, modifier, ajouter, ....

    Crer une classe darticle

    ajouter les champs personnaliss : Rponse, Procdure

  • Request Tracker pour les NulsYves Agostini - YVESAGO Journees Perl 2013

    Page 22/43

    Usage des rponses

    Co

    ncep

    ts

  • Request Tracker pour les NulsYves Agostini - YVESAGO Journees Perl 2013

    Page 23/43

    ScripsConcep

    ts

    Scrip dune File

    Action: "Dfini par lutilisateur", "Lors dune cration"

    Programme de prparation daction personnalis:

    return 1;

    Programme de nettoyage daction personnalis:

    my $newowner = "noel";

    # Changement proprietaire

    my ( $status, $msg ) = $self->TicketObj->SetOwner($newowner);

    unless ($status) {

    $RT::Logger->warning("Impossible d 'attribuer le ticket a $newowner: $msg");

    return undef;

    }

    return 1;

  • Request Tracker pour les NulsYves Agostini - YVESAGO Journees Perl 2013

    Page 24/43

    6. ConfigurationConfi

    gu

    ration

    "Droits de groupe" (systme,spcifique) sur les Files, Articles, Champs personnaliss, Groupes

    une File peut contenir des CPs avec des Droits de groupediffrents !

    Les Scrips/Modles/CP peuvent tre globaux ou dpendredune File/Classe

    pas de gestion de cohrenceDifficults instance de tests et validations

  • Request Tracker pour les NulsYves Agostini - YVESAGO Journees Perl 2013

    Page 25/43

    ConfigurationConfi

    gu

    ration

    1. Configuration > Global > Droits de groupe

    2. Configuration > Files > Choisir > xxxx(a) Observateurs(b) Droits de groupe : ( Tout le monde VoirFile )(c) Champs personnaliss

  • Request Tracker pour les NulsYves Agostini - YVESAGO Journees Perl 2013

    Page 26/43

    Droits GlobauxConfi

    gu

    ration

    interface terrifiante 3.8 ! 4.0 : dcoupage indicatif en Permissions gnrales, intervenants, administrateurs

  • Request Tracker pour les NulsYves Agostini - YVESAGO Journees Perl 2013

    Page 27/43

    Droits GlobauxConfi

    gu

    ration

    Exemple

    Tout le monde:

    CreerTicket

    RepondreTicket

    VoirChampPersonnalise

    Sans droits:

    none

    Privilegie:

    ModifierDonneesPerso

    VoirOngletConfiguration (si on veut laisser gerer les groupes)

  • Request Tracker pour les NulsYves Agostini - YVESAGO Journees Perl 2013

    Page 28/43

    Droits Globaux - Rles

    Co

    nfi

    gu

    ration

    Demandeur:

    CommenterTicket

    AfficherTicket

    RepondreTicket

    Observer

    VoirChampPersonnalise

    FixerChampPersonnalise

    Intervenant: