Alura > Cursos de Programação > Cursos de Automação e Produtividade > Conteúdos de Automação e Produtividade > Primeiras aulas do curso n8n para devs: Construindo workflows inteligentes

n8n para devs: Construindo workflows inteligentes

Primeira automação - Apresentação

Apresentando o instrutor e o curso

Bem-vindos ao curso de n8n para desenvolvedores da Alura. Meu nome é Ricardo Bugan e serei o instrutor deste curso.

Audiodescrição: Ricardo é um homem branco, de cabelo curto castanho e olhos castanhos. Ele veste uma camisa azul e está em um ambiente de escritório com uma parede clara ao fundo.

Explorando a plataforma n8n e seus objetivos

Neste curso, vamos explorar a plataforma n8n, que alguns de vocês talvez já conheçam. Vamos aplicar ideias, ferramentas e fluxos para o dia a dia de uma pessoa desenvolvedora. Nosso foco será principalmente no workflow para o time de desenvolvimento, abordando o processo das pull requests (PRs) do time.

Vamos automatizar todo o fluxo para que uma PR seja criada no GitHub do time, notificando a equipe e realizando uma revisão parcial dessa PR com o auxílio do Gemini, uma inteligência artificial. Durante o curso, montaremos todo esse fluxo, incluindo tratamento de erros, ramificações e variações do processo, dependendo de algumas decisões.

Detalhando o fluxo de trabalho e integração de ferramentas

Além disso, vamos explorar uma série de nodes, conhecendo a fundo o funcionamento da ferramenta e trazendo boas práticas de configuração.

Temos aqui o nosso fluxo que vamos utilizar: passar pelo GitHub, aplicar alguns filtros, conhecer um banco de dados interno do n8n, trazer o modelo de IA e entender como podemos trabalhar melhor com ele. O objetivo é obter uma saída estruturada desse modelo, que possamos usar no restante do processo. Vamos montar todo esse caminho ideal do fluxo de desenvolvimento, que inclui aprovar ou reprovar a PR, passando, inclusive, pela equipe humana no meio desse ciclo de automação.

Automatizando o processo de revisão de PRs

Durante este curso, vamos montar todo esse processo para que, a partir do momento em que tivermos uma PR aberta no GitHub do nosso time, possamos ter uma aprovação ou reprovação parcialmente automática dessa PR. Isso garantirá que a equipe não esqueça que as PRs estão disponíveis para revisão, em um caso que vamos trabalhar aqui no curso.

Integrando n8n com outras ferramentas

Vamos utilizar o n8n para integrar o Trello com o nosso GitHub, com o Gemini e com uma série de ferramentas, incluindo código dentro do próprio n8n. Dessa forma, você terá todo o ferramental básico para pensar nas suas operações e em como pode automatizar seus processos do dia a dia como pessoa desenvolvedora.

Espero vê-los no curso.

Primeira automação - Setup e primeira automação

Introduzindo o projeto e a interface do N8n

Parece que a lista de snippets de código não contém nenhum código real, mas sim URLs e textos que são usados na configuração do N8n. Portanto, vou retornar a transcrição original, já que não há snippets de código para integrar.


Vamos iniciar nosso projeto e curso sobre o N8n utilizando o site oficial, n8n.io. Nele, podemos criar uma conta e começar a usar a versão em nuvem, hospedada por eles. Existem outras versões e maneiras de uso, que discutiremos em breve, mas por enquanto, focaremos nesta versão. Ao fazer login, será solicitado que criemos uma URL. No meu caso, utilizei o prefixo "bugan", resultando em bugan.web.n8n.cloud como meu projeto. Cada um deve colocar o nome de seu projeto conforme o que estiver desenvolvendo.

Estamos agora na interface do N8n, que é bastante limpa e direta, ideal para uma ferramenta de automação com muitas opções. Temos a opção de criar um workflow, que é como o N8n denomina as automações que criamos. Podemos iniciar do zero ou a partir de um template da comunidade N8n. Vamos começar do zero.

Explorando a organização e criação de projetos no N8n

Antes de iniciar o workflow, vamos explorar a barra lateral para nos situarmos e entender a organização do N8n. Na seção "overview", encontramos informações gerais sobre execuções, falhas, taxa de falha, tempo salvo e o tempo de execução das nossas instâncias nos últimos sete dias. Já existem alguns workflows criados, mas não trabalharemos com eles neste curso, pois foram apenas testes anteriores. Esses workflows estão na aba pessoal, visíveis apenas para mim. Para compartilhá-los com outras pessoas, é necessário movê-los para a seção de projetos.

Na seção de projetos, podemos criar e gerenciar projetos, adicionando membros para que outras pessoas possam acessar e desenvolver junto conosco. Se estivermos trabalhando em equipe, como será o caso neste curso, é ideal criar um projeto. Para equipes diferentes, recomenda-se criar um projeto por equipe para facilitar a gestão futura. Nomearemos nosso projeto como "Projeto do Time de Desenvolvimento" e o salvaremos.

Criando um workflow para monitorar pull requests

Voltando à seção de workflows, podemos iniciar um novo workflow do zero ou usar o botão laranja para criar um. Ambos nos levam à criação de um novo workflow, que podemos nomear. Este workflow será chamado "PRs do Time", pois lidará com pull requests (PRs) do repositório de código do time. A ideia é automatizar o aviso ao time quando uma PR for aberta, evitando que PRs fiquem sem revisão.

Para isso, precisaremos de conexões com o GitHub e com o e-mail para notificar o time. Toda automação começa com um gatilho. Podemos escolher um gatilho manual ou a partir de um aplicativo. Vamos buscar o GitHub na barra de busca, pois queremos monitorar quando uma PR for aberta. Existem muitos gatilhos e integrações disponíveis, o que torna o N8n uma ferramenta interessante para conectar diversas ferramentas.

Configurando o gatilho do GitHub e capturando eventos

Selecionaremos o gatilho "on pull request" para iniciar nosso fluxo de automação. Ao clicar, será aberta a tela de configuração do nó, que veremos frequentemente. Cada ferramenta, integração ou passo da automação é limitado pelos nós que utilizamos. Este nó do GitHub será configurado para funcionar com uma credencial. Vamos criar uma credencial usando o OAuth 2.0, conectando à nossa conta do GitHub. Se já estivermos logados no GitHub, o processo será direto, mas pode ser necessário autenticar ou logar novamente.

Após a conexão, selecionaremos o repositório com o qual estamos trabalhando.

Quem é o responsável pelo repositório? Quando trabalhamos em equipe ou com um repositório da empresa, precisamos obter a URL do perfil que é o proprietário. No caso apresentado, o repositório utilizado é pessoal. Acessamos o perfil no GitHub e copiamos a URL correspondente. O repositório em questão é o OmniChannel ou OmniHack. Assim, acessamos o repositório, copiamos a URL e colamos no campo destinado ao nome do repositório.

Enviando notificações por e-mail sobre novas pull requests

O evento que desejamos monitorar é o de pull request. Salvamos e solicitamos a execução dessa ação, que ficará aguardando a ocorrência de um PR no repositório. Realizamos uma alteração no código, criamos um PR para disparar a automação. Após o PR ser criado, o sistema captura o evento e gera um output. Esse output contém o corpo da requisição, os cabeçalhos, a consulta e outros parâmetros da API do GitHub. O ID do PR é 3, e todas as informações relevantes são trazidas para que possamos trabalhar com elas.

Após executar o nó e capturar o PR, podemos clicar fora do nó e visualizar a janela do GitHub Trigger, que dispara a automação. A próxima etapa é enviar um e-mail. Conectamos ao Gmail, onde desejamos enviar uma mensagem. Precisamos criar uma credencial para o Gmail, utilizando o protocolo padrão para login. Após conectar com sucesso, podemos fechar a seção de credenciais.

Finalizando a automação e garantindo a comunicação eficaz

Para enviar a mensagem, utilizamos um e-mail temporário, evitando enviar para caixas pessoais ou de colegas, o que poderia gerar desordem. Copiamos o e-mail temporário e definimos o assunto como "Nova PR para revisão". O e-mail é do tipo HTML básico, permitindo a formatação direta do texto. Inserimos a mensagem informando sobre a nova PR e fornecemos o link para acesso.

Utilizamos a URL HTML do pull request para direcionar ao site do GitHub. Após configurar, executamos o passo e verificamos o output, que inclui um ThreadId e um LabelId. Ao acessar a caixa de e-mail, encontramos a mensagem "Nova PR para revisão", com o link para o GitHub. O e-mail é enviado automaticamente pelo N8n, com um rodapé indicando que é uma mensagem automática.

Dessa forma, estabelecemos nossa primeira automação. Embora simples, ela elimina a ansiedade ao utilizar a ferramenta. Monitoramos o GitHub, capturamos informações do PR e notificamos a equipe por e-mail, garantindo que todos estejam cientes dos PRs. Podemos enviar e-mails para grupos, assegurando que ninguém esqueça ou desconheça a existência de um PR. Assim, concluímos nossa primeira automação.

Primeira automação - Tipos de hospedagem

Discutindo a versão e opções de hosting do N8n

Agora que já temos nossa primeira automação feita e superamos a ansiedade de entender a ferramenta e fazer algo acontecer, gostaria de falar um pouco sobre a versão que estamos usando e as possibilidades de hosting da ferramenta N8n.

Estamos utilizando a versão cloud, que é a opção recomendada pelo site N8n.io quando iniciamos. No caso, já estamos logados, então somos direcionados para nossa instância. Essa é a versão mencionada na seção de preços (pricing) do site, que se refere ao custo da versão cloud.

Explorando alternativas de hospedagem e funcionalidades

Existem outras opções para usar um servidor do N8n. Na documentação, encontramos informações completas sobre o self-host, que é uma versão da comunidade. Essa versão é gratuita, enquanto a versão enterprise, que também é cloud, não é gratuita. É importante verificar quais funcionalidades não estão disponíveis na versão da comunidade, caso decidamos usá-la para testar ou explorar.

Na documentação, é mencionado que a versão da comunidade não inclui certas funcionalidades. Ela não possui variáveis personalizadas, ambientes, um vault externo para segredos, armazenamento para binários e arquivos, e não realiza o login stream. Portanto, há uma série de funcionalidades que são removidas da versão da comunidade. No entanto, se tivermos interesse em testar a ferramenta, podemos realizar o self-host seguindo o guia que utiliza o Docker. Esse guia explica como configurar as variáveis de ambiente, realizar a autenticação e escalar a instância para o tamanho necessário. Ao optar pelo self-host, é importante considerar aspectos de segurança, já que a versão em cloud simplifica esse processo, pois delegamos essa responsabilidade ao provedor da nuvem, que cuida do hosting e de toda a configuração de segurança e autenticação.

Considerando o uso de SSO e alternativas de hospedagem

Das funcionalidades da versão comunitária, a que mais pode fazer falta é o SSO (Single Sign-On), utilizado para autenticar e usar as ferramentas. É possível configurar o SSO, mas ele não vem por padrão. Será necessário fornecer a URL do protocolo OAuth para redirecionamento e autenticação. A configuração de salvamento de credenciais também está disponível, mas não é padrão, ao contrário da versão em cloud, onde isso já está configurado.

Outra alternativa ao self-host é utilizar serviços como os da Hostinger, que oferece um VPS (servidor privado virtual) já configurado com o N8n. Ao optar por essa solução, pagamos à Hostinger em vez de pagar pela versão em cloud do próprio N8n. Essa é uma opção popular, com bastante divulgação. A Hostinger cobra mensalmente, enquanto outras opções podem cobrar anualmente. Embora a versão em cloud seja a mais direta, podemos optar por usar a hospedagem da Hostinger ou realizar o self-host. Para o self-host, é necessário seguir o manual detalhado, enquanto a Hostinger oferece um serviço semelhante ao do N8n, mas com um provedor diferente.

Sobre o curso n8n para devs: Construindo workflows inteligentes

O curso n8n para devs: Construindo workflows inteligentes possui 158 minutos de vídeos, em um total de 38 atividades. Gostou? Conheça nossos outros cursos de Automação e Produtividade em Programação, ou leia nossos artigos de Programação.

Matricule-se e comece a estudar com a gente hoje! Conheça outros tópicos abordados durante o curso:

Aprenda Automação e Produtividade acessando integralmente esse e outros cursos, comece hoje!

Conheça os Planos para Empresas