Automatização no Jira: um guia básico
Tags: ledscommunity, jira, automatizacao, devops
Published: 2024-03-07 21:00:22

# Introdução
Este artigo visa fornecer insights sobre a automação de processos no Jira, bem como apresentar a integração da ferramenta com o GitLab. Os dados levantados levam coma base minha participação no projeto piloto Slave One, do LEDS, onde tive a oportunidade de explorar e implementar estratégias de automação que otimizaram a gestão do projeto. 

# Automação: pra que serve?
A automação tem como objetivo principal simplificar e agilizar processos repetitivos dentro de um projeto. Aplicando a automação em tarefas manuais, é possível reduzir erros, aumentar a produtividade da equipe e liberar recursos humanos para atividades mais estratégicas e de maior valor agregado. No contexto da gestão de projetos no Jira, a automação pode ser empregada para uma variedade de finalidades, tais como:
1. **Automatizar fluxos de trabalho:** Configurar regras de automação para mover automaticamente as tarefas de um estágio para outro do processo, com base em determinados eventos ou condições.
2. **Atribuição de tarefas:** Automatizar a atribuição de tarefas com base em critérios predefinidos, como especialidade ou carga de trabalho do membro da equipe.
3. **Atualização de campos:** Automatizar a atualização de campos específicos de uma tarefa quando determinadas ações são realizadas, economizando tempo e garantindo a consistência dos dados.
4. **Integração com outras ferramentas:** Automatizar a sincronização de informações entre o Jira e outras ferramentas utilizadas pela equipe, como o GitLab, garantindo uma colaboração eficiente e integrada.

# Elementos das regras de automação
As regras de automação levam em consideração três principais elementos: **acionadores/triggers** que ativam a regra, **condições/conditions** que refinam a regra e **ações/actions** que realizam tarefas no seu site. No Jira, há templates que você pode utilizar para iniciar a automação do seu projeto. Acesse a biblioteca de templates do Jira [aqui.](https://www.atlassian.com/br/software/jira/automation-template-library#/rule-list?systemLabelId=all&page=1&pageSize=20&sortKey=name&sortOrder=ASC)
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kka0oasw4v0lco6b8ax4.png)
## Acionadores (triggers)
Acionadores são o ponta pé de qualquer regra de automação. É a partir deles que a regra é iniciada e alguns deles podem ser configurados para inicialização manual com base em uma condição definida ou agendada. Veja a lista de acionadores disponíveis [aqui.](https://support.atlassian.com/cloud-automation/docs/jira-automation-triggers/)
## Condições (conditions)
As condições, por sua vez, permitem que você reduza o escopo da sua regra. Se uma condição não for atendida, a execução da regra vai ser interrompida e nenhuma ação que segue a condição vai ser realizada. Veja a lista de acionadores disponíveis [aqui.](https://support.atlassian.com/cloud-automation/docs/jira-automation-conditions/)
## Ações
Por fim, as ações implementam a regra, permitindo que você realize diversas tarefas, como editar um item, enviar uma notificação ou criar subtarefas. Veja a lista de ações [aqui.](https://support.atlassian.com/cloud-automation/docs/jira-automation-actions/) Para entender melhor a definição de outros elementos igualmente importantes na automação como Ramificação, Agente da Regra, Status da Regra e Log de Auditoria, leia o overview do feito pelo Jira [aqui.](https://www.atlassian.com/br/software/jira/guides/automation/overview#smart-values)
# Automações implementadas no Slave One
De acordo com as necessidades do projeto Slave One, foram criadas algumas automações. Você pode duplicá-las no seu projeto acessando *Project settings -> Automation -> Create rule*. Algumas foram criadas a partir de templates, então não deixe de conferir a biblioteca de templates do Jira. Vamos aos exemplos:

1. Fechar itens duplicados
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/d7xqowudnk6rzdqci6dl.png)

2. Marca a história ou tarefa como "Concluído" quando todas as subtasks estão concluídas
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ff29k0qk58n8opysi5ud.png)

3. Marca a história ou tarefa como "Em progresso" quando pelo menos uma subtask está em andamento
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/el573g90g0f5vgjn7j0w.png)

4. Quando todas as histórias estão concluídas, o Epic pai a elas relacionado também é marcado como "Concluído"
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bwb0hqpakio5w611k7q8.png)

# Integração com o GitLab
Também é possível automatizar regras que auxiliem no processo de desenvolvimento, integrando o Jira com ferramentas de gerenciamento de código-fonte como o GitLab. Para integrar ambas as ferramentas, leias as instruções [aqui](https://docs.gitlab.com/ee/integration/jira/connect-app.html). Como regras de automação ligadas a ações no GitLab, temos as seguintes:

- Quando um commit é feito, o item é movido para "Em progresso"
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rxi0kvmoamioafa9h3aq.png)

- Quando um item é movido para "Em progresso", uma branch no GitLab é criada
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qno6zk09erspunm16ttp.png)

# Conclusão
A automação quando utilizada da forma correta, pode ser uma grande aliada no seu projeto, impulsionando a produtividade do time ao simplificar processos. Espero que esse tutorial te ajude a implementar uma gestão mais eficiente por aí ;)

# Links úteis
- [Automação no Jira Software: noções básicas e casos de uso (atlassian.com)](https://www.atlassian.com/br/software/jira/guides/automation/overview#board-vs-project)
- [Top 12 Jira Workflow Automation Settings for Agile Development Teams | by Anca Onuta | Medium | Medium](https://ancaonuta.medium.com/jira-automation-top-12-settings-each-agile-development-team-must-have-d3adca95f3c8)
- [Tutoriais de automação para o DevOps | Atlassian](https://www.atlassian.com/br/devops/automation-tutorials)