{"id":187724,"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-04T03:32:01","modified_gmt":"2021-10-04T02:32:01","slug":"discovering-youtrack-workflows","status":"publish","type":"youtrack","link":"https:\/\/blog.jetbrains.com\/pt-br\/youtrack\/2021\/09\/discovering-youtrack-workflows\/","title":{"rendered":"Descobrindo o YouTrack: workflows"},"content":{"rendered":"\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\/DSGN_11828_Discovering_YT_Workflows_BR_Blog_Featured_image_1280x600.png\" alt=\"\" class=\"wp-image-187742\"\/><\/figure>\n\n\n<p>Todos os trabalhos t\u00eam algum tipo de rotina, especialmente quando se trabalha em equipe: fechar uma hist\u00f3ria de usu\u00e1rio quando todas as suas subtarefas estiverem resolvidas; lembrar seus colegas de equipe sobre os deadlines que se aproximam; criar uma tarefa de lan\u00e7amento e v\u00e1rias subtarefas e deleg\u00e1-las aos indiv\u00edduos respons\u00e1veis. Essas etapas soam familiares? Realizar manualmente tarefas desse tipo desperdi\u00e7a tempo e aumenta as chances de que algo importante seja esquecido. O YouTrack chegou para lhe salvar. Anos atr\u00e1s, introduzimos um recurso chamado Workflows, que \u00e9 capaz de automatizar todo tipo de tarefa rotineira. Neste artigo, compartilharemos os fundamentos do recurso Workflows para que voc\u00ea e sua equipe possam facilmente personalizar o YouTrack para adapt\u00e1-lo aos seus processos e automatizar suas tarefas rotineiras.<\/p>\n<p>Temos ainda mais boas not\u00edcias. Uma das pr\u00f3ximas atualiza\u00e7\u00f5es importantes do YouTrack, que ocorrer\u00e1 neste outono, ir\u00e1 ampliar ainda mais a funcionalidade do Workflows. O novo editor visual de workflow permitir\u00e1 que voc\u00ea crie workflows sem precisar ter conhecimentos de programa\u00e7\u00e3o. Voc\u00ea poder\u00e1 simplesmente arrastar e soltar componentes para construir seu processo.<\/p>\n<p>Vamos dar uma olhada mais de perto nos workflows do YouTrack e descobrir como us\u00e1-los de forma eficaz.<\/p>\n<h2>Por que precisamos de workflows?<\/h2>\n<p>Os workflows existem para apoiar os processos da sua equipe e ajud\u00e1-lo a automatizar tarefas rotineiras. Vejamos alguns cen\u00e1rios em que os workflows podem ajudar.<\/p>\n<h3>Impedir atualiza\u00e7\u00f5es indesejadas<\/h3>\n<p>Vamos supor que voc\u00ea tenha uma equipe de contadores que processam solicita\u00e7\u00f5es de pagamento. Sua empresa n\u00e3o quer que a equipe de contabilidade aceite solicita\u00e7\u00f5es de pagamento sem a aprova\u00e7\u00e3o de um gerente. Isto significa que voc\u00ea deve garantir que um contador s\u00f3 possa aceitar uma solicita\u00e7\u00e3o de pagamento depois que ela foi aprovada. Verificar o status manualmente para cada solicita\u00e7\u00e3o pode consumir bastante tempo e existe um risco significativo de que uma solicita\u00e7\u00e3o seja reprovada por ter sido esquecida.<\/p>\n<p>O que os workflows podem fazer por voc\u00ea nesse caso? Um workflow pode reagir quando houver tentativas de aceitar solicita\u00e7\u00f5es de pagamento e tamb\u00e9m pode verificar o status da solicita\u00e7\u00e3o de pagamento correspondente. Ele s\u00f3 permitir\u00e1 a opera\u00e7\u00e3o se o pedido de pagamento tiver sido aprovado. Se o contador tentar processar a solicita\u00e7\u00e3o de pagamento antes de sua aprova\u00e7\u00e3o, o usu\u00e1rio ver\u00e1 uma mensagem explicando que a solicita\u00e7\u00e3o de pagamento n\u00e3o pode ser aceita e a opera\u00e7\u00e3o ser\u00e1 revertida. Isto garante que seu processo seja seguido rigorosamente e que nenhuma solicita\u00e7\u00e3o de pagamento seja aceita prematuramente.<\/p>\n<h3>Criar tarefas recorrentes<\/h3>\n<p>Agora vamos imaginar que voc\u00ea fa\u00e7a parte de uma equipe de marketing. Todos os meses, voc\u00ea precisa publicar um boletim informativo sobre os produtos da equipe. O issue que descreve o boletim informativo \u00e9 praticamente o mesmo todos os meses: o mesmo t\u00edtulo, o mesmo prazo, o mesmo atribu\u00eddo, o que torna f\u00e1cil esquecer o boletim informativo que est\u00e1 por vir e o issue que voc\u00ea precisa criar para ele. Os workflows do YouTrack podem ajud\u00e1-lo a resolver dois problemas neste caso.<\/p>\n<p>Sem precisar de qualquer interfer\u00eancia humana, o workflow pode criar issues com t\u00edtulos e campos predefinidos (respons\u00e1vel, deadline, lista de itens necess\u00e1rios) de acordo com um cronograma especificado, por exemplo, uma vez por m\u00eas. Isto vai servir tanto como uma automa\u00e7\u00e3o quanto como um lembrete para a equipe. Eles n\u00e3o precisar\u00e3o acompanhar os deadlines porque ser\u00e3o notificados automaticamente quando um issue correspondente for criado e, al\u00e9m disso, eles n\u00e3o precisar\u00e3o perder tempo criando esses issues eles mesmos.<\/p>\n<p>Al\u00e9m disso, o workflow pode enviar lembretes \u00e0 equipe de marketing sobre os pr\u00f3ximos deadlines relacionados ao boletim informativo. Por exemplo, ele poderia alertar os membros da equipe tr\u00eas dias antes da data em que os materiais precisam ser enviados \u00e0 equipe de edi\u00e7\u00e3o.<\/p>\n<h3>Atualizar campos na atualiza\u00e7\u00e3o do issue<\/h3>\n<p>Quase todas as equipes, independente do tipo de trabalho que realizam, possuem algumas tarefas rotineiras necess\u00e1rias das quais n\u00e3o gostam: fechar uma hist\u00f3ria de usu\u00e1rio quando todas as subtarefas estiverem resolvidas; atribuir uma solicita\u00e7\u00e3o para conserto da m\u00e1quina de caf\u00e9 ao gerente do escrit\u00f3rio correspondente; calcular e registrar o tempo gasto na prepara\u00e7\u00e3o de um evento. N\u00e3o faltam exemplos. Os workflows podem ajud\u00e1-lo a eliminar a necessidade de interven\u00e7\u00e3o humana para que voc\u00ea n\u00e3o precise mais desperdi\u00e7ar o tempo de sua equipe com essas quest\u00f5es triviais.<\/p>\n<p>Um workflow pode reagir a atualiza\u00e7\u00f5es de issues quando voc\u00ea come\u00e7a a trabalhar num issue, quando o resolve ou quando altera o respons\u00e1vel. Voc\u00ea pode dizer ao workflow o que ele deve fazer em seguida, por exemplo, iniciar um cron\u00f4metro, fechar a tarefa pai ou atualizar a prioridade do issue. Isto significa que voc\u00ea pode criar o processo perfeito diretamente no workflow.<\/p>\n<h2>Fundamentos do workflow do YouTrack<\/h2>\n<p><a href=\"https:\/\/www.jetbrains.com\/help\/youtrack\/devportal\/Quick-Start-Guide-Workflows-JS.html\" target=\"_blank\" rel=\"noopener\">Um workflow<\/a> \u00e9 apenas um container onde voc\u00ea agrega uma ou v\u00e1rias regras. Cada regra \u00e9 um script que trata de um caso de uso espec\u00edfico. Recomendamos combinar regras num workflow quando elas se relacionarem com o mesmo prop\u00f3sito, por exemplo, organizar um processo Kanban ou lidar com datas de vencimento. Os workflows funcionam por projeto e precisam ser <a href=\"https:\/\/www.jetbrains.com\/help\/youtrack\/incloud\/Attach-Workflow-to-Projects.html#attach-workflow-to-project-administration\" target=\"_blank\" rel=\"noopener\">anexados ao projeto<\/a> antes de entrarem em vigor.<\/p>\n<p>O YouTrack vem com um conjunto de workflows default que voc\u00ea pode usar gratuitamente. Entre eles est\u00e3o workflows que tratam de casos de uso populares, como lembretes de deadlines futuros e atribui\u00e7\u00f5es autom\u00e1ticas de issues. Se voc\u00ea n\u00e3o consegue encontrar um workflow que atenda \u00e0s suas necessidades, voc\u00ea sempre pode criar o seu pr\u00f3prio.<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-187756\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2021\/09\/workflow_pt-br.png\" alt=\"\" width=\"2400\" height=\"1600\" \/><\/p>\n<h2>Estrutura das regras<\/h2>\n<p>A maior parte das regras consiste em tr\u00eas partes principais: guard (condi\u00e7\u00e3o), action (a\u00e7\u00e3o) e requirements (requisitos).<\/p>\n<p>A se\u00e7\u00e3o guard especifica as condi\u00e7\u00f5es para a execu\u00e7\u00e3o da regra. Por exemplo, voc\u00ea pode especificar na se\u00e7\u00e3o guard que a regra deve ser acionada apenas para issues relatados que estejam caminhando para um estado de resolu\u00e7\u00e3o.<\/p>\n<p>A se\u00e7\u00e3o action descreve a l\u00f3gica que deve ser aplicada aos issues. Esta \u00e9 a parte principal da regra, onde voc\u00ea diz \u00e0 regra o que ela deve fazer. Por exemplo, a l\u00f3gica na se\u00e7\u00e3o action pode fazer com que a regra envie notifica\u00e7\u00f5es, atualize campos, acrescente novos coment\u00e1rios ou crie issues.<\/p>\n<p>A se\u00e7\u00e3o requirements garante que as regras possam ser anexadas aos projetos com seguran\u00e7a. Por exemplo, se uma regra usar um campo Assignee (respons\u00e1vel) de m\u00faltiplos valores (e o tiver especificado na se\u00e7\u00e3o requirements), a regra n\u00e3o ser\u00e1 executada at\u00e9 que o projeto ao qual est\u00e1 anexada tenha tamb\u00e9m o campo Assignee multi-valor.<\/p>\n<p>Dependendo do tipo de regra, ela pode conter <a class=\"ek-link\" href=\"https:\/\/www.jetbrains.com\/help\/youtrack\/devportal\/rule-specific-properties.html\" target=\"_blank\" rel=\"noopener\">partes adicionais<\/a> na sua estrutura. Vejamos os tipos de regras.<\/p>\n<h2>Tipos de regras de workflow<\/h2>\n<p>Existem quatro tipos principais de regras de workflow: on-change, on-schedule, action e state machine. Vamos dar uma olhada mais de perto nas duas que s\u00e3o mais usadas.<\/p>\n<h3>Regras on-change (acionadas por mudan\u00e7as)<\/h3>\n<p>Uma <a href=\"https:\/\/www.jetbrains.com\/help\/youtrack\/devportal\/on-change-rules.html\" target=\"_blank\" rel=\"noopener\">regra on-change<\/a> \u00e9 acionada quando uma mudan\u00e7a \u00e9 aplicada a um issue. Ela pode ser acionada na cria\u00e7\u00e3o do issue, quando novos coment\u00e1rios forem adicionados, quando um campo for atualizado, etc. Alguns casos de uso t\u00edpicos s\u00e3o atribuir um issue ao usu\u00e1rio que o move para o estado <em>In Progress<\/em> (em andamento) ou n\u00e3o permitir o envio de um issue sem que seja especificada sua data de vencimento. As regras on-change s\u00e3o executadas em nome do usu\u00e1rio que acionou a mudan\u00e7a.<\/p>\n<h3>Regras on-schedule (acionadas por data)<\/h3>\n<p>As <a href=\"https:\/\/www.jetbrains.com\/help\/youtrack\/devportal\/on-schedule-rules.html\" target=\"_blank\" rel=\"noopener\">regras on-schedule<\/a> s\u00e3o acionadas de acordo com um cronograma definido. Por exemplo, uma regra on-schedule pode ser acionada toda segunda-feira, ou diariamente \u00e0s 13h, ou a cada minuto. As regras on-schedule aplicam sua l\u00f3gica a um conjunto de issues encontrados na se\u00e7\u00e3o search da regra. A se\u00e7\u00e3o search cont\u00e9m uma consulta que determina quais problemas s\u00e3o processados por esta regra &#8211; por exemplo, problemas cr\u00edticos n\u00e3o resolvidos &#8211; enquanto que a se\u00e7\u00e3o cron define o cronograma de aplica\u00e7\u00e3o da regra &#8211; por exemplo, diariamente \u00e0s 15h.<\/p>\n<p>Alguns casos de uso t\u00edpicos para regras on-schedule seriam para lembrar o respons\u00e1vel (assignee) por um issue sobre os pr\u00f3ximos deadlines ou para criar issues recorrentes para uma newsletter que precise ser enviada todas as segundas-feiras.<\/p>\n<h2>Estendendo o YouTrack<\/h2>\n<p>A maior parte das equipes possui mais de uma ferramenta na sua infraestrutura. Essas ferramentas, \u00e9 claro, precisam interagir de alguma maneira. Voc\u00ea talvez precise conectar seu sistema de administra\u00e7\u00e3o do relacionamento com o cliente e rastreador de issues, ou suas ferramentas de designer com o sistema de gerenciamento de projeto. Se n\u00e3o houver integra\u00e7\u00e3o pronta para o uso entre o YouTrack e as outras ferramentas que voc\u00ea usa, os workflows tamb\u00e9m poder\u00e3o ajudar. Os workflows do YouTrack podem <a href=\"https:\/\/www.jetbrains.com\/help\/youtrack\/devportal\/JS-Workflow-REST-API.html\" target=\"_blank\" rel=\"noopener\">enviar solicita\u00e7\u00f5es HTTP<\/a> para se comunicar com ferramentas de terceiros, por exemplo, para dizer a elas que um novo issue foi criado ou uma hist\u00f3ria de usu\u00e1rio foi resolvida.<\/p>\n<h2>Exemplos prontos para usar<\/h2>\n<p>H\u00e1 algum tempo, come\u00e7amos a compilar os cen\u00e1rios de workflow mais populares numa s\u00e9rie de artigos dedicadas no blog: <a class=\"ek-link\" href=\"https:\/\/blog.jetbrains.com\/youtrack\/tag\/makeitworkflow\/\">Make It Workflow<\/a>. Ele inclui artigos do blog que descrevem como aprimorar as experi\u00eancias de helpdesk e da caixa de correio, como gerar relat\u00f3rios de tempo e envi\u00e1-los para seu e-mail e como ajudar no processo evitando atualiza\u00e7\u00f5es indesejadas em issues (incluindo altera\u00e7\u00f5es nas configura\u00e7\u00f5es de visibilidade e atualiza\u00e7\u00f5es de campos). Convidamos voc\u00ea a se familiarizar com esses artigos para aprender como usar workflows eficientemente e ganhar alguns novos insights sobre como automatizar partes dos seus processos de trabalho.<\/p>\n<p>Esperamos que essas dicas lhe ajudem a configurar o YouTrack para que ele se adapte \u00e0s necessidades de sua equipe. Adorar\u00edamos ouvir suas ideias e opini\u00f5es! Existe algo que voc\u00ea gostaria que fosse adicionado ou melhorado na funcionalidade de workflows do YouTrack?<\/p>\n<p>Por favor, compartilhe suas impress\u00f5es conosco nos coment\u00e1rios abaixo ou fa\u00e7a uma solicita\u00e7\u00e3o diretamente \u00e0 nossa <a href=\"https:\/\/youtrack-support.jetbrains.com\/hc\/en-us\/requests\/new?ticket_form_id=66282\" target=\"_blank\" rel=\"noopener\">equipe de suporte<\/a>. Enquanto isso, n\u00f3s estamos preparando uma grande atualiza\u00e7\u00e3o de funcionalidades com o pr\u00f3ximo lan\u00e7amento principal do YouTrack neste outono: um editor visual para workflows. Isto permitir\u00e1 que as equipes criem workflows sem precisar ter nenhuma habilidade de programa\u00e7\u00e3o, ent\u00e3o fique atento!<\/p>\n<p>Equipe do YouTrack<\/p>\n<p><em>Artigo original em ingl\u00eas por:<br \/><br \/><\/em><\/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":1086,"featured_media":187727,"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\/pt-br\/wp-json\/wp\/v2\/youtrack\/187724"}],"collection":[{"href":"https:\/\/blog.jetbrains.com\/pt-br\/wp-json\/wp\/v2\/youtrack"}],"about":[{"href":"https:\/\/blog.jetbrains.com\/pt-br\/wp-json\/wp\/v2\/types\/youtrack"}],"author":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/pt-br\/wp-json\/wp\/v2\/users\/1086"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/pt-br\/wp-json\/wp\/v2\/comments?post=187724"}],"version-history":[{"count":10,"href":"https:\/\/blog.jetbrains.com\/pt-br\/wp-json\/wp\/v2\/youtrack\/187724\/revisions"}],"predecessor-version":[{"id":187776,"href":"https:\/\/blog.jetbrains.com\/pt-br\/wp-json\/wp\/v2\/youtrack\/187724\/revisions\/187776"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/pt-br\/wp-json\/wp\/v2\/media\/187727"}],"wp:attachment":[{"href":"https:\/\/blog.jetbrains.com\/pt-br\/wp-json\/wp\/v2\/media?parent=187724"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/pt-br\/wp-json\/wp\/v2\/categories?post=187724"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/pt-br\/wp-json\/wp\/v2\/tags?post=187724"},{"taxonomy":"cross-post-tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/pt-br\/wp-json\/wp\/v2\/cross-post-tag?post=187724"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}