Aujourd’hui nous allons nous intéresser à capistrano-redmine. Cette gem permet de changer le status de tickets Redmine lors d’un déploiement via Capistrano.
Nous pouvons configurer capistrano-redmine
pour chaque environnement Capistrano, chez synbioz par exemple nous l’utilisons lors d’un déploiement en pré-production.
Partons du principe que nous avons plusieurs tickets ayant le status résolu
sur notre projet Redmine. Nous voulons qu’après un déploiement les tickets soient passés en statut déployé
. Actuellement nous changer manuellement le statut sur chaque ticket.
capistrano-redmine
automatise cette tâche, lors du déploiement Capistrano, une tâche propre à cette gem sera lancée et permettra de passer chaque ticket résolu
au status déployé
.
Nous devons ajouter capistrano-redmine
à notre Gemfile.
gem "capistrano-redmine", :git => "https://github.com/synbioz/capistrano-redmine.git", require: false
Ajoutons maintenant capistrano-redmine
à notre configuration capistrano:
set :redmine_site, "https://redmine.site"
set :redmine_token, "token_utilisateur"
set :redmine_options, { ssl: { cert: nil, key: nil } }
set :redmine_projects, "mon_project"
set :redmine_from_status, 3
set :redmine_to_status, 7
require 'capistrano-redmine'
after "deploy", "redmine:update"
:redmine_site
correspond à l’adresse de votre Redmine.:redmine_token
correspond à votre clé api que vous pourrez trouver sur votre compte Redmine.:redmine_options
l’option ici par défaut permet à capistrano-redmine d’accèder à un site ssl ayant ni certificat ni clé.:redmine_projects
nom de votre projet où les tickets doivent être modifiés.:redmine_from_status
id du status qui doit être changé.:redmine_to_status
id du status que doit prendre le ticket.Vous pouvez retrouver plus d’informations sur les options possibles sur le README de capistrano-redmine.
redmine:update
est la tâche Capistrano issu de la gem permettant de lancer la mise à jour des tickets.
Il est tout à fait possible de mettre à jour les tickets sans déploiement grâce à cette tâche:
cap staging redmine:update
Chez Synbioz, nous voulions utiliser capistrano-redmine
. Mais nous nous sommes heurtés au fait que cette gem est compatible avec Capistrano 2 uniquement.
L’idée d’un fork à donc fait son apparition et nous avons sorti capistrano-redmine qui prend en compte la compatibilité Capistrano 2 et Capistrano 3.
Notre fork est actuellement en pull request sur le dépôt officiel.
L’équipe Synbioz. Libres d’être ensemble.