A integração do GitHub para o Slack oferece a você e às suas equipes visibilidade total dos projetos do GitHub diretamente nos canais do Slack, onde você pode gerar ideias, fazer a triagem de problemas e colaborar com outras equipes para levar os projetos adiante. Esta integração é um projeto de código aberto, construído e mantido pelo GitHub.
Este aplicativo é oficialmente compatível com GitHub.com (que inclui nossa oferta hospedada em nuvem GitHub Enterprise) e Slack.com.
A integração do GHES com o Slack.com agora é GA com o GHES 3.8. As etapas detalhadas para integração do Slack com GHES podem ser encontradas aqui.
Instale a integração do GitHub para Slack. Depois de fazer login no seu workspace do Slack, você será solicitado a conceder acesso ao aplicativo:
Depois que o aplicativo for instalado e depois de adicionar a integração do GitHub aos canais relevantes usando /invite @github
, você verá visualizações de links para problemas do GitHub, solicitações pull e código renderizado como rich text em seu espaço de trabalho.
Depois de instalar o aplicativo, você poderá interagir com o aplicativo GitHub como um aplicativo pessoal ou acessar de um canal. Depois que o aplicativo for instalado no espaço de trabalho, o aplicativo GitHub será habilitado em todos os canais públicos. Para canais privados, você precisa convidar /invite @github
Neste ponto, suas contas de usuário do Slack e GitHub estão vinculadas. Você será solicitado a se conectar ao GitHub. Esta é a etapa principal necessária para acessar o aplicativo. Alternativamente, também podemos nos conectar executando /github signin
.
E assim que se conectar, você verá os próximos passos e a lista de funcionalidades disponíveis para você.
O comando de barra /github
também aceita um argumento subscribe
que você pode usar para assinar a atividade de uma organização ou repositório /github subscribe <organization>/<repository>
.
Se você concedeu originalmente ao aplicativo acesso a "Todos os repositórios" e criou um novo repositório privado no GitHub após instalar a integração do GitHub para Slack, o comando /github subscribe
funcionará automaticamente em seu novo repositório. Se você instalou o aplicativo em um subconjunto de repositórios, o aplicativo solicitará que você o instale no novo repositório.
O comando de barra /github
também suporta unsubscribe
. Para cancelar a assinatura de notificações de um repositório, use /github unsubscribe <organization>/<repository>
Ao conceder acesso ao aplicativo, você fornece as seguintes autorizações às suas contas do GitHub e do Slack:
Escopo de permissão | Por que precisamos disso |
---|---|
Acesse conversas privadas entre você e o aplicativo | Para lhe enviar uma mensagem com instruções. |
Ver links para GitHub.com em mensagens | Para renderizar links ricos de github.com |
Adicionar visualizações de links do GitHub.com às mensagens | Para renderizar links avançados para github.com |
Adicionar comandos de barra | Para adicionar o comando de barra /github ao seu espaço de trabalho do Slack |
Visualize o nome, o domínio de email e o ícone do espaço de trabalho ou da organização | Para armazenar assinaturas que você configurou |
Postar mensagens como o aplicativo | Para notificá-lo sobre atividades que acontecem no GitHub, no Slack |
Escopo de permissão | Por que precisamos disso |
---|---|
Acesso de leitura ao código | Para renderizar trechos de código no Slack |
Acesso de leitura a ações, status de commit, verificações, discussões, problemas, metadados, pull requests e projetos de repositório | Para renderizar visualizações de links compartilhados no Slack |
Acesso de gravação a ações, problemas, implantações e pull requests | Para realizar ações no Slack com o comando /github e diretamente nas mensagens |
Nos repositórios, o aplicativo notifica sobre eventos open
, close
e re-open
em pull requests e problemas nos repositórios que você assinou. Ele também notifica sobre qualquer push
diretamente para o branch padrão do repositório.
Você pode personalizar suas notificações inscrevendo-se em atividades relevantes para o seu canal do Slack e cancelando a inscrição em atividades menos úteis para o seu projeto.
As configurações são definidas com o comando de barra /github
:
/github subscribe owner/repo [feature]
/github unsubscribe owner/repo [feature]
Eles são habilitados por padrão e podem ser desabilitados com o comando /github unsubscribe owner/repo [feature]
:
issues
- problemas abertos ou fechadospulls
- solicitações pull novas ou mescladas, bem como rascunhos de solicitações pull marcadas como "Pronto para revisão"commits
- Novos commits no branch padrão (geralmente main
)releases
- lançamentos publicadosdeployments
– atualizações de status de implantação. Eles estão desabilitados por padrão e podem ser habilitados com o comando /github subscribe owner/repo [feature]
:
workflows
- notificações de execução de fluxo de trabalho de açõesreviews
- Avaliações de solicitações pullcomments
- Novos comentários sobre problemas e pull requestsbranches
- ramificações criadas ou excluídascommits:*
- Todos os commits enviados para qualquer branch+label:"your label"
- Filtre problemas, pull-requests e comentários com base em seus rótulos.discussions
- Discussões criadas ou respondidasVocê pode assinar ou cancelar a assinatura de várias configurações de uma só vez. Por exemplo, para ativar a atividade para revisões e comentários de solicitações pull:
/github subscribe owner/repo reviews comments
E para desligá-lo:
/github unsubscribe owner/repo reviews comments
Os filtros de ramificação permitem filtrar notificações de commit. Por padrão, quando você se inscreve no recurso de commits, você receberá notificações para seu branch padrão (ou seja, principal). No entanto, você pode optar por filtrar uma ramificação específica, um padrão de ramificações ou todas as ramificações.
/github subscribe org/repo commits
para notificações de commit de um branch padrão./github subscribe org/repo commits:*
para notificações de commit em todas as filiais./github subscribe org/repo commits:myBranch
para notificações de commit de um branch específico./github subscribe org/repo commits:users/*
para notificações de commit de um padrão de ramificações.Você pode cancelar a assinatura do recurso de commits usando `@github unsubscribe org/repo commits.
Nota : Anteriormente, você poderia ter usado commits:all
para representar todas as ramificações. 'all' não é mais uma palavra-chave reservada. Daqui para frente, você precisará usar '*' para representar todas as filiais. Se você já configurou 'commits:all' anteriormente, não se preocupe, ele continuará funcionando até você atualizar a configuração dos commits.
Os filtros de rótulo permitem filtrar eventos recebidos com base em uma lista permitida de rótulos obrigatórios .
Esta é uma visão geral dos tipos de eventos afetados pelo filtro de rótulo obrigatório.
Evento | É filtrado |
---|---|
Puxar | ✅ Sim |
Comentário (RP e edição) | ✅ Sim |
Emitir | ✅ Sim |
Análise | ✅ Sim |
Confirmar/Enviar | Não |
Filial | Não |
Crie um filtro com:
/github subscribe owner/repo +label:"priority:HIGH"
Isso cria um filtro de rótulo obrigatório com o valor priority:HIGH
. Os eventos de entrada que suportam filtros são descartados, a menos que tenham esse rótulo.
Para atualizar o filtro existente basta inserir um novo, o antigo será atualizado. Atualmente, oferecemos suporte apenas a um filtro. Vários filtros poderão ser suportados no futuro.
/github subscribe owner/repo +label:"teams/designers"
Agora o filtro existente priority:HIGH
foi substituído por teams/designers
.
A remoção de um filtro está disponível por meio de unsubscribe
/github unsubscribe owner/repo +label:teams/designers
Isso remove o filtro teams/designers
.
Para ver os filtros atualmente ativos, use
/github subscribe list features
É comum ter certos caracteres especiais nos rótulos. Portanto, adicionamos suporte para os caracteres especiais mais comuns em filtros de rótulos. Aqui estão alguns exemplos:
label:"priority:HIGH"
label:"teams/designers"
label:"DO NOT MERGE"
label:"very important"
label:":construction: WIP"
A maioria dos rótulos funcionará perfeitamente, isso inclui todos os emojis que o Slack e o GitHub fornecem prontos para uso. No entanto, nas seguintes circunstâncias raras, você poderá ter dificuldades:
:foo:
,
está reservadoVocê pode assinar notificações de execução de fluxo de trabalho do GitHub Actions em seu canal ou aplicativo pessoal usando o recurso "fluxos de trabalho".
Ser notificado sobre cada notificação de execução de fluxo de trabalho pode ser barulhento. Portanto, estamos fornecendo a você a capacidade de filtrar as notificações com base em suas necessidades. Você pode filtrar notificações de fluxos de trabalho de ações com base em nome, evento, ator e/ou filial. Você pode filtrar as notificações conforme abaixo.
/github subscribe owner/repo workflows:{name:"your workflow name" event:"workflow event" branch:"branch name" actor:"actor name"}
Você pode passar várias entradas para cada um dos eventos como uma lista separada por vírgulas, conforme exemplo abaixo: /github subscribe org/repo workflows:{event:"pull_request","push" branch:"main","dev" actor:"ashokirla"}
Por padrão, quando você configura notificações de fluxo de trabalho sem passar nenhum filtro, ele é configurado para fluxos de trabalho acionados por meio de pull requests direcionados ao seu branch padrão. Você pode passar uma ou várias entradas.
Você pode cancelar a assinatura de notificações de fluxos de trabalho apenas executando o comando abaixo: /github unsubscribe org/repo workflows
Para receber as notificações acima, você precisa conceder acesso para receber eventos de Actions pelo aplicativo GitHub no Slack. Você será solicitado a fazer isso ao tentar assinar o recurso de workflows
para sua organização pela primeira vez.
Oferecemos suporte a notificações separadas para suas implantações. Essas implantações podem acontecer a partir de ações ou de fontes externas usando a API de implantações.
Você pode ativar/desativar esse recurso executando:
/github subscribe/unsubscribe org/repo deployments
Observação: se você estiver usando ações do GitHub e quiser rastrear suas implantações em ambientes, recomendamos usar o novo recurso workflows
, pois ele mostra o cenário completo e permite aprovar suas implantações no local.
Ao assinar um repositório no Slack, você agora se verá mencionado nas notificações para onde é encaminhado e precisa de sua atenção.
Ao receber notificações de problemas, PRs e implantações, aqui estão os casos em que você será mencionado.
E a melhor parte é que agora você pode ver o resumo das notificações do GitHub onde você é mencionado como parte da seção ‘Menções e reações’ no Slack.
As menções funcionarão apenas se você fizer login no aplicativo GitHub em seu espaço de trabalho do Slack (usando o comando de barra /github signin
). Quando você faz login no aplicativo GitHub com seu ID do GitHub, nós o mapeamos com seu ID do Slack e enviamos um ping para você no Slack sempre que você for mencionado em qualquer uma das notificações do GitHub.
Observação : se você tiver vários espaços de trabalho do Slack onde usa o aplicativo GitHub, as menções funcionarão apenas no espaço de trabalho onde você fez login no aplicativo GitHub mais recentemente.
As notificações para quaisquer problemas e PRs são agrupadas em um cartão pai como respostas. O cartão pai sempre mostra o status mais recente do problema/PR junto com outros metadados como título, descrição, responsáveis, revisores, rótulos e cheques. Threading fornece contexto e ajuda a melhorar a colaboração no canal.
Isso reduzirá o ruído no canal. E nosso recurso de menções garante que apenas os envolvidos na conversa sejam notificados. Apenas o cartão pai é postado no canal e o restante das notificações será adicionado como resposta no tópico. No entanto, as atividades de mudança de estado, como problema de fechamento/reabertura, são adicionadas ao tópico como resposta e também postadas no canal, pois podem ser de interesse do grupo.
Se você se inscreveu para receber notificações de comentários e avaliações e também deseja que os membros do canal os vejam, em vez de apenas aqueles que são participantes do problema, você pode optar pelo mesmo executando
/github subscribe org/repo comments:"channel"
e
/github subscribe org/repo reviews:"channel"
Observação: por padrão, comentários e análises só aparecerão no tópico. E você precisa executar explicitamente o comando acima para garantir que os comentários também comecem a fluir para o canal.
Se você for participante de um problema/projeto mencionado no comentário ou adicionado como responsável/revisor, nosso recurso de menções garante que você seja notificado na seção de tópicos do Slack. Você não precisa ir ao canal para ver os problemas/prs que precisam de sua atenção. Você pode se concentrar naqueles em que é necessário e nosso recurso de segmentação garante que você obtenha uma visão completa e possa agir diretamente a partir daí. Este é um recurso muito poderoso que garante que você não perca nenhum problema/prs que precise de sua atenção.
No entanto, se você realmente acredita que não precisa ver problemas/atualizações de PR nos tópicos e acha que isso é um ruído, podemos sugerir uma solução rápida para que não haja mais pings ou entradas em seus tópicos. Nosso aplicativo GitHub apenas menciona você no espaço de trabalho do Slack onde você fez login no GitHub mais recente. Você pode ir para um espaço de trabalho do Slack menos usado ou um espaço de trabalho pessoal do Slack e fazer login no GitHub com nosso aplicativo GitHub a partir daí. Assim, você não receberá ping nem verá atualizações em threads no outro espaço de trabalho principal.
Se você não deseja a funcionalidade de threading ou ainda não está pronto para se adaptar ao novo modelo, queremos oferecer-lhe flexibilidade. Você pode desabilitar/habilitar threading para notificações de problemas e solicitações pull em seu canal. Você pode ir para o canal onde não precisa de threading e executar o seguinte comando. /github settings
Você verá uma opção para desabilitar/habilitar threading para esse canal. Qualquer membro que faça parte do canal poderá realizar esta ação.
Conversas vagas geralmente levam a decisões e conclusões práticas. Agora é mais fácil dar os próximos passos no Slack.
Você não precisa mais mudar ou redirecionar para o GitHub para executar qualquer ação sobre os problemas. Você pode realmente criar e gerenciar problemas de onde você colabora, ou seja, no Slack.
Agora você pode criar problemas com apenas um clique, direto do local onde você colabora. Em qualquer canal/aplicativo/grupo pessoal ou chat direto, agora você pode clicar nos três pontos (...) no canto superior direito de uma mensagem e escolher ‘Criar um problema GitHub’ na lista. Isso iniciará um diálogo sobre a criação de problemas.
Como alternativa, você pode criar um problema no Slack de duas outras maneiras.
/github open
na caixa de bate-papo. Observação: você precisa estar conectado e ter o acesso necessário ao repositório para realizar qualquer ação.
Você também pode gerenciar o ciclo de vida do problema diretamente no chat. Ao assinar um repositório e receber uma notificação de problema ou ao criar um novo problema no Slack, você verá um cartão de problema com botões de call to action para comentar, editar, fechar/reabrir. Você pode realizar essas ações diretamente no chat.
Observação: quando você executa uma ação no cartão de problema do Slack, a resposta é adicionada como uma resposta à conversa, mesmo que você não tenha se inscrito nessa atividade por meio de assinaturas. No entanto, se você se inscrever, também receberá notificações de atividades que acontecem fora do Slack.
Quando um usuário publica um link do GitHub para problemas e solicitações pull , comentários vinculados diretamente, blobs de código com números de linha, bem como organizações, repositórios e usuários no Slack, uma visualização do link será mostrada.
As visualizações de links não serão mostradas se:
github.com
foram desativadas em seu espaço de trabalho/invite @github
Os lembretes programados são usados para garantir que os usuários se concentrem nas solicitações de revisão mais importantes que exigem sua atenção. Lembretes programados para solicitações pull enviarão uma mensagem para você no Slack com solicitações pull abertas que precisam de sua revisão em um horário especificado. Por exemplo, você pode configurar lembretes programados para enviar uma mensagem no Slack todas as manhãs às 10h com solicitações pull que precisam ser revisadas por você ou por uma de suas equipes.
Você pode configurar lembretes programados para você (lembretes pessoais), sua equipe e sua organização.
Os lembretes pessoais agendados são configurados como parte do seu aplicativo pessoal GitHub no Slack. Você pode definir lembretes programados para solicitações de revisão pessoais ou de equipe para solicitações pull em organizações das quais você é membro. Como parte dos lembretes pessoais, você também pode configurar alertas em tempo real para suas solicitações pull. Você pode encontrar mais detalhes aqui.
Você pode configurar lembretes programados para solicitações pull pendentes como parte de seus canais do Slack para que sua equipe possa acompanhar seu trabalho. Para um determinado canal do Slack, você pode configurar lembretes programados para sua organização ou equipe. Para obter mais detalhes sobre como configurar lembretes programados, você deve visitar lembretes em nível de organização e lembretes em nível de equipe.
Se você estiver no Slack Enterprise Grid e tiver vários espaços de trabalho do Slack em sua organização onde precisa usar o GitHub, poderá instalar e gerenciar seu aplicativo GitHub no Slack Enterprise Grid. Os proprietários e administradores de organizações na grade do Slack Enterprise podem:
Gerencie solicitações de instalação de aplicativos GitHub dos membros do seu espaço de trabalho.
Disponibilize o aplicativo GitHub em todos os espaços de trabalho futuros por padrão.
Somente administradores e proprietários de organizações da grade corporativa poderão instalar e gerenciar o aplicativo GitHub no nível da grade.
Você pode instalar o aplicativo GitHub em nível organizacional clicando aqui e selecionando a organização de grade corporativa a ser instalada.
Estamos anunciando a integração do GA para GHES com Slack com GHES 3.8.
Com esta integração, agora você poderá assinar seus repositórios em sua instância GHES e receber atualizações ao vivo sobre seus problemas, PRs, commits e implantações no Slack. E você também pode realizar ações como comentar, abrir/fechar problemas e aprovar suas implantações diretamente do Slack.
A partir do GHES 3.8, estamos enviando um serviço ChatOps dedicado junto com seu servidor GHES. E você pode optar pela integração com seu espaço de trabalho do Slack. Com nossa integração para GHES, você terá
Uma experiência totalmente segura e escalonável: todas as informações de sua assinatura e quaisquer outros metadados permanecem na configuração do GHES. Portanto, você não precisa se preocupar com o fluxo de dados para qualquer serviço externo.
Conectividade bidirecional entre GHES e Slack: Nossa integração GHES não é apenas um serviço de notificação. Também permitirá que você execute ações diretamente do chat. Portanto, o único pré-requisito necessário para garantir que sua instância GHES seja acessível no Slack. Com o modo Socket ativado, apenas o acesso de entrada do Slack é necessário.
O aplicativo GitHub existente que você vê na loja de aplicativos só pode ser usado para integração com GHEC (GitHub hospedado). Para integrar sua instância GHES ao Slack, você precisa configurar um aplicativo GHES privado. Aqui estão as etapas para integração com o GHES.
<instancename>/_slack/
ou slack.<instancename>
para instalar o aplicativo em seu espaço de trabalho.Proxies não suportados atualmente.
Se você tiver alguma dúvida ou preocupação, entre em contato conosco registrando um problema aqui. Ou preencha o formulário de suporte do GitHub e sua solicitação será encaminhada para a equipe certa no GitHub.
Este repositório não aceita nenhuma contribuição de código. O código atual em execução para GitHub e integração para Slack divergiu significativamente do código presente neste repositório, pois contém código específico que é necessário para executar o serviço na infraestrutura GitHub e que não pode ser de código aberto neste momento. Continuaremos a usar problemas neste repositório para obter feedback dos clientes . |
O projeto está disponível como código aberto sob os termos da licença MIT.
Ao usar os logotipos do GitHub, siga as diretrizes do logotipo do GitHub.