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