Passer au contenu principal
Base de connaissancesv15.1

Flux de travail

Nous allons apprendre à créer des applications personnalisées à travers un exemple. Nous allons développer une application simple de suivi des bogues. Nous supposerons la présence de deux équipes : les développeurs, qui corrigent les bogues, et l’équipe d’assurance qualité (AQ), qui teste les corrections apportées par les développeurs. Nous modéliserons le flux de travail de gestion des bogues suivant :

En termes simples, le diagramme se traduit par :

  • When a bug is reported, it is in the New state.
  • QA verifies the bug. If it is not a bug, the bug moves to Closed; else to the Verified state.
  • A verified bug fixed by a developer moves to the Fixed state.
  • The fix is then tested by QA and the bug moves to Reopened, if test fails; or Closed, if the test passes.
  • A Reopened bug fixed by the developer moves to the Fixed state.

Each bubble is represents a stage in the bug life-cycle while each arrow an end-user action. Next to each state we have defined the team responsible for it. Also, note that there is no way for a bug to move from any state directly to any other state e.g. A bug cannot move directly from New to Fixed

Nous utilisons nous-mêmes notre propre application de suivi des bogues, mais elle comporte beaucoup plus d'états pour indiquer la présence d'un cas de test, la mise à jour de la documentation, l'ajout d'un cas de test, etc. De même, vous pouvez rendre le flux de travail aussi complexe ou simple que vous le souhaitez. Pour l'instant, concentrons-nous sur le flux de travail simple que nous avons évoqué précédemment.

Création d'une application

Pour créer une application, rendez-vous sur Menu principalAdministrateurApplications personnaliséesApplications et cliquez sur AjouterVous verrez un formulaire comportant plusieurs onglets. Nous allons les détailler un par un ci-dessous.

L'onglet Basique

Cet onglet définit certaines propriétés de base de l'application. De plus, il contrôle également certains comportements de l'application.

NomNom de votre application. Nous indiquerons « Bug » ici.
PlurielLe pluriel du nom.
Initial AssigneeSélectionnez l'utilisateur qui sera automatiquement affecté aux nouvelles instances.
App Client ReqdPar défaut, le créateur d'un élément d'application en est également le demandeur. Cependant, il peut arriver que vous souhaitiez lancer une application pour le compte d'une autre personne et que les notifications et mises à jour lui soient envoyées, et non au créateur. Dans notre application, nous souhaitons que nos agents de support puissent signaler des bogues pour le compte d'un client, mais que les mises à jour soient envoyées à ce dernier. C'est pourquoi nous activons cette option. Une fois activée, un « Demandeur » apparaît lors de la création d'une nouvelle instance d'application.
Use Due DateThis option determines whether to enable or disable the due date field on the Add/Edit app item. Since we don't want to use the Due Date field, we check this option.
Use PriorityThis option determines whether to enable or disable the Priority field on the Add/Edit app item. Since we don't want to use the Priority field, we check this option.
Le temps est-il autorisé ?Autoriser ou non l'enregistrement du temps passé sur l'élément d'application. Nous souhaitons que nos développeurs et notre équipe d'assurance qualité enregistrent leur temps de travail ; nous avons donc coché cette option.
Is Client InitiableIndiquez si vous souhaitez que vos clients puissent créer de nouvelles instances. Nous souhaitons que nos clients signalent les bogues, c'est pourquoi nous cochons cette option.
DescriptionUne brève description de votre application.
AbonnésSélectionnez les abonnés par défaut. Ces abonnés recevront des notifications en cas de réaffectation, de changement de statut ou de nouveaux commentaires.
ActifIndiquez si vous souhaitez activer ou désactiver votre application. La désactiver ne supprimera pas les instances existantes de cette application.

L'onglet États

Cet onglet définit les états de l'application. Vous pouvez également indiquer les états de début et de fin du flux de travail. Nous avons répertorié tous les états de notre flux de travail de correction de bogues.

État initialLorsqu'un élément d'application est créé, il passe à cet état. Dans notre cas, il s'agit de « Nouveau ».
État finalLorsqu'un élément d'application atteint cet état, le processus est considéré comme terminé. Dans notre cas, il est fermé.

L'onglet Flux de travail

This tab defines all the arrows in the workflow diagram. Each arrow represents an end-user action. We shall see more about its usage later on in the documentation.

ActionNom de l'action. Ce nom sera utilisé dans les menus d'actions pour les bogues.
DepuisL'État d'origine de la flèche.
ÀL'état où la flèche se termine. Une fois l'action effectuée, notre bogue passera à cet état.
Attribuer àL'utilisateur auquel le flux de travail sera attribué une fois l'action effectuée. L'invite dans le rôle : Développeur indique que l'utilisateur effectuant la vérification du bogue se verra présenter une liste de développeurs parmi lesquels choisir le nouvel auteur de la tâche.
Action Allow UserDétermine si cette action peut être effectuée par un utilisateur. Dans certains cas, nous ne souhaitons pas que les utilisateurs finaux effectuent cette action. Par exemple, dans les systèmes de support technique, les tickets restés sans réponse sont automatiquement fermés après quelques jours d'inactivité.

L'onglet Déclencheurs

Using triggers you can tell Celoxis to perform state transitions when it receives an email from the requestor.

In our bug tracking app, we don't need any triggers. However, let's take this help desk workflow for example. In case of the help desk app, the requestor will be the person who asked a question. When

that

person replies via

email

, we would want the ticket to be automatically moved to the Unresolved state as then it would be brought to the attention of the support team. In other words, we would want the Reopen transitions to happen. In this case, we would be defining our triggers like this:

L'onglet Gestionnaires d'État

A state managers is a user who is treated as a Manager when an app is in a particular state. They are notified when things happen to an item in this state. In our example below, Mark is the QA manager, so he is responsible for the New and Fixed states where the QA team is supposed to do work.

You can override state managers at a project level if the person managing that state is different.


Et ensuite ?

Nous avons créé une application personnalisée pour notre flux de travail de gestion des bogues. Dans le chapitre suivant, nous ajouterons des champs personnalisés au bogue.