Integrar GitHub em Velocidade de mudança para DevOps — Espaço
Conecte-se à sua instância GitHub usando o playbook do Espaço de mudança de DevOps para descobrir, configurar e importar repositórios, planos e pipelines.
Antes de Iniciar
Conclua as tarefas especificadas no tópico Comece com Velocidade de mudança para DevOps.
Função necessária: sn_devops.admin ou sn_devops.tool_owner
Procedimento
-
Navegar até Espaços > Espaço de mudança de DevOps e use uma das seguintes opções para abrir o Playbook para integração GitHub.
Opção Etapas Página inicial - Selecione Conectar uma ferramenta.
- No modal Conectar a uma ferramenta, selecione a ferramenta na categoria apropriada (Orquestração, Código, Plano ou Qualidade de software). Por exemplo, se você quiser se conectar a GitHub como ferramenta de codificação, selecione a categoria Ferramentas de codificação.
Módulo de aplicações - Selecione Aplicações (
) na navegação primária.
- Selecione uma aplicação existente ou crie uma. Para criar uma aplicação, consulte Criar uma aplicação - Espaço.
- No painel Ações recomendadas, selecione o cartão Conectar a uma ferramenta.
- No modal Conectar a uma ferramenta, selecione a ferramenta na categoria apropriada. Por exemplo, se você quiser se conectar a GitHub como ferramenta de codificação, selecione GitHub na categoria Código.
Módulo de ferramentas - Selecione Ferramentas (
) na navegação primária.
- Na lista Capacidade, selecione a categoria apropriada. Por exemplo, se você quiser se conectar a GitHub como ferramenta de codificação, selecione a categoria Codificação.
- Selecione Conectar uma ferramenta.
- No modal Conectar-se a uma ferramenta, selecione GitHub.
Importante:Se você quiser descobrir e rastrear objetos da ferramenta, como pipelines, planos ou repositórios ao se conectar à ferramenta, deverá conectar sua ferramenta do módulo Aplicação. -
No campo Nome da ferramenta, insira um nome para a ferramenta.
-
Selecione Avançar.
O DevOps playbook é aberto para ajudá-lo a concluir as tarefas de integração.
-
Conclua a conexão e a configuração usando o playbook.
-
No campo Tipo de credencial, selecione um dos tipos de credencial a seguir.
- Autorização básica
- OAuth 2.0 com Código de autorização
- OAuth 2.0 com token Web JSON (JWT)
-
Insira as credenciais.
Autorização básica Insira o nome de usuário e a senha/token de acesso da instância GitHub.
OAuth 2.0 com Código de autorização Selecione um registro de credencial do OAuth 2.0 com código de autorização ou crie um registro de credencial do OAuth 2.0 com código de autorização. Para obter mais informações, consulte Criar um registro de credencial para o provedor de aplicações GitHub (código de autorização).
Nota:Se você estiver se conectando usando um app GitHub e estiver enfrentando problemas com a verificação de permissões, certifique-se de que o prefixo do ID de cliente do app GitHub esteja disponível na propriedade do DevOps: especificador de ID de cliente para app GitHub. Para obter mais informações, consulte Adicionar ID de cliente à propriedade de DevOps.OAuth 2.0 com token Web JSON (JWT) Para se conectar usando OAuth 2.0 com um JWT, você deve primeiro executar o seguinte:Depois de concluir os pré-requisitos, você pode continuar com a atividade do playbook Velocidade de mudança para DevOps Connect:- Selecione a opção Usar um registro de credencial JWT existente se quiser usar um registro de credencial JWT já existente. Se esta opção não estiver selecionada, os campos para criar um novo registro de credencial JWT serão exibidos. Prossiga para a próxima etapa.
- No campo Certificado JKS, selecione um certificado JKS existente. Este é o nome que você inseriu para identificar exclusivamente o provedor JWT. Os certificados JKS são criados usando comandos de shell para criar um registro sys_certificate.
Para obter mais informações, consulte Criar uma chave de assinatura JWT para o certificado GitHub JKS.
- No campo Chave de assinatura, insira a chave de assinatura a ser atribuída ao seu certificado JKS. Esta é a senha de exportação inserida ao gerar o certificado JKS.
- No campo ID do app GitHub, selecione o ID do app do GitHub (disponível na seção Sobre da configuração do app no GitHub). A imagem a seguir exibe um exemplo da seção Sobre de uma configuração do app GitHub de onde você pode acessar o ID do app GitHub, o ID do cliente e o segredo do cliente.
- No campo ID do cliente, selecione o ID do cliente do app GitHub (disponível na seção Sobre da configuração do app GitHub no GitHub).
- No campo Segredo do cliente, selecione o segredo do cliente do app GitHub (disponível na seção Sobre da configuração do app GitHub no GitHub).
- No campo URL do Token, selecione o local do endpoint do token que a instância usa para recuperar e atualizar tokens.
Para a versão em nuvem, insira: https://api.github.com/app/installations/<installation_id> /access_tokens .
Para a versão Enterprise, insira: https://<HOST_URL> /api/v3/app/installations/<installation_id> /access_tokens .
Para o ID de instalação, acesse a seção Instalar app na configuração do app GitHub no GitHub e selecione o ícone de engrenagem para configurar seu app. O ID de instalação estará no URL da página da web. Por exemplo, https://github.com/settings/installations/<installation_id> .
Se a credencial do OAuth for criada usando aplicativos GitHub - JWT, a opção Configurar com o aplicativo GitHub estará disponível na página de registro da ferramenta.
Nota:Se você estiver se conectando usando um app GitHub e estiver enfrentando problemas com a verificação de permissões, certifique-se de que o prefixo do ID de cliente do app GitHub esteja disponível na propriedade do DevOps: especificador de ID de cliente para app GitHub. Para obter mais informações, consulte Adicionar ID de cliente à propriedade de DevOps.Para obter mais informações sobre credenciais OAuth2.0, consulte Configuração de GitHub credenciais do OAuth 2.0 para Velocidade de mudança para DevOps.
- Opcional:
Insira um valor no campo de nome de slug do app GitHub para verificar os requisitos de permissão da ferramenta antes de se conectar se você tiver criado suas credenciais Oauth 2.0 usando GitHub Apps.
Você pode encontrar o nome do slug da aplicação na página de configurações da sua aplicação.
- Opcional:
Se sua instância GitHub estiver anexada a um MID Server, selecione a opção MID Server e insira seus detalhes.
Para obter mais informações sobre o MID Server, consulte Seleção do MID Server.
Nota:Para o GitHub Enterprise Server (instância no local), o OAuth não será compatível se você estiver se conectando usando um MID Server. -
Selecione Conectar.
-
As verificações de permissão são executadas nas credenciais que você inseriu.
As permissões necessárias e as permissões disponíveis são exibidas. Se você quiser inserir credenciais com permissões melhores, selecione Inserir credenciais novamente. Para obter informações detalhadas sobre todas as permissões necessárias, consulte GitHub permissões em Permissões necessárias para DevOps ferramentas.
Para OAuth 2.0, se você não tiver inserido o nome do slug da aplicação GitHub, a ferramenta será conectada sem verificar os requisitos de permissão.
-
Selecione Avançar.
-
No campo Tipo de credencial, selecione um dos tipos de credencial a seguir.
-
Especifique o acesso para a ferramenta.
- Se você quiser controlar o acesso à ferramenta, adicione os grupos que devem ter acesso à ferramenta no campo Mantido por.As tarefas que esses usuários nos grupos podem executar dependem da função atribuída a eles.
- DevOps Função de proprietário da ferramenta: pode exibir e editar a ferramenta.
- DevOps Função de proprietário da aplicação: pode exibir a ferramenta e associar, descobrir, importar dados históricos e modificar etapas do pipeline (se aplicável) dos objetos da ferramenta (como planos, repositórios e pipelines).
- DevOps Função de administrador: pode editar todas as ferramentas.
- Outras funções DevOps : pode exibir a ferramenta.
Nota:Se você não selecionar um grupo e ignorar esta etapa, todos os usuários com a função de proprietário da ferramenta DevOps poderão editar a ferramenta. - Se você optar por controlar o acesso à ferramenta, a opção Todos os proprietários de app podem exibir e associar objetos de ferramenta a aplicações ficará disponível para seleção.
Esta opção permite que todos os usuários com a função de proprietário de app DevOps acessem a ferramenta. Se selecionado, eles poderão exibir, associar, descobrir, importar dados históricos e modificar etapas do pipeline (se aplicável) dos objetos da ferramenta.
- Selecione Atribuir.
- Se você quiser controlar o acesso à ferramenta, adicione os grupos que devem ter acesso à ferramenta no campo Mantido por.
-
Configure webhooks automaticamente em sua instância GitHub para enviar dados para Velocidade de mudança para DevOps.
Esta ação configura os seguintes webhooks:
- push: para coletar confirmações, ramificações e marcadores do repositório
- workflow_job: para coletar dados de pipeline
- issues: para coletar dados de problemas (item de trabalho)
Nota:É recomendável concluir a configuração como parte desta tarefa, pois as notificações em tempo real são ideais para manter as informações atuais, principalmente para automatizar as solicitações de mudança. Caso contrário, você pode configurar o webhook configurando-o manualmente mais tarde, habilitando a pesquisa noturna para buscar o sistema de dados para qualquer repositório ou pipeline rastreado definindo a propriedade Enable Polling como Sim.Selecione os repositórios para os quais você deseja configurar webhooks e escolha Configurar.
Para configurar manualmente, selecione Configurar manualmente. Para obter mais informações, consulte Configurar webhooks em GitHub manualmente.
Importante:- Se você estiver se conectando pela página inicial ou pelo módulo Ferramentas, a conexão será concluída e você será direcionado para a página Resumo.
- Se você estiver se conectando do módulo Aplicações, os repositórios e pipelines disponíveis serão descobertos. Você pode rastrear e importar dados históricos deles.
-
Selecione os planos para acompanhar.
Selecione os planos para os quais você deseja rastrear atualizações e associar à aplicação.
Depois que a integração da ferramenta for concluída, os itens de trabalho somente para esses planos selecionados serão importados automaticamente.
Selecione Avançar.
-
Selecione os repositórios a serem rastreados.
- Selecione os repositórios para os quais você deseja rastrear atualizações e associar à aplicação.
Selecione Avançar.
Se você quiser importar dados do repositório, selecione o intervalo de datas e selecione Enviar.
Você pode importar até 90 dias de dados. Os fluxos de trabalho associados aos repositórios também serão importados.
-
Selecione os pipelines a serem rastreados.
Selecione os pipelines para os quais você deseja rastrear atualizações e associar à aplicação.
Selecione Avançar.
- Para cada pipeline selecionado, todas as etapas ou fases são importadas para a última execução bem-sucedida. Na atividade Atribuir serviços a etapas do pipeline, você pode selecionar o seguinte para cada etapa do pipeline:
Tipo de etapa do pipeline: selecione um tipo de etapa para o qual você deseja atribuir um serviço.
Dica:Especifique pelo menos o tipo de etapa Prod deploy para etapas que representam a implantação de produção para permitir que DevOps identifique execuções de pipeline bem-sucedidas como implantações de produção.Serviço: selecione o serviço de aplicações CMDB para o qual a etapa do pipeline é mapeada.
O serviço de aplicações é mapeado aproximadamente para o ambiente. Se você usar a mesma etapa de pipeline para implantar em ambientes diferentes, deixe o campo em branco. As informações de serviço permitem que DevOps identifique e gere relatórios sobre métricas operacionais, como incidentes, indisponibilidades e assim por diante.
Selecione Avançar.
-
Na página Resumo, selecione Exibir registro da ferramenta para revisar os detalhes da ferramenta GitHub conectada.
Para GitHub Actions pipelines, você deve executar algumas etapas adicionais, como criar segredos, definir a configuração do fluxo de trabalho em GitHube assim por diante. Para obter mais informações, consulte GitHub Actions configurações.
Resultado
Você integrou com sucesso sua ferramenta [ GitHub a Velocidade de mudança para DevOps.
O que Fazer Depois
Você também pode descobrir planos manualmente depois que a ferramenta GitHub estiver integrada. Como não há entidade de plano no GitHub, os repositórios serão considerados para descobrir registros de plano correspondentes na ServiceNow.
- Na página de registro da ferramenta, selecione Descobrir para descobrir planos.
- Selecione Configurar. Os planos são rastreados e um webhook chamado issues é criado para enviar notificações em tempo real para itens de trabalho.
- Mudança no título do problema
- Atualização de designados
- Problema de transferênciaNota:Quando um problema é transferido, ele é marcado como transferido no repositório de onde está sendo transferido e aberto no repositório para o qual está sendo transferido.
- Excluir problemaNota:Quando um problema é excluído no GitHub, o item de trabalho correspondente não é excluído na ServiceNow, mas o estado do item de trabalho é marcado como excluído.
Se você for um cliente de atualização, os planos serão descobertos para seus repositórios por meio do trabalho agendado para descobrir periodicamente ou por meio da descoberta manual. Depois que seus planos forem descobertos, você poderá habilitar a propriedade sn_devops.track.github.issues para reconfigurar todos os repositórios configurados anteriormente de uma só vez para que todos os planos sejam rastreados e o webhook de problemas seja criado para itens de trabalho.