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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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:
Impulsione a sua carreira com os melhores cursos e faça parte da maior comunidade tech.
2 anos de Alura
Matricule-se no plano PLUS 24 e garanta:
Jornada de estudos progressiva que te guia desde os fundamentos até a atuação prática. Você acompanha sua evolução, entende os próximos passos e se aprofunda nos conteúdos com quem é referência no mercado.
Mobile, Programação, Front-end, DevOps, UX & Design, Marketing Digital, Data Science, Inovação & Gestão, Inteligência Artificial
Formações com mais de 1500 cursos atualizados e novos lançamentos semanais, em Programação, Inteligência Artificial, Front-end, UX & Design, Data Science, Mobile, DevOps e Inovação & Gestão.
A cada curso ou formação concluído, um novo certificado para turbinar seu currículo e LinkedIn.
No Discord, você participa de eventos exclusivos, pode tirar dúvidas em estudos colaborativos e ainda conta com mentorias em grupo com especialistas de diversas áreas.
Faça parte da maior comunidade Dev do país e crie conexões com mais de 120 mil pessoas no Discord.
Acesso ilimitado ao catálogo de Imersões da Alura para praticar conhecimentos em diferentes áreas.
Explore um universo de possibilidades na palma da sua mão. Baixe as aulas para assistir offline, onde e quando quiser.
Acelere o seu aprendizado com a IA da Alura e prepare-se para o mercado internacional.
2 anos de Alura
Todos os benefícios do PLUS 24 e mais vantagens exclusivas:
Luri é nossa inteligência artificial que tira dúvidas, dá exemplos práticos, corrige exercícios e ajuda a mergulhar ainda mais durante as aulas. Você pode conversar com a Luri até 100 mensagens por semana.
Aprenda um novo idioma e expanda seus horizontes profissionais. Cursos de Inglês, Espanhol e Inglês para Devs, 100% focado em tecnologia.
Para estudantes ultra comprometidos atingirem seu objetivo mais rápido.
2 anos de Alura
Todos os benefícios do PRO 24 e mais vantagens exclusivas:
Mensagens ilimitadas para estudar com a Luri, a IA da Alura, disponível 24hs para tirar suas dúvidas, dar exemplos práticos, corrigir exercícios e impulsionar seus estudos.
Envie imagens para a Luri e ela te ajuda a solucionar problemas, identificar erros, esclarecer gráficos, analisar design e muito mais.
Escolha os ebooks da Casa do Código, a editora da Alura, que apoiarão a sua jornada de aprendizado para sempre.
Conecte-se ao mercado com mentoria individual personalizada, vagas exclusivas e networking estratégico que impulsionam sua carreira tech para o próximo nível.