Cette documentation est seulement applicable à iceScrum v7. Si vous voulez vraiment utiliser iceScrum R6, qui sera bientôt obsolète cliquez ici.
Suivez les changements de code en associant vos commits à vos tâches et à vos stories d’utilisateur.
Principes
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 :
Auteur: si l’auteur du commit est reconnu dans iceScrum (nom d’utilisateur, nom complet, email) alors le commit est associé à l’utilisateur iceScrum correspondant.
Message: les balises de tâches sont supprimées du message d’origine pour le rendre plus lisible.
Date: la date du commit.
Files: les fichiers ajoutés, supprimés et modifiés dans votre commit.
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 ».
Commits et stories
La vue Détails d’une story fournit également un onglet « Commits » qui agrège tous les commits de ses tâches.
Mettre à jour le temps restant d'une tâche
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 :
Si le nouveau temps restant est positif et que la tâche n’est pas finie, le temps restant est mis à jour en conséquence.
Si le nouveau temps restant n’est pas spécifié ou est positif et que la tâche est « À faire » alors la tâche est déplacée vers « En cours ».
Si le nouveau temps restant est 0 alors la tâche est déplacée vers « Fini ».
Liez un repository de code à plusieurs projets iceScrum
À 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
Git
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):
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).
SVN
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
Vous pouvez optionnellement configurer l’URL SVN si vous utilisez un outil Web :
svnviewer_url = "http://svnviewer/svn-history/"
GitHub
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».
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.
Visual Studio Team Services
Profitez d’une intégration complète entre iceScrum et Visual Studio Team Services avec un ensemble d’Apps iceScrum dédiées.
VSTS work items : Créez des stories dans iceScrum depuis les work items VSTS.
VSTS code : Liez vos commits VSTS à vos tâches iceScrum.
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.
L’extension iceScrum pour VSTS fonctionne seulement avec les serveurs sécurisés en SSL (l’url doit commencer par https). Si votre serveur n’est pas sécurisé, vous pouvez toujours intégrer les commits de VSTS dans iceScrum en utilisant un service web hook (voir la prochaine section).
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
server: L’URL de votre serveur iceScrum. Pour les instances iceScrum cloud c’est
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.
avec un service web hook
Si votre serveur iceScrum est sécurisé (l’url commence par https), alors utilisez de préférence l’extension iceScrum pour configurer VSTS.
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
server: L’URL de votre serveur iceScrum. Pour les instances iceScrum cloud c’est
Pour connecter un projet VSTS à iceScrum, voici comment configurer le Web Hook :
URL: l’URL décrite ci dessus
HTTP headers: x-icescrum-token:$access_token
Basic authentication username: pas utilisé.
Basic authentication password: pas utilisé.
Resource details to send: All.
Messages to send: All.
Detailed messages to send: All.
RESOURCE VERSION: 1.0.
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.