{"id":187354,"date":"2021-09-30T12:55:37","date_gmt":"2021-09-30T11:55:37","guid":{"rendered":"https:\/\/blog.jetbrains.com\/youtrack\/2021\/09\/discovering-youtrack-workflows\/"},"modified":"2021-10-04T09:16:18","modified_gmt":"2021-10-04T08:16:18","slug":"a-la-decouverte-de-youtrack-les-workflows","status":"publish","type":"youtrack","link":"https:\/\/blog.jetbrains.com\/fr\/youtrack\/2021\/09\/a-la-decouverte-de-youtrack-les-workflows\/","title":{"rendered":"\u00c0 la d\u00e9couverte de YouTrack : les workflows"},"content":{"rendered":"\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"1280\" height=\"600\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2021\/10\/YouTrack_Workflows_FR_Blog_Featured.png\" alt=\"\" class=\"wp-image-187830\"\/><\/figure>\n\n\n<p>Chaque type de poste et \u00e9quipe a des processus de travail bien d\u00e9finis \u00e0 respecter, qu&#8217;il s&#8217;agisse de cl\u00f4turer un r\u00e9cit utilisateur lorsque toutes ses sous-t\u00e2ches sont r\u00e9solues, de rappeler les \u00e9ch\u00e9ances \u00e0 venir aux collaborateurs, de cr\u00e9er une t\u00e2che et un ensemble de sous-t\u00e2ches pour le lancement d&#8217;un produit et de les attribuer aux personnes responsables, etc. Ces \u00e9tapes vous semblent famili\u00e8res ? Ce genre de t\u00e2ches, lorsqu&#8217;elles sont effectu\u00e9es manuellement, font perdre du temps et augmentent les risques de passer \u00e0 c\u00f4t\u00e9 de quelque chose d&#8217;important. YouTrack est l\u00e0 pour vous aider \u00e0 \u00e9viter cela. Il y a plusieurs ann\u00e9es, nous avons introduit une fonctionnalit\u00e9 appel\u00e9e Workflows, qui automatise toutes ces t\u00e2ches routini\u00e8res. Dans cet article, nous vous pr\u00e9sentons les principes fondamentaux de la fonctionnalit\u00e9 Workflows afin que vous et votre \u00e9quipe puissiez facilement adapter YouTrack \u00e0 vos processus et automatiser vos t\u00e2ches.<\/p>\n<p>Et ce n&#8217;est pas tout. L&#8217;une des prochaines mises \u00e0 jour majeures de YouTrack, qui aura lieu cet automne, \u00e9tendra encore davantage cette fonctionnalit\u00e9. Le tout nouvel \u00e9diteur visuel de workflows permettra de cr\u00e9er des workflows m\u00eame sans avoir de comp\u00e9tences en mati\u00e8re de programmation. Il vous suffira de glisser-d\u00e9poser des composants pour construire votre processus.<\/p>\n<p>Regardons de plus pr\u00e8s les workflows dans YouTrack et comment les utiliser efficacement.<\/p>\n<h2>\u00c0 quoi servent les workflows ?<\/h2>\n<p>Les workflows permettent d&#8217;automatiser les t\u00e2ches routini\u00e8res pour simplifier le travail de votre \u00e9quipe. Examinons quelques situations dans lesquels les workflows sont utiles.<\/p>\n<h3>Emp\u00eacher les mises \u00e0 jour ind\u00e9sirables<\/h3>\n<p>Supposons que vous travailliez dans une \u00e9quipe de comptables qui traitent les demandes de paiement. Votre entreprise ne veut pas que l&#8217;\u00e9quipe de comptabilit\u00e9 accepte les demandes de paiement sans l&#8217;approbation d&#8217;un\u00b7e responsable. Vous devez donc vous assurer qu&#8217;un\u00b7e comptable ne puisse accepter une demande de paiement qu&#8217;apr\u00e8s qu&#8217;elle ait \u00e9t\u00e9 approuv\u00e9e. V\u00e9rifier manuellement le statut de chaque demande peut prendre beaucoup de temps et le risque est grand qu&#8217;une demande ne soit pas approuv\u00e9e parce qu&#8217;elle a \u00e9t\u00e9 oubli\u00e9e.<\/p>\n<p>En quoi les workflows peuvent-ils vous aider dans ce cas ? Un workflow peut r\u00e9agir \u00e0 des tentatives d&#8217;acceptation de demandes de paiement et v\u00e9rifier le statut de la demande de paiement correspondante. Il n&#8217;autorisera l&#8217;op\u00e9ration que si la demande de paiement a \u00e9t\u00e9 approuv\u00e9e. Si un\u00b7e comptable tente de traiter la demande de paiement avant qu&#8217;elle n&#8217;ait \u00e9t\u00e9 approuv\u00e9e, il ou elle verra alors un message indiquant que la demande de paiement ne peut pas \u00eatre accept\u00e9e et l&#8217;op\u00e9ration sera annul\u00e9e. Cela garantit que votre processus soit scrupuleusement suivi et qu&#8217;aucune demande de paiement ne soit accept\u00e9e pr\u00e9matur\u00e9ment.<\/p>\n<h3>Cr\u00e9er des t\u00e2ches r\u00e9currentes<\/h3>\n<p>Imaginons maintenant que vous fassiez partie d&#8217;une \u00e9quipe marketing. Chaque mois, vous devez publier une newsletter sur les produits. Le ticket d\u00e9crivant cette newsletter est quasiment identique chaque mois&nbsp;: m\u00eame titre, m\u00eame date d&#8217;\u00e9ch\u00e9ance, m\u00eame responsable \u2013 il y a donc un risque d&#8217;oublier de cr\u00e9er un nouveau ticket pour la r\u00e9alisation de la newsletter suivante. Dans ce cas, les workflows de YouTrack permettent de r\u00e9soudre deux probl\u00e8mes.<\/p>\n<p>Le workflow peut cr\u00e9er des tickets avec des titres et des champs pr\u00e9d\u00e9finis (responsable, \u00e9ch\u00e9ance, liste des \u00e9l\u00e9ments requis, etc.) selon un calendrier pr\u00e9cis, par exemple une fois par mois, sans aucune intervention humaine. Il servira \u00e0 la fois de m\u00e9canisme d&#8217;automatisation et de rappel \u00e0 l&#8217;\u00e9quipe. Les membres de l&#8217;\u00e9quipe n&#8217;auront pas besoin de garder les \u00e9ch\u00e9ances en t\u00eate car ils seront automatiquement inform\u00e9s de la cr\u00e9ation d&#8217;un ticket. De plus, ils ne perdront pas de temps \u00e0 cr\u00e9er un ticket eux-m\u00eames.<\/p>\n<p>Par ailleurs, le workflow peut envoyer \u00e0 l&#8217;\u00e9quipe des rappels concernant les prochaines \u00e9ch\u00e9ances pour la newsletter. Il peut par exemple alerter les membres de l&#8217;\u00e9quipe trois jours avant la date \u00e0 laquelle les documents doivent \u00eatre envoy\u00e9s \u00e0 l&#8217;\u00e9quipe de r\u00e9daction.<\/p>\n<h3>Mettre \u00e0 jour des champs lors de la mise \u00e0 jour du ticket<\/h3>\n<p>Presque toutes les \u00e9quipes, quel que soit leur travail, ont \u00e0 des t\u00e2ches routini\u00e8res n\u00e9cessaires \u00e0 effectuer : cl\u00f4turer un r\u00e9cit utilisateur lorsque toutes les sous-t\u00e2ches sont r\u00e9solues, attribuer une demande de r\u00e9paration de la machine \u00e0 caf\u00e9 \u00e0 la ou au responsable du bureau concern\u00e9, calculer et consigner le temps pass\u00e9 \u00e0 pr\u00e9parer un \u00e9v\u00e9nement, etc. Les exemples ne manquent pas. Les workflows suppriment le besoin d&#8217;intervention humaine et \u00e9vitent \u00e0 votre \u00e9quipe ne perdre du temps avec ce genre de t\u00e2ches.<\/p>\n<p>Un workflow peut r\u00e9agir aux mises \u00e0 jour des tickets lorsque vous commencez \u00e0 travailler dessus, lorsque vous le r\u00e9solvez ou lorsque vous en modifiez la ou le responsable. Vous pouvez indiquer au workflow l&#8217;action \u00e0 effectuer ensuite, par exemple, d\u00e9clencher une minuterie, fermer la t\u00e2che parente ou mettre \u00e0 jour la priorit\u00e9 du ticket. Vous avez ainsi la possibilit\u00e9 de cr\u00e9er le processus parfait directement dans le workflow.<\/p>\n<h2>Principes fondamentaux des workflows de YouTrack<\/h2>\n<p><a href=\"https:\/\/www.jetbrains.com\/help\/youtrack\/devportal\/Quick-Start-Guide-Workflows-JS.html\" target=\"_blank\" rel=\"noopener\">Un workflow<\/a> est simplement un conteneur dans lequel on rassemble une ou plusieurs r\u00e8gle\u00b7s. Chaque r\u00e8gle est un script permettant de g\u00e9rer un cas d&#8217;utilisation pr\u00e9cis. Les r\u00e8gles d&#8217;un m\u00eame workflow ont le m\u00eame objectif, par exemple l&#8217;organisation d&#8217;un processus Kanban ou la gestion des \u00e9ch\u00e9ances. Les workflows se d\u00e9ploient dans le cadre d&#8217;un projet et doivent \u00eatre <a href=\"https:\/\/www.jetbrains.com\/help\/youtrack\/incloud\/Attach-Workflow-to-Projects.html#attach-workflow-to-project-administration\" target=\"_blank\" rel=\"noopener\">joints \u00e0 ce dernier<\/a> avant de devenir effectifs.<\/p>\n<p>YouTrack est livr\u00e9 avec un ensemble de workflows par d\u00e9faut, que vous \u00eates libre d&#8217;utiliser ou non. Parmi eux, on trouve des workflows pour des cas d&#8217;utilisation courants, tels que les rappels d&#8217;\u00e9ch\u00e9ances et l&#8217;attribution automatique des tickets. Si vous ne trouvez pas le workflow adapt\u00e9 \u00e0 vos besoins, vous pouvez le cr\u00e9er vous-m\u00eame.&nbsp;<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-187379\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2021\/09\/workflow_fr-fr.png\" alt=\"Fonctionnalit\u00e9 Workflows dans YouTrack\" width=\"2400\" height=\"1600\"><\/p>\n<h2>Structure des r\u00e8gles<\/h2>\n<p>La plupart des r\u00e8gles se composent de trois parties principales : condition (guard), action et exigences (requirements).<\/p>\n<p>La section \u00ab&nbsp;condition&nbsp;\u00bb sp\u00e9cifie les conditions d&#8217;ex\u00e9cution de la r\u00e8gle. Par exemple, vous pouvez y pr\u00e9ciser que la r\u00e8gle ne doit se d\u00e9clencher que pour les tickets signal\u00e9s comme \u00e9tant r\u00e9solus.<\/p>\n<p>La section \u00ab&nbsp;action&nbsp;\u00bb d\u00e9crit la logique qui s&#8217;applique aux tickets. Il s&#8217;agit de la partie principale de la r\u00e8gle, dans laquelle vous lui indiquez ce qu&#8217;elle doit faire. Par exemple, la logique de la section \u00ab&nbsp;action&nbsp;\u00bb peut \u00eatre que la r\u00e8gle envoie des notifications, mette \u00e0 jour des champs, ajoute de nouveaux commentaires ou cr\u00e9e des tickets.<\/p>\n<p>La section \u00ab&nbsp;exigences&nbsp;\u00bb garantit que les r\u00e8gles peuvent \u00eatre jointes aux projets en toute s\u00e9curit\u00e9. Par exemple, si une r\u00e8gle utilise un champ \u00ab&nbsp;Responsable&nbsp;\u00bb acceptant plusieurs valeurs, et que ceci est sp\u00e9cifi\u00e9 dans la section \u00ab&nbsp;exigences&nbsp;\u00bb, la r\u00e8gle ne s&#8217;ex\u00e9cutera que si le projet auquel elle est jointe a un champ \u00ab&nbsp;Responsable&nbsp;\u00bb \u00e0 plusieurs valeurs.<\/p>\n<p>Selon le type de r\u00e8gle, sa structure peut comporter <a class=\"ek-link\" href=\"https:\/\/www.jetbrains.com\/help\/youtrack\/devportal\/rule-specific-properties.html\" target=\"_blank\" rel=\"noopener\">des parties suppl\u00e9mentaires<\/a>. Voyons quels sont les types de r\u00e8gles.<\/p>\n<h2>Types de r\u00e8gles de workflow<\/h2>\n<p>Il existe quatre principaux types de r\u00e8gles de workflow : \u00ab&nbsp;si modification&nbsp;\u00bb, \u00ab&nbsp;si programm\u00e9&nbsp;\u00bb, \u00ab&nbsp;action&nbsp;\u00bb et \u00ab&nbsp;machine d&#8217;\u00e9tat&nbsp;\u00bb. Voyons plus en d\u00e9tail les deux types les plus utilis\u00e9s.<\/p>\n<h3>R\u00e8gles \u00ab&nbsp;si modification&nbsp;\u00bb<\/h3>\n<p>Une <a href=\"https:\/\/www.jetbrains.com\/help\/youtrack\/devportal\/on-change-rules.html\" target=\"_blank\" rel=\"noopener\">r\u00e8gle \u00ab&nbsp;si modification&nbsp;\u00bb<\/a> se d\u00e9clenche lorsqu&#8217;une modification est appliqu\u00e9e \u00e0 un ticket. Elle peut se d\u00e9clencher lors de la cr\u00e9ation d&#8217;un ticket, de l&#8217;ajout de nouveaux commentaires, de la mise \u00e0 jour d&#8217;un champ, etc. Attribuer un ticket \u00e0 l&#8217;utilisateur ou l&#8217;utilisatrice qui le fait passer \u00e0 l&#8217;\u00e9tat <em>En cours<\/em> ou rendre impossible la cr\u00e9ation d&#8217;un ticket sans qu&#8217;une date d&#8217;\u00e9ch\u00e9ance soit sp\u00e9cifi\u00e9e font partie des cas d&#8217;utilisation classiques de ce type de r\u00e8gle. Les r\u00e8gles \u00ab&nbsp;si modification&nbsp;\u00bb sont ex\u00e9cut\u00e9es pour le compte de l&#8217;utilisateur ou de l&#8217;utilisatrice qui a d\u00e9clench\u00e9 la modification.<\/p>\n<h3>R\u00e8gles \u00ab&nbsp;si programm\u00e9&nbsp;\u00bb<\/h3>\n<p>Les<a href=\"https:\/\/www.jetbrains.com\/help\/youtrack\/devportal\/on-schedule-rules.html\" target=\"_blank\" rel=\"noopener\"> r\u00e8gles \u00ab&nbsp;si programm\u00e9&nbsp;\u00bb<\/a> se d\u00e9clenchent en fonction d&#8217;un calendrier d\u00e9fini. Par exemple, une r\u00e8gle \u00ab&nbsp;si programm\u00e9&nbsp;\u00bb peut se d\u00e9clencher chaque lundi, ou tous les jours \u00e0 13 heures, ou toutes les minutes. Les r\u00e8gles \u00ab&nbsp;si programm\u00e9&nbsp;\u00bb appliquent leur logique \u00e0 l&#8217;ensemble des tickets qui se trouvent dans la section \u00ab&nbsp;recherche&nbsp;\u00bb de la r\u00e8gle. La section \u00ab&nbsp;recherche&nbsp;\u00bb contient une requ\u00eate qui d\u00e9termine les tickets concern\u00e9s par cette r\u00e8gle (par exemple, les tickets critiques non r\u00e9solus), tandis que la section \u00ab&nbsp;cron \u00bb d\u00e9finit le planning d&#8217;application de la r\u00e8gle (par exemple, tous les jours \u00e0 15 heures).<\/p>\n<p>Le rappel des \u00e9ch\u00e9ances \u00e0 venir \u00e0 la personne responsable d&#8217;un ticket, ou la cr\u00e9ation de tickets r\u00e9currents pour une newsletter \u00e0 envoyer tous les lundis, sont des exemples types d&#8217;application pour les r\u00e8gles \u00ab&nbsp;si programm\u00e9&nbsp;\u00bb.<\/p>\n<h2>Extension de YouTrack<\/h2>\n<p>L&#8217;infrastructure de la plupart des \u00e9quipes se compose de plusieurs outils. Et bien s\u00fbr, ces outils doivent interagir d&#8217;une mani\u00e8re ou d&#8217;une autre. Vous pouvez avoir besoin de connecter votre syst\u00e8me de gestion de la relation client et votre outil de suivi des tickets, ou vos outils de conception avec le syst\u00e8me de gestion de projet. En l&#8217;absence d&#8217;int\u00e9gration automatique entre YouTrack et les autres outils que vous utilisez, l\u00e0 aussi, les workflows peuvent vous aider. Les workflows YouTrack peuvent <a href=\"https:\/\/www.jetbrains.com\/help\/youtrack\/devportal\/JS-Workflow-REST-API.html\" target=\"_blank\" rel=\"noopener\">envoyer des requ\u00eates HTTP<\/a> pour communiquer avec des outils tiers, par exemple pour leur indiquer qu&#8217;un nouveau ticket a \u00e9t\u00e9 cr\u00e9\u00e9 ou qu&#8217;un r\u00e9cit utilisateur a \u00e9t\u00e9 r\u00e9solu.<\/p>\n<h2>Exemples de cas d&#8217;utilisation d\u00e9taill\u00e9s<\/h2>\n<p>Il y a quelque temps, nous avons commenc\u00e9 \u00e0 compiler les sc\u00e9narios de workflows les plus populaires dans une s\u00e9rie d&#8217;articles de blog d\u00e9di\u00e9e&nbsp;: <a class=\"ek-link\" href=\"https:\/\/blog.jetbrains.com\/youtrack\/tag\/makeitworkflow\/\">Make It Workflow<\/a>. Cette s\u00e9rie d&#8217;articles explique comment am\u00e9liorer l&#8217;efficacit\u00e9 de votre service d&#8217;assistance et l&#8217;utilisation de la messagerie, comment g\u00e9n\u00e9rer des rapports de temps et les envoyer par e-mail, ou encore comment simplifier votre processus et emp\u00eacher les mises \u00e0 jour ind\u00e9sirables des tickets (notamment les modifications des param\u00e8tres de visibilit\u00e9 et les mises \u00e0 jour des champs). Nous vous invitons \u00e0 consulter ces articles pour en savoir plus sur l&#8217;optimisation de l&#8217;utilisation des workflows et pour trouver de nouvelles id\u00e9es d&#8217;automatisation pour certaines parties de vos processus.<\/p>\n<p>Nous esp\u00e9rons que ces conseils vous aideront \u00e0 configurer YouTrack afin qu&#8217;il r\u00e9ponde aux besoins de votre \u00e9quipe. Nous avons h\u00e2te de savoir ce que vous en pensez&nbsp;! Vous avez des suggestions d&#8217;ajouts ou d&#8217;am\u00e9liorations pour la fonctionnalit\u00e9 Workflows de YouTrack ?<\/p>\n<p>N&#8217;h\u00e9sitez pas \u00e0 partager vos r\u00e9flexions avec nous dans les commentaires ci-dessous ou \u00e0 faire une <a href=\"https:\/\/youtrack-support.jetbrains.com\/hc\/en-us\/requests\/new?ticket_form_id=66282\" target=\"_blank\" rel=\"noopener\">demande d&#8217;assistance<\/a>. En attendant, nous pr\u00e9parons une nouvelle mise \u00e0 jour majeure de la fonctionnalit\u00e9 avec la prochaine version de YouTrack pr\u00e9vue pour cet automne, qui apportera un \u00e9diteur visuel de workflows. Vos \u00e9quipes pourront ainsi cr\u00e9er des workflows sans avoir de comp\u00e9tences en programmation. Restez \u00e0 l&#8217;\u00e9coute !<\/p>\n<p>L&#8217;\u00c9quipe YouTrack<\/p>\n\n    <div class=\"about-author \">\n        <div class=\"about-author__box\">\n            <div class=\"row\">\n                <div class=\"about-author__box-img\">\n                    <img decoding=\"async\" src=\"https:\/\/secure.gravatar.com\/avatar\/?s=200&#038;r=g\" width=\"200\" height=\"200\" alt=\"\" loading=\"lazy\"  class=\"avatar avatar-200 wp-user-avatar wp-user-avatar-200 photo avatar-default\">\n                <\/div>\n                <div class=\"about-author__box-text\">\n                                                        <\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n","protected":false},"author":813,"featured_media":186879,"comment_status":"closed","ping_status":"closed","template":"","categories":[808,89],"tags":[6760,84,334,1364,1550,1545],"cross-post-tag":[],"acf":[],"_links":{"self":[{"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/youtrack\/187354"}],"collection":[{"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/youtrack"}],"about":[{"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/types\/youtrack"}],"author":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/users\/813"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/comments?post=187354"}],"version-history":[{"count":11,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/youtrack\/187354\/revisions"}],"predecessor-version":[{"id":198578,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/youtrack\/187354\/revisions\/198578"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/media\/186879"}],"wp:attachment":[{"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/media?parent=187354"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/categories?post=187354"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/tags?post=187354"},{"taxonomy":"cross-post-tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/cross-post-tag?post=187354"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}