GitHub Spoke

  • Versão de lançamento: Washingtondc
  • Atualizado 1 de fev. de 2024
  • 11 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 IntegrationHub

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

    Versão do spoke

    GitHub spoke v2.4.0 é a versão mais recente.

    Versões compatíveis

    Este spoke foi criado para a GitHub versão da API 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 a conta GitHub e gerar o 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 as 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 GitHub tarefas.

    Os webhooks bidirecionais requerem configuração separada e podem ser usados de forma independente sem usar as ações do 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 a URL de retorno de chamada aqui e fornecer esta 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 compatíveis GitHub
    Ação Criador de cartões de projeto Ref
    Ref base Anotação do cartão do projeto Tipo de referência
    Confirmar corpo do comentário Anotação anterior do cartão do projeto Liberar ativos
    Confirmar comentário criado em Cartão de projeto atualizado em Autor da versão
    Confirmar caminho do comentário Coluna do projeto criada em Corpo da versão
    Confirmar comentário 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 por push 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
    Designados do Problema Corpo anterior do projeto Confirmação 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 desabilitado
    Comentário do problema criado em Designados 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 para Contagem de comentários da 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 Anteriormente Rotulado para Marco de solicitação de extração Identificador Externo de Alerta de Vulnerabilidade de Repositório
    Estado do problema Corpo anterior da solicitação de extração Alerta de vulnerabilidade de 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 do comunicado de segurança
    Usuário do Problema Solicitação de extração rotulada anteriormente para ID de 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 de consultoria de segurança
    Criador de marcos Comentário de revisão da solicitação de extração Resumo de consultoria de segurança
    Descrição do marco Contagem de comentários de revisão de solicitação de extração Comunicado de segurança atualizado em
    Vencimento do marco 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 da 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 de status
    Descrição da organização Corpo anterior de revisão de solicitação de extração Status Criado em
    Login da organização Estado de revisão de 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 de projeto criado em Usuário da 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 Políticas de roteamento do WebHook GitHub e especifique as condições de acordo com seu requisito. Consulte Configurar webhook bidirecional para o GitHub spoke para obter informações sobre como instalar e configurar os webhooks.

    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 Evento GitHub compatível
    Processar eventos de webhook de ramificação e marcador do GitHub Processa eventos de webhook de ramificação e marcador. Ramificação e marcador
    Processar eventos de webhook de confirmação do GitHub Processa eventos de webhook de confirmação. Confirmar
    Processar eventos de webhook do problema do GitHub Processa eventos de webhook de problemas. Problema
    Processar eventos do webhook de marco do GitHub Processa eventos de webhook de marco. Marco
    Processar eventos do webhook do projeto do GitHub Processa eventos de webhook do 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 por push do GitHub Processa eventos de webhook de solicitação por push. Solicitação por Push
    Processar eventos de webhook da versão do GitHub Processa eventos de webhook da versão. Versão
    Processar eventos do webhook do repositório do GitHub Manipula eventos de webhook do repositório. Repositório
    Processar eventos do webhook de segurança do GitHub Processa eventos de webhook de segurança. Segurança
    Processar eventos do webhook do GitHub Processa todos os eventos de webhook GitHub.
    Nota:
    Este subfluxo lida com todos os eventos GitHub. Você pode personalizar este subfluxo para lidar com outros eventos de webhook GitHub 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 GitHub Webhook Events. 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 garantir que os subfluxos estejam configurados para evitar loops infinitos.

    Nota:
    • Você deve configurar os webhooks para usar o subfluxo do spoke. Consulte Configurar webhook bidirecional para o GitHub spoke 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 sistema.
    • GitHub spoke oferece suporte à carga de aplicativo/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 os eventos ocorrem 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 de 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 necessá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 necessá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.
    Gerenciamento da organização Obter plano da organização Recupera o nome do plano de uma organização.
    Listar 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 Extrai colaboradores externos de uma organização.
    Remover colaborador externo da organização Remove colaboradores externos de uma organização
    Pesquisar fluxo de colaboradores externos pendentes da organização Extrai colaboradores pendentes em uma organização.
    Pesquisar fluxo de convites da organização Extrai 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 o comentário de revisão fornecido 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 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 arquivo 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 para o 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 do 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

    IntegrationHub O usa aliases para gerenciar informações de conexão e de credencial 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 spoke GitHub.