Cette fonctionnalité est divisée en plusieurs Apps en fonction de votre système de contrôle de version. Vous pourriez également être intéressé par la fonctionnalité d’intégration continue.
Commençons par un exemple. En supposant que je sois responsable de la tâche 18 dans iceScrum nommée « Add car domain », une fois que le code est prêt à être envoyé, j’écris mon message de commit :
New car domain class
Voici comment je lie ce commit à la tâche 18 :
T18 New car domain class
La balise T18 peut être située n’importe où dans le message de commit, donc ce message a le même effet que le précédent :
New car T18 domain class
Une fois le commit envoyé, les informations relatives à celui-ci seront affichées dans les détails de la tâche 18 dans un onglet dédié :
Pour chaque commit, ces informations sont affichées :
Vous pouvez référencer autant de tâches que nécessaire dans votre message de commit :
New business object: supplier T21 T22 T23
Les commits ne sont associés à une tâche que si son sprint est « En cours ».
La vue Détails d’une story fournit également un onglet « Commits » qui agrège tous les commits de ses tâches.
Vous pouvez optionnellement mettre à jour le temps restant de la tâche à partir de votre message de commit.
Dans cet exemple, je mets à jour le temps restant de la tâche 21 à 1 heure et demie, celui de la tâche 22 à 3 heures et comme il n’y a plus de travail sur la tâche 23, je mets à jour le temps restant à 0 :
New business object: supplier T21-1.5 T22-3 T23-0
Le temps restant est mis à jour en conséquence et la tâche 73 n’a plus de temps restant, elle est donc passée à « Fini » :
Voici les règles de mise à jour :
À partir de iceScrum 7.27, il est possible de lier les commits d’un repository de code à plusieurs projets iceScrum.
Cette documentation illustre principalement le cas simple où il n’y a qu’un seul projet et que le projet est fourni une fois pour toutes via l’URL configurée pour communiquer avec iceScrum. Ainsi, pour plusieurs projets, la première étape consiste à supprimer cette partie projet (c’est-à-dire /project/$project) de l’URL dans tous les exemples fournis dans cette documentation.
Si vous utilisez les scripts Git ou SVN fournis, vous devrez modifier le code manuellement afin que l’URL générée ne contienne pas cette partie. Sinon, adaptez simplement l’URL saisie.
Par exemple, pour Gitlab, au lieu de :
/ws/project/MYPROJECTKEY/commit/gitlab
Utilisez :
/ws/commit/gitlab
Cependant, iceScrum doit tout de même savoir à quel projet attacher un commit. Ainsi, toutes les balises de tâches doivent être précédées de la clé du projet auquel elles appartiennent:
New car MYPROJECTKEY-T18 domain class
Si vous utilisez GitHub ou GitLab, vous pouvez ignorer cette section et passer directement à la section correspondante.
D’abord, activez l’App Git sur votre projet.
Pour connecter votre référentiel Git au projet iceScrum correspondant vous devez ajouter un script post-réception dans le répertoire YOUR-REPO/.git/hooks/.
Vous pouvez écrire votre propre script mais nous vous recommandons d’utiliser celui-ci : post-receive. Ce script se connecte à pushes reçu par un référentiel Git.
Cela nécessite Ruby et Rubygems (grit et json gems):
$ sudo apt-get install ruby-full $ sudo apt-get install rubygems $ sudo gem install grit $ sudo gem install json
Donnez-lui les autorisations d’exécution :
$ chmod +x post-receive
Ensuite, configurez la connexion à iceScrum en utilisant la commande git config dans votre repository :
$ git config icescrum.url "http://www.example.com/icescrum/" $ git config icescrum.project "MYFIRSTPROJ" $ git config icescrum.accesstoken "changeto112323435yourtoken"
Learn to generate an iceScrum API token.
Vous pouvez configurer l’URL Git de manière optionnelle si vous utilisez un outil Web :
$ git config icescrum.giturl "http://localhost:3546/gitweb/"
Cet exemple définit uniquement la configuration pour le référentiel actuel (les paramètres sont écrits dans le fichier .git/config). Si vous souhaitez les appliquer à tous les référentiels de l’utilisateur actuel, utilisez l’option globale (les paramètres globaux sont écrits dans le fichier ~/.gitconfig).
Tout d’abord, activez l’App SVN sur votre projet iceScrum.
Pour connecter votre référentiel SVN au projet iceScrum correspondant, vous devez ajouter un script post-commit sur votre serveur, dans le répertoire YOUR-REPO/hooks/.
Vous pouvez écrire votre propre script mais nous vous recommandons d’utiliser celui-ci: post-commit
Ce script nécessite Ruby et un Rubygem (json) :
$ sudo apt-get install ruby-full $ sudo apt-get install rubygems $ sudo gem install json
Donnez-lui les autorisations d’exécution :
$ chmod +x post-commit
Puis, configurez l’accès à iceScrum en éditant le script :
icescrum_url = "http://www.example.com/icescrum/" pkey = "MYFIRSTPROJ" access_token = "changeto112323435yourtoken"
Learn to generate an iceScrum API token.
Vous pouvez optionnellement configurer l’URL SVN si vous utilisez un outil Web :
svnviewer_url = "http://svnviewer/svn-history/"
Premièrement, activez l’App GitHub sur votre projet iceScrum.
Remarque: le service GitHub intégré pour iceScrum est uniquement compatible avec iceScrum R6. Pour l’intégration entre GitHub et iceScrum v7, ajoutez simplement un webhook à votre dépôt GitHub comme décrit ci-dessous.
Ajoutez un webhook à votre dépôt GitHub. Dans l’onglet «Paramètres» de votre référentiel GitHub, dans la section «Webhooks», cliquez sur «Ajouter un webhook».
Le payload URL est construit de cette façon :
$server/ws/project/$project/commit/github?icescrum-token=$access_token
https://cloud.icescrum.com
Exemple de payload URL pour le projet cloud PEETIC :
https://cloud.icescrum.com/ws/project/PEETIC/commit/github?icescrum-token=dad27aff397bfes32fdab987
Pour connecter un référentiel GitHub à un projet iceScrum, remplissez les champs suivants :
Il faut d’abord activer l’App GitLab sur votre projet.
Ensuite, créez un webhook GitLab déclenché sur l’évènement de push : https://docs.gitlab.com/ee/user/project/integrations/webhooks.html.
En supposant que vous avez un projet avec la clé MYPROJECTKEY, l’URL est l’URL de votre serveur iceScrum suivie de :
/ws/project/MYPROJECTKEY/commit/gitlab
Voici un exemple d’URL à configurer pour envoyer les commits GitLab sur un projet hébergé sur notre plateforme Cloud :
https://cloud.icescrum.com/ws/project/MYPROJECTKEY/commit/gitlab
A partir d’iceScrum 7.42, vous devez fournir votre Token iceScrum dans le header X-Gitlab-Token. Le token doit avoir été généré par un utilisateur iceScrum qui a accès au projet.
Vous pouvez relier les commits/changesets de Visual Studio Team Service à vos tâches et stories dans iceScrum. Cela fonctionne pour les contrôles de version Git et Team Foundation Version Control.
Il y a 2 manière de configurer votre environment Visual Studio Team Service. Utilisez de préférence l’extension iceScrum.
Tout d’abord installez l’extension iceScrum pour Visual Studio Team Services depuis le market place Visual Studio.
Ajoutez simplement un Service Hook à votre projet VSTS. Dans l’onglet paramètre de votre projet VSTS, dans la section Service Hook cliquez sur Create Subscription.
Sélectionnez iceScrum dans la list de service et cliquez sur next.
Vous pouvez filtrez les repos et les branches dont les commits seront poussés à iceScrum.
Sur l’écran suivant on vous demande les paramètres de connexion. Construisez iceScrum API URL comme ceci :
$server/ws/project/$project/commit/vsts
https://cloud.icescrum.com
Exemple d’URL pour le projet cloud PEETIC :
https://cloud.icescrum.com/ws/project/PEETIC/commit/vsts
Vous aurez aussi besoin d’un token d’accès à l’API iceScrum. Apprenez à générer un token d’API iceScrum.
Testez, sauvegardez le web hook et voila !
Lors du test iceScrum doit renvoyer une réponse HTTP au status 204 car le commit de test fourni ne contient aucune référence à une tâche iceScrum dans son message.
Ajoutez simplement un service Web Hook à votre projet VSTS. Dans l’onglet paramètre de votre projet VSTS, dans la section « Service Hook » cliquez sur « Create Subscription ».
Sélectionnez « Web Hooks » dans la list de service et cliquez sur « next ». Selectionnez l’event de type « Code Pushed ». Vous pouvez filtrez les repos et les branches dont les commits seront poussés à iceScrum.
Sur l’écran suivant on vous demande les paramètres de connexion. Construisez l’URL de Web Hook comme ceci :
$server/ws/project/$project/commit/vsts
https://cloud.icescrum.com
Exemple d’URL pour le projet cloud PEETIC :
https://cloud.icescrum.com/ws/project/PEETIC/commit/vsts
Vous aurez aussi besoin d’un token d’accès à l’API iceScrum. Apprenez à générer un token d’API iceScrum.
Pour connecter un projet VSTS à iceScrum, voici comment configurer le Web Hook :
Testez, sauvegardez le web hook et voila !
Lors du test iceScrum doit renvoyer une réponse HTTP au status 204 car le commit de test fourni ne contient aucune référence à une tâche iceScrum dans son message.