GitHub Spoke

  • Versão de lançamento: Xanadu
  • Atualizado 1 de ago. de 2024
  • 13 min. de leitura
  • Gerencie o controle de versão distribuída e o código-fonte em GitHub da instância ServiceNow. Crie fluxos em ServiceNow para gerenciar recursos colaborativos, como acompanhamento de bugs, solicitações de recurso, tarefas e assim por diante, para projetos em GitHub. Exiba e analise dados de uso significativos para assinaturas de software GitHub Enterprise Cloud e GitHub Enterprise Server para que você possa recuperar licenças obsoletas.

    Solicitar aplicativos na Store

    Acesse o site ServiceNow Store para ver todos os aplicativos disponíveis e obter informações sobre como enviar solicitações para a loja. Para obter informações sobre notas de versão cumulativa para todos os aplicativos liberados, consulte as ServiceNow Store notas de versão do histórico de versão.

    Assinatura do Integration Hub

    Este spoke requer uma assinatura do Hub de integração. Para obter mais informações, consulte Cronogramas jurídicos - Visão geral do IntegrationHub.

    Versão do spoke

    GitHub spoke v3.0.0 é a versão mais recente.

    Versões compatíveis

    Este spoke foi criado para GitHub API versão v3, mas pode ser compatível com versões posteriores.

    Requisitos do spoke

    • GitHub conta
    • Usuário com credenciais de administrador
    • Token para autenticar a instância ServiceNow
    Veja o GitHub documentação para obter instruções sobre como criar uma conta GitHub e gerar um token.

    GitHub Módulo de Webhooks

    Os webhooks bidirecionais podem ser configurados para serem notificados sobre os eventos necessários. A política de roteamento define condições que devem ser atendidas para notificar o app ServiceNow. Essas condições são baseadas nos eventos em GitHub sobre os quais você deseja ser notificado. Quando as condições são atendidas, a política de roteamento aciona o subfluxo associado que, por sua vez, automatiza as tarefas GitHub.

    Os webhooks bidirecionais exigem configuração separada e podem ser usados independentemente sem usar as ações de spoke. Por padrão, a aplicação GitHub Webhooks está disponível no GitHub spoke e tem os seguintes módulos:
    • GitHub Registros de webhook
    • GitHub Políticas de roteamento do WebHook
    Use o módulo GitHub Registros de Webhook para atribuir um token e fornecer o caminho da API. Você deve gerar uma URL de retorno de chamada aqui e fornecer essa URL em GitHub. Uma política de roteamento padrão é fornecida no módulo GitHub Políticas de roteamento do WebHook. A política de roteamento padrão é compatível com estes campos GitHub :
    Campos GitHub compatíveis
    Ação Criador de cartão de projeto Ref
    Ref. base Anotação do cartão do projeto Tipo de referência
    Corpo do comentário de confirmação Anotação anterior do cartão do projeto Liberar ativos
    Comentário de confirmação criado em Cartão de projeto atualizado em Autor da versão
    Caminho do comentário de confirmação Coluna do projeto criada em Corpo da versão
    Comentário de confirmação atualizado em Nome da coluna do projeto Versão criada em
    Confirmar usuário do comentário Nome anterior da coluna do projeto Rascunho da versão
    Forçar envio Coluna do projeto atualizada em Nome da versão
    URL da instância do GitHub Projeto criado em Versão publicada em
    Problema atribuído a Nome do Projeto Nome do marcador da versão
    Atribuídos do problema Corpo anterior do projeto Confirmações de destino da versão
    Corpo do problema Nome anterior do projeto Repositório arquivado
    Problema encerrado em Estado do Projeto Repositório criado em
    Comentário do problema Projeto atualizado em Descrição do repositório
    Contagem de comentários do problema Solicitação de extração atribuída a Repositório inativo
    Comentário do problema criado em Atribuídos da solicitação de extração Nome completo do repositório
    Comentário do problema atualizado em Extrair corpo da solicitação O repositório tem problemas
    Problema criado em Solicitação de extração encerrada em O repositório tem projetos
    Problema rotulado como Contagem de comentários de solicitação de extração Status de importação do repositório
    Rótulos do problema Solicitação de extração criada em Licença do repositório
    Problema bloqueado Rascunho de solicitação de extração Contagem de problemas em aberto do repositório
    Marco do problema Solicitação de extração rotulada como Proprietário do repositório
    Corpo anterior do problema Rótulos de solicitação de extração Repositório privado
    Comentário anterior do problema Solicitação de extração bloqueada Repositório enviado por push em
    Marco anterior do problema Solicitação de extração mesclável Repositório com estrela em
    Título anterior do problema Solicitação de extração mesclada Repositório atualizado em
    Problema atribuído anteriormente a Solicitação de extração mesclada em Intervalo afetado do alerta de vulnerabilidade do repositório
    Problema previamente rotulado como Marco de solicitação de extração Identificador externo de alerta de vulnerabilidade do repositório
    Estado do problema Extrair corpo anterior da solicitação Alerta de vulnerabilidade do repositório corrigido em
    Título do problema Título anterior da solicitação de extração Nome do pacote de alerta de vulnerabilidade do repositório
    Problema atualizado em Solicitação de extração atribuída anteriormente a Descrição da consultoria de segurança
    Problema de usuário Solicitação de extração previamente rotulada como ID da consultoria de segurança
    Marco encerrado em Solicitação de extração rebaseável Comunicado de segurança publicado em
    Marco criado em Corpo de revisão da solicitação de extração Severidade da consultoria de segurança
    Criador de marcos Comentário de revisão da solicitação de extração Resumo da consultoria de segurança
    Descrição do marco Contagem de comentários de revisão de solicitação de extração Consultoria de segurança atualizada em
    Marco vence em Comentário de revisão da solicitação de extração criado em Consultoria de segurança retirada em
    Estado do marco Caminho do arquivo de comentário de revisão da solicitação de extração Login do remetente
    Título do marco Comentário de revisão de solicitação de extração - Comentário anterior Mensagem de confirmação de status
    Marco atualizado em Comentário de revisão da solicitação de extração atualizado em Contexto do status
    Descrição da organização Corpo anterior da revisão da solicitação de extração Status Criado em
    Login da organização Estado de revisão da solicitação de extração Descrição do status
    Pré-versão Estado da solicitação de extração Nome do status
    Corpo do projeto Título da solicitação de extração Estado do status
    Cartão de projeto arquivado Solicitação de extração atualizada em Status atualizado em
    Cartão do projeto criado em Usuário de solicitação de extração Evento o Webhook

    Para usar outras condições na política de roteamento, crie uma política de roteamento no módulo GitHub Políticas de roteamento do WebHook e especifique as condições de acordo com seus requisitos. Consulte Configurar webhook bidirecional para o spoke do GitHub para obter informações sobre como instalar e configurar os webhooks.

    Gatilhos de spoke

    ServiceNow oferece suporte a eventos específicos em GitHub que criam gatilhos. Primeiro, você deve configurar um fluxo com uma definição de gatilho compatível. Quando um evento, por exemplo, uma solicitação de envio, ocorre no GitHub, ele envia a carga por meio de um webhook para a instância ServiceNow. Depois disso, o fluxo que você configurou é acionado na instância ServiceNow para automatizar um fluxo de trabalho. Os eventos compatíveis são:

    Categoria Gatilho Descrição
    Gestão de filiais Ramificação criada O fluxo é acionado quando você cria uma ramificação em GitHub.
    Gestão de repositório Solicitação de extração aberta O fluxo é acionado quando você inicia uma nova solicitação de extração em GitHub.
    Solicitação de extração editada O fluxo é acionado quando você atualiza uma solicitação de extração em GitHub.
    Solicitação de extração encerrada O fluxo é acionado quando você fecha uma solicitação de extração em GitHub.
    Solicitação de extração atribuída O fluxo é acionado quando você atribui uma solicitação de extração a um usuário em GitHub.
    Solicitação de extração reaberta O fluxo é acionado quando você reabre uma solicitação de extração em GitHub.
    Bifurcação do repositório O fluxo é acionado quando você bifurca um repositório em GitHub.
    Envio por push do repositório O fluxo é acionado quando você envia por push para um repositório em GitHub.
    Gestão de versões Versão criada O fluxo é acionado quando os detalhes de uma versão são criados em GitHub.
    Versão editada O fluxo é acionado quando os detalhes de uma versão são atualizados em GitHub.
    Versão excluída O fluxo é acionado quando uma versão é removida em GitHub.
    Versão lançada O fluxo é acionado quando uma versão é lançada em GitHub.

    Para obter informações sobre como configurar os gatilhos para o spoke GitHub, consulte Ativar a definição do gatilho na instância ServiceNow. Para obter mais informações sobre integração de entrada, consulte Integração de entrada condicional e orientada por eventos.

    Subfluxos do spoke

    O GitHub spoke fornece um subfluxo de amostra para lidar com vários eventos de webhook GitHub. Os subfluxos de amostra disponíveis são:
    Tabela 1. Subfluxos do spoke
    Subfluxo Descrição Compatível com GitHub evento
    Processar eventos de webhook de ramificação e marcador do GitHub Manipula eventos de webhook de ramificação e marcador. Ramificação e marcador
    Processar eventos do webhook de confirmação do GitHub Manipula eventos de webhook de confirmação. Confirmar
    Processar eventos de webhook de problemas do GitHub Manipula eventos de webhook de problema. Problema
    Processar eventos de webhook de marco do GitHub Manipula eventos de webhook de marco. Marco
    Processar eventos do webhook do projeto do GitHub Manipula eventos de webhook de projeto. Projeto
    Processar eventos de webhook de solicitação de extração do GitHub Processa eventos de webhook de solicitação de extração. Solicitação de extração
    Processar eventos de webhook de push do GitHub Processa eventos de webhook de solicitação por push. Solicitação por push
    Processar eventos do webhook da versão do GitHub Processa eventos de webhook de versão. Versão
    Processar eventos do webhook do repositório do GitHub Manipula eventos de webhook de repositório. Repositório
    Processar eventos do webhook de segurança do GitHub Manipula eventos de webhook de segurança. Segurança
    Processar eventos de webhook do GitHub Manipula todos os GitHub eventos de webhook.
    Nota:
    Este subfluxo lida com todos os eventos GitHub. Você pode personalizar este subfluxo para lidar com outros GitHub eventos de webhook que não são compatíveis por padrão.

    Para criar subfluxos para lidar com outros eventos de webhook GitHub ou lidar com os eventos de webhook GitHub compatíveis de forma diferente, personalize o subfluxo Processar eventos de webhook do GitHub. Para isso, você deve criar uma cópia do subfluxo, analisar a carga e personalizar o subfluxo de acordo com seus requisitos. A carga é uma das entradas do subfluxo.

    Ao personalizar subfluxos, você deve confirmar se os subfluxos estão configurados para evitar loops infinitos.

    Nota:
    • Você deve configurar os webhooks para usar o subfluxo do spoke. Consulte Configurar webhook bidirecional para o spoke do GitHub para obter informações sobre como instalar e configurar o webhook.
    • Os subfluxos de amostra são executados como um usuário por padrão. Ele pode ser configurado para ser executado como um sistema.
    • GitHub spoke O é compatível com carga de aplicação/json. Configure o webhook GitHub adequadamente. Veja o GitHub Desenvolvedor Documentação do para obter instruções sobre como criar e configurar um webhook.

    Ações do spoke

    O GitHub spoke fornece ações para gerenciar ramificações, problemas, repositórios e código de origem quando ocorrem eventos em ServiceNow. As ações disponíveis incluem:

    Categoria Ação Descrição
    Gestão de filiais Criar Ramificação Cria uma ramificação em GitHub com base em um SHA de confirmação específico.
    Excluir ramificação Exclui uma ramificação do repositório GitHub.
    Obter ramificação Recupera os detalhes de uma ramificação no repositório GitHub.
    Obter proteção de ramificação Recupera os detalhes da restrição da ramificação necessária.
    Listar ramificações Recupera a lista de todas as ramificações em um repositório.
    Remover proteção de ramificação Remove a proteção na ramificação necessária.
    Atualizar proteção de ramificação Atualiza a proteção na ramificação necessária.
    Gestão de problemas Criar comentário sobre o problema Cria um comentário sobre um problema obrigatório.
    Criar Problema Cria um problema para o repositório necessário.
    Excluir comentário sobre o problema Exclui o comentário sobre um problema obrigatório.
    Problema de bloqueio Bloqueia o problema necessário. Isso limita a conversa somente a colaboradores.
    Pesquisar comentários sobre o problema Recupera a lista de comentários sobre um problema.
    Pesquisar problemas Recupera a lista de problemas de um repositório.
    Desbloquear problema Desbloqueia o problema necessário. Isso abre a conversa para todos os usuários.
    Atualizar comentário sobre o problema Atualiza um comentário sobre um problema.
    Atualizar problema Atualiza os detalhes do problema necessário.
    Recuperação de Metadados Pesquisar campos por ação Recupera a lista de campos para um filtro de ação na tabela GitHub Campos.
    Pesquisar metadados de ramificações Recupera metadados das ramificações.
    Pesquisar metadados de problemas Recupera metadados dos problemas.
    Pesquisar metadados de marcos Recupera metadados dos marcos.
    Pesquisar metadados de solicitações de extração Recupera metadados das solicitações de extração.
    Gestão da organização Obter plano da organização Recupera o nome do plano de uma organização.
    Lista de membros da organização Recupera a lista de todos os membros de uma organização.
    Listar repositórios da organização Recupera a lista de todos os repositórios em uma organização.
    Remover membro da organização Remove um usuário de uma organização.
    Pesquisar fluxo de eventos da organização Recupera a lista de eventos em uma organização com base na data de retrospectiva fornecida.
    Pesquisar fluxo de colaboradores externos da organização Recupera a lista de todos os colaboradores externos em uma organização.
    Remover colaborador externo da organização Remove um colaborador externo de uma organização.
    Pesquisar fluxo de colaboradores externos pendentes da organização Recupera uma lista de colaboradores pendentes em um repositório.
    Pesquisar fluxo de convites da organização Recupera uma lista de convites em uma organização.
    Gestão de repositório Adicionar colaborador Adiciona o colaborador ao repositório necessário.
    Criar comentário na solicitação de extração Crie comentários de revisão em uma solicitação de extração.
    Criar marco Cria um marco para o repositório necessário.
    Criar solicitação de extração Cria uma solicitação de extração para um repositório.
    Criar resposta no comentário de revisão da solicitação de extração Cria uma resposta a um comentário de revisão para uma solicitação de extração.
    Criar repositório Cria um repositório em GitHub.
    Excluir comentário na solicitação de extração Exclui o comentário de revisão em uma solicitação de extração.
    Excluir marco Exclui o marco do repositório necessário.
    Listar comentários na solicitação de extração Recupera a lista de todos os comentários de revisão em uma solicitação de extração.
    Listar marcos Recupera a lista de todos os marcos em um repositório.
    Listar eventos do repositório Recupera a lista de eventos em um repositório.
    Pesquisar solicitações de extração Recupera os detalhes das solicitações de extração de um repositório.
    Pesquisar repositórios Recupera os detalhes de repositórios com base em um usuário ou organização específica.
    Mesclar solicitação de extração Mescla a solicitação de extração com um repositório.
    Remover colaborador Remove o colaborador de um repositório.
    Atualizar comentário na solicitação de extração Atualiza os comentários de revisão fornecidos para uma solicitação de extração.
    Atualizar marco Atualiza os detalhes de um marco em um repositório.
    Atualizar solicitação de extração Atualiza os detalhes de uma solicitação de extração em um repositório.
    Atualizar repositório Atualiza os detalhes de um repositório em GitHub.
    Gestão de código de origem Criar comentário na confirmação Cria um comentário para a confirmação necessária usando seu SHA.
    Criar ou atualizar um arquivo Cria um arquivo ou atualiza um arquivo existente em um repositório.
    Obter comentários por ID de confirmação Recupera os comentários fornecidos para uma única confirmação.
    Obter informações de confirmação por ID Recupera o conteúdo da referência de confirmação necessária.
    Obter conteúdo do arquivo Recupera o conteúdo de um arquivo em um repositório.
    Nota:
    Esta ação oferece suporte a arquivos com tamanho de até 1 MB.
    Listar confirmações em um repositório Recupera os detalhes de todas as confirmações feitas em um repositório.
    Gestão de usuários Obter todos os usuários do servidor empresarial Recupera a lista de todos os GitHub usuários do Enterprise Server.
    Listar organizações para o usuário autenticado Recupera a lista de organizações das quais o usuário conectado é membro.
    Suspender usuário Suspende uma conta de usuário GitHub.
    Pesquisar usuário autenticado Recupera informações sobre o usuário autenticado.

    Módulos de spoke

    O spoke GitHub adiciona esses módulos à sua instância ServiceNow.
    Módulo Descrição
    GitHub Proprietário Exibe os registros de proprietário GitHub que você criou.
    GitHub Repositórios Exibe os detalhes dos repositórios GitHub associados aos proprietários GitHub.

    Requisitos de aliases de conexão e credencial

    Integration Hub usa aliases para gerenciar conexões e informações de credenciais e credenciais de OAuth. O uso de um alias elimina a necessidade de configurar várias credenciais e perfis de informações de conexão ao usar vários ambientes. Se as informações de conexão ou de credencial forem alteradas, não será necessário atualizar nenhuma ação que use a conexão.

    Para obter informações sobre como configurar o spoke, consulte Configurar GitHub spoke.