9. Contrib

Il existe de nombreux modules non-officiels complémentaires à Bugzilla dans le répertoire $BUGZILLA_ROOT/contrib/. Cette section les documente.

9.1. Interface de recherche en ligne de commande

C'est une suite d'utilitaires Unix pour faire des recherches dans Bugzilla en ligne de commande. Ils résident dans le répertoire contrib/cmdline. Il y a trois trois fichiers - query.conf, buglist et bugs.

Attention

Ces fichiers sont antérieurs au travail d'intégration dans les modèles commencé dans la version 2.16 et n'ont pas été mis à jour.

query.conf contient la correspondance entre les options et les noms de champs et les types de comparaison. Les noms d'options entre guillemets sont greppés (recherchés avec la commande grep), il devrait donc être facile de modifier ce fichier. Les commentaires (#) sont sans effet ; vous devez donc vous assurer que ces lignes ne contiennent pas option entre guillemets.

buglist est un script qui soumet une requête Bugzilla et écrit la page HTML résultante sur la sortie standard. Il accepte les options courtes , (comme -Atoto ou -Rtiti) et les options longues (comme --assignedto=toto ou --reporter=titi). Si le premier caractère d'une option n'est pas -, elle est traitée comme si elle préfixée avec --default=.

La colonne de liste est récupérée de la variable d'environnement COLUMNLIST. Ceci est équivalent à l'option Modifier les colonnes disponible quand vous listez les bogues dans buglist.cgi. Si vous avez déjà utilisé Bugzilla, faites un grep de COLUMNLIST dans vos fichiers de cookies pour voir le paramètrage actuel pour COLUMNLIST.

bugs est un simple script qui appelle buglist et extrait les numéros de bogues de la sortie de ce script. Ajouter le préfixe http://bugzilla.mozilla.org/buglist.cgi?bug_id= transforme la liste de bogues en hyperliens si des bogues sont trouvés. Compter les bogues est facile : faites un pipe (|) des résultats avec sed -e 's/,/ /g' | wc | awk '{printf $2 "\n"}'

Akkana Peck dit qu'elle a de bons résultats en faisant un pipe sur la sortie du script buglist avec w3m -T text/html -dump

9.2. Outil en ligne de commande Envoyer les courriels de bogues en attente

Dans le répertoire contrib se trouve un utilitaire du nom descriptif (à défaut d'être court) de sendunsentbugmail.pl. Le propos de ce script est simplement d'envoyer tout courriel relatif aux bogues qui aurait dû être envoyé, mais qui, pour une raison ou une autre, ne l'a pas été.

Pour accomplir cette tâche, sendunsentbugmail.pl utilise le même mécanisme que le script sanitycheck.cgi; il analyse toute la base de données en recherchant les bogues qui ont été modifiés plus de 30 minutes auparavant, mais pour lesquels il n'y a pas d'enregistrement pour les personnes associées à ce bogue pour lesquelles un courriel a été envoyé. Après avoir compilé une liste, il utilise alors les règles standard pour déterminer qui doit recevoir un courriel et l'envoie.

Lors de son exécution, le script indique le bogue traité pour lequel il est en train d'envoyer un courriel ; quand il a terminé, il donne le nombre de courriels qui ont été envoyés et le nombre de personnes ayant été exclues des envois. (Les noms d'utilisateurs ne sont ni enregistrés, ni affichés). Si le script ne produit pas de sortie, cela signifie qu'aucun courriel en attente n'a été détecté.

Utilisation : déplacez le script sendunsentbugmail.pl dans le répertoire racine, assurez-vous qu'il a les droits d'exécution, et exécutez-le en ligne de commande (ou avec une tâche programmée) sans paramètre.