GitHub Spoke
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
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.
- GitHub Registros de webhook
- GitHub Políticas de roteamento do WebHook
| 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
| 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.
- 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
| 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.