Rastreie a atividade do repositório GitHub em tempo real no Slack usando esta API.
A integração do GitHub com o Slack ajudará você a simplificar a comunicação de sua equipe, informando-os sobre os eventos do repositório em tempo real. Essa integração ajuda a colaborar com mais eficiência, discutir alterações no contexto da base de código e resolver rapidamente quaisquer problemas que possam surgir durante o desenvolvimento.
Além disso, a integração do GitHub com o Slack permite que você personalize as notificações de acordo com o fluxo de trabalho exclusivo de sua equipe. Isso minimiza as distrações e foca no que realmente importa. Essa abordagem personalizada de comunicação capacita sua equipe a tomar decisões informadas e ações oportunas, garantindo a mais alta qualidade de saída.
Etapa 1: criar um novo aplicativo Slack
Para prosseguir, você deve estar confortável usando a plataforma Slack. Você também deve estar familiarizado com o GitHub.
A primeira etapa da integração é criar um novo aplicativo Slack. Este aplicativo será responsável por postar mensagens no canal Slack selecionado quando ocorrer um evento de repositório. Para criar um novo aplicativo, navegue até o
Site do Slack e entre na sua conta. Em seguida, crie um novo espaço de trabalho. Você usará este espaço de trabalho para testar seu aplicativo antes de instalá-lo no espaço de trabalho de sua equipe.Navegue até o Site da API Slack em uma nova guia do navegador.
Clique em Seus aplicativos botão. Na página que aparece, clique no botão Criar novo aplicativo botão.
Escolha a opção de criar o aplicativo do zero. Em seguida, nomeie seu aplicativo e escolha o espaço de trabalho no qual deseja instalá-lo.
Clique no Criar aplicativo botão. Essa ação criará seu novo aplicativo Slack e o redirecionará para o painel.
Etapa 2: configurar um webhook de entrada do Slack
Um webhook de entrada do Slack permite que você envie mensagens de fontes externas para o seu espaço de trabalho do Slack. Para configurar o webhook, escolha o Webhooks recebidos recurso. Certifique-se de ligar o Ativar webhooks de entrada botão.
Role para baixo até o URLs de webhook para seu espaço de trabalho seção. Clique no Adicionar novo webhook ao espaço de trabalho botão.
O Slack solicitará que você escolha o canal em que seu aplicativo postará mensagens. Escolha o canal e clique no botão Permitir botão.
Isso adicionará seu aplicativo ao canal selecionado. Volte para o URLs de webhook para seu espaço de trabalho seção. Copie o gerado URL do webhook. Este é o URL para o qual o GitHub enviará as notificações de eventos do repositório.
Agora você concluiu a configuração do lado do Slack.
Etapa 3: configurar o repositório do GitHub
Navegue até o Site do GitHub e entre na sua conta. Vá para o repositório do qual você deseja receber as notificações de eventos. Você também pode criar um novo repositório. Clique no Ações guia sob o nome do repositório.
Em seguida, clique no configure você mesmo um fluxo de trabalho link. A próxima página exibida exige que você crie um arquivo YAML no diretório de fluxos de trabalho do GitHub. Este arquivo define o fluxo de trabalho do GitHub Actions responsável por enviar notificações ao seu espaço de trabalho Slack.
Você escreverá o código YAML no editor integrado. Esse código integrará o GitHub ao Slack enviando notificações para um canal do Slack quando eventos específicos ocorrerem no repositório.
O código-fonte completo usado neste artigo está disponível em um Repositório GitHub.
Etapa 4: Escreva o código YAML para integrar o GitHub ao Slack
Dê um nome ao seu fluxo de trabalho. Fique a vontade para escolher o nome de sua preferência.
nome:folgaNotificação
Especifique os eventos que acionarão o fluxo de trabalho. É aqui que você escolhe os eventos sobre os quais deseja que sua equipe seja notificada. Adicione ou remova os eventos para atender às suas necessidades.
sobre:
empurrar:
pull_request:
problemas:
tipos:
-aberto
-fechado
-reaberto
-editado
-excluído
-preso
-desafixado
-atribuído
-não atribuído
-rotulado
-sem rótulo
-marco
-demarcado
questão_comentário:
tipos:[criada,editado,excluído]
criar:
excluir:
Configure seu trabalho e escolha o ambiente virtual em que ele será executado. notify_slack é o nome do trabalho. Você pode alterá-lo ao seu gosto.
empregos:
notify_slack:
corre em:ubuntu-latest
Configure uma etapa que será responsável por enviar uma notificação para o Slack.
passos:
-nome:Enviarfolganotificação
Defina uma variável de ambiente chamada SLACK_WEBHOOK_URL. Ele armazenará o URL do webhook do Slack. Posteriormente, você adicionará a URL aos segredos do repositório do GitHub.
ambiente:
SLACK_WEBHOOK_URL:${{segredos. SLACK_WEBHOOK_URL}}
Configurar o ação frouxa Ação do GitHub. Que é uma ação de terceiros que lida com a lógica subjacente da interação com a API do Slack. Ele permite que você se concentre na configuração das mensagens e eventos que acionam as notificações. Isso torna o processo de envio de notificações para o Slack muito mais fácil.
usa:8398a7/action-slack@v3
Este código usa o 8398a7/action-slack@v3Ação.
Configurar o 8398a7/action-slack@v3 ação com parâmetros personalizados. O status parâmetro define o status da mensagem para personalizado. Isso permitirá que você defina o conteúdo da mensagem do Slack usando uma carga útil personalizada. O Campos O parâmetro lista os campos a serem incluídos na mensagem do Slack.
com:
status:personalizado
Campos:repositório, confirmação, evento, ação, fluxo de trabalho, referência, URL
Criar uma custom_payload que personalizará a aparência da mensagem do Slack de acordo com suas preferências.
custom_payload:|
{
"anexos":[
{
"cor":"${{ status de trabalho }}",
"título":>-
${{github.ator}}${{github.event.pull_request&&github.event.pull_request.merged==verdadeiro&&'mesclado um pull request'||github.event.pull_request&&'abriu um pull request'||github.event_name=='empurrar'&&'empurrou novas mudanças'||github.event_name=='criar'&&'criou um novo branch ou tag'||github.event_name=='excluir'&&'excluiu um branch ou tag'||github.event_name=='problemas'&&github.event.action||'desencadeou um evento'}},
"texto":>-
:tada:Detalhes do evento:
-Repositório:${{github.repository}}
-Filial:${{github.ref}}
-Mensagem:${{github.event_name=='empurrar'&&github.event.head_commit.message||github.event_name=='problemas'&&github.event.issue.title||github.event_name=='pull_request'&&github.event.pull_request.title||''}}
-:globo_com_meridianos:Link:${{github.event.pull_request.html_url||github.event.issue.html_url||github.event.repository.html_url}}
}
]
}
Você pode consultar o 8398a7/action-slack@v3 caso de uso personalizado para encontrar todas as personalizações suportadas. Confirme o arquivo YAML para criar o novo fluxo de trabalho.
A última etapa da integração do GitHub com o Slack é adicionar um novo segredo de repositório. O segredo neste caso é o URL do webhook do Slack você copiou do Slack. Mantenha este URL secreto, pois qualquer pessoa que tenha acesso a ele pode enviar mensagens para seu espaço de trabalho.
Navegue até as configurações do seu repositório. Clique no segredos e variáveis debaixo de segurança recurso. Selecione os Ações opção.
Clique em Novo segredo do repositório. Adicione o nome do segredo como SLACK_WEBHOOK_URL. Em seguida, cole o URL do Slack no campo Segredo. Por fim, clique no botão Adicionar Segredo botão para salvar o novo segredo.
Agora você concluiu a integração do GitHub com o Slack. Sempre que um evento acontecer em seu repositório, uma mensagem será exibida em seu canal. Tentar criando uma nova solicitação pull. Isso acionará um evento push.
A captura de tela abaixo mostra exemplos de mensagens no Slack mostrando eventos que ocorreram em um repositório.
Você pode personalizar a carga útil da mensagem para incluir outros campos que achar necessários.
Melhore sua produtividade com integrações do Slack
O GitHub não é a única integração do Slack que você pode adicionar ao seu espaço de trabalho. Existem inúmeras integrações que você pode usar para melhorar a produtividade de sua equipe e aprimorar sua comunicação. Familiarizar-se com essas integrações ajudará você a simplificar o fluxo de trabalho de sua equipe e manter todos na mesma página.