Como integrar Apidog com GitHub e GitLab

Configurar a integração Git do Apidog: conecte GitHub, GitLab ou Azure DevOps e sincronize bidirecionalmente suas especificações OpenAPI. Autenticação, branches, backup e solução de problemas.

Ashley Innocent

Ashley Innocent

3 junho 2026

Como integrar Apidog com GitHub e GitLab

Apidog para empresas

Implantação local

SSO & RBAC

Conforme SOC 2

Explorar Apidog Enterprise

Se suas especificações de API residem no Apidog, mas sua fonte de verdade está no Git, você quer que as duas estejam em sincronia. A integração Git do Apidog preenche essa lacuna. Ela permite que você conecte um repositório GitHub, GitLab ou Azure DevOps ao seu projeto, envie suas especificações OpenAPI para controle de versão e puxe as alterações do repositório de volta para o Apidog. Você obtém um registro de auditoria limpo, revisão de código nas alterações de especificação e um backup que sobrevive a qualquer coisa que aconteça dentro do aplicativo.

Esta é a referência ampla. Ela cobre todos os provedores que o Apidog suporta, ambas as maneiras como o produto se comunica com o Git, e as decisões práticas que você enfrentará: qual repositório, qual branch, quem pode enviar e o que fazer quando algo quebra. Se você precisa apenas do guia focado no GitHub, leia o guia dedicado sobre como sincronizar sua especificação OpenAPI com o GitHub. Aqui, abordamos um escopo mais amplo.

botão

O que a integração Git do Apidog faz

O Apidog se comunica com o Git de duas maneiras distintas. Elas resolvem problemas diferentes, e você pode usar uma, a outra ou ambas. Misturá-las é a fonte mais comum de confusão, então vamos separá-las primeiro.

Visualização mostrando que a integração Apidog Git pode fazer backup unidirecional e sincronização bidirecional. O backup é rotulado como unidirecional, enquanto a sincronização é bidirecional.

A primeira capacidade é a sincronização bidirecional através do Modo Spec-First. Você edita seu documento OpenAPI como YAML ou JSON dentro do editor estilo IDE do Apidog, confirma suas alterações e as envia para o branch conectado. Quando outra pessoa atualiza a especificação no repositório, você puxa essas alterações de volta para o Apidog. Este é um verdadeiro ciclo completo: as edições fluem para o Git e as alterações do repositório fluem de volta.

A segunda capacidade é o backup automático Git de especificações de API. Aqui, o Apidog exporta o arquivo OpenAPI/Swagger de cada módulo e o envia para um repositório em um cronograma. Isso é unidirecional e sem intervenção. Você configura uma vez, e o sistema mantém uma cópia versionada de suas especificações no Git sem que você precise mover um dedo. É uma rede de segurança, não um fluxo de trabalho de edição.

Capacidade Direção Gatilho Melhor para
Sincronização do Modo Spec-First Bidirecional (enviar e puxar) Commit/push manual, pull manual Equipes que tratam a especificação como código e querem revisão em cada alteração
Backup automático Git Unidirecional (Apidog → Git) Agendado, fora do horário de pico Qualquer pessoa que queira um backup versionado sem alterar seu modo de trabalho

Mantenha essa distinção em mente para o restante do artigo. Quando dizemos “sincronizar”, queremos dizer o fluxo bidirecional do Modo Spec-First. Quando dizemos “backup”, queremos dizer a exportação agendada e unidirecional.

Provedores Git suportados

O Apidog suporta os três provedores que a maioria das equipes já usa. GitHub e GitLab se conectam diretamente através de seus fluxos de autorização nativos. O Azure DevOps se conecta através de uma Conexão Git genérica, que funciona com qualquer host Git que utilize autenticação HTTPS padrão.

Provedor Método de autenticação Notas
GitHub Autorização OAuth (login GitHub) Funciona com repositórios pessoais e de organização. Repositórios de organização podem precisar de um administrador para aprovar a conexão.
GitLab Autorização OAuth (login GitLab) Suporta gitlab.com e instâncias self-managed acessíveis do Apidog.
Azure DevOps Conexão Git Genérica (HTTPS + token) Conecte-se via URL HTTPS do repositório e um token de acesso pessoal (PAT) com escopo de repositório.

A Conexão Git genérica é a solução de escape. Se seu host não é GitHub ou GitLab por nome, mas se comunica via Git padrão sobre HTTPS com autenticação por token, a conexão genérica geralmente o suporta. O Azure DevOps é o caso principal, mas o mesmo caminho cobre configurações self-hosted que expõem uma URL de clone HTTPS.

Conectando seu provedor Git

A etapa de conexão é onde você concede ao Apidog o acesso necessário para ler e escrever em seu repositório. A mecânica difere ligeiramente por provedor, mas a forma é a mesma: autorizar, escolher um repositório, escolher um branch.

Para o GitHub, você autoriza através da tela OAuth do GitHub. O Apidog solicita acesso ao repositório para que possa ler a especificação e enviar commits. Se o repositório pertencer a uma organização, o GitHub pode rotear a solicitação através de um administrador da organização que aprova o acesso de terceiros. Repositórios pessoais autorizam imediatamente sob sua própria conta.

Para o GitLab, o fluxo espelha o GitHub. Você faz login através da tela OAuth do GitLab e concede acesso ao repositório. O GitLab self-managed funciona desde que o Apidog consiga alcançar a instância pela rede.

Para o Azure DevOps, você usa a Conexão Git genérica. Em vez de um handshake OAuth, você fornece a URL de clone HTTPS do repositório e um token de acesso pessoal (PAT). Crie o PAT no Azure DevOps com permissão para ler e escrever código, depois cole-o no Apidog. O token é a credencial que permite ao Apidog enviar commits, então defina seu escopo para exatamente os repositórios que ele precisa.

Algumas notas de permissão que economizam tempo:

Uma vez que o provedor é conectado, você cria o projeto Apidog a partir de um repositório mais um branch, tipicamente main. Essa combinação é o que vincula suas especificações a um local específico no controle de versão. Se você é novo na prática mais ampla, nosso guia sobre controle de versão OpenAPI com Git cobre as convenções que valem a pena adotar antes de conectar tudo.

Sincronização bidirecional com o Modo Spec-First

O Modo Spec-First é onde a sincronização bidirecional reside. Ele transforma o Apidog em um editor de especificações que faz commits para o Git como qualquer outro código. Você pode ler a referência completa na documentação oficial do Apidog; aqui está como o ciclo completo funciona na prática.

Você edita o documento OpenAPI diretamente como YAML ou JSON. O editor é estilo IDE: oferece destaque de sintaxe, validação em tempo real e autocompletar, então um `$ref` malformado ou um campo obrigatório ausente aparece enquanto você digita, e não depois de você fazer o push. Enquanto você edita, a barra lateral esquerda analisa automaticamente o documento em um contorno, caminhos, operações e esquemas, para que você possa navegar em uma especificação grande sem rolar o texto bruto.

Uma edição típica se parece com isso. Digamos que você adicione um endpoint:

paths:
 /v1/orders/{orderId}:
 get:
 operationId: getOrder
 summary: Retrieve a single order
 parameters:
 - name: orderId
 in: path
 required: true
 schema:
 type: string
 responses:
 '200':
 description: The requested order
 content:
 application/json:
 schema:
 $ref: '#/components/schemas/Order'

Quando você salva essa alteração, o Apidog a prepara como uma edição local. Você então faz um commit com uma mensagem e envia para o branch conectado, exatamente como faria com qualquer fluxo de trabalho Git. Após o push ser concluído, um indicador de sincronização exibirá “Sincronizado agora mesmo” confirmando que o Apidog e o branch contêm o mesmo conteúdo.

A direção do pull é igualmente importante. Quando um colega de equipe edita a especificação no repositório e faz um push, você puxa essas alterações para o Apidog para manter sua cópia local atualizada. É isso que torna a integração genuinamente bidirecional: o repositório não é apenas um alvo de backup, é um par.

Se você fizer edições que não deseja manter, pode descartar edições não enviadas antes de confirmar. Isso reverte sua cópia de trabalho para corresponder ao último estado sincronizado, o que é útil quando você está experimentando e decide que a alteração não vale a pena ser mantida.

Esse ritmo de commit e push é o coração de um fluxo de trabalho de API nativo do Git — as alterações de especificação passam pelo mesmo processo de revisão, histórico e reversão que o resto do seu código. Os revisores comentam o diff YAML em um pull request, as aprovações controlam a fusão, e seu histórico de design de API é como seu histórico de código.

Backup automático Git de especificações de API

A capacidade de backup é a parte mais silenciosa da integração Apidog Git, e ela quase não exige nada de você após a configuração. Você aponta um módulo para um repositório, e o Apidog cuida do resto.

Aqui está o mecanismo. O Apidog pode fazer backup do arquivo OpenAPI/Swagger para cada módulo em um repositório Git; GitHub, GitLab e Azure DevOps são todos suportados. Depois de salvar a configuração de backup, o sistema envia automaticamente o arquivo de Especificação OpenAPI do módulo para o repositório especificado. O push acontece durante uma janela aleatória fora do horário de pico à noite, o que o mantém fora do seu horário de trabalho e distribui a carga.

O que é armazenado é o documento OpenAPI/Swagger exportado para aquele módulo, um instantâneo do contrato da API tal como está. Como cada push é um commit, você acumula um histórico de versões no Git. Você pode comparar o contrato da semana passada com o de hoje, ver exatamente quando um campo mudou e restaurar uma versão anterior diretamente do repositório, se for necessário.

O fluxo de backup é unidirecional por design. O Apidog escreve no repositório; ele não lê alterações de volta. Se você quer que as edições do repositório fluam para o Apidog, essa é a função do Modo Spec-First, não do backup. Use o backup quando seu objetivo é durabilidade e histórico sem alterar como sua equipe trabalha no dia a dia.

Escolhendo um branch e estrutura de repositório

As decisões estruturais que você toma de antemão moldam o quão suave a integração será depois. Duas perguntas dominam: qual branch e quantos repositórios.

Escolha do branch. A maioria das equipes sincroniza para main para a especificação canônica e usa branches para o design em andamento. Apontar o Apidog para um branch permite que você itere em uma alteração de especificação isoladamente, abra um pull request e faça o merge assim que a revisão for aprovada; seu design de API segue o mesmo modelo de ramificação que seu código. Apontar o Apidog diretamente para main é mais simples, mas pula o portão de revisão, então reserve-o para pequenas equipes ou mudanças de baixo risco.

Um repositório ou muitos. Não há uma única resposta certa, mas as compensações são claras:

Se você usa um monorepo, dê a cada módulo seu próprio caminho. Isso mantém os backups automáticos organizados e facilita a leitura das diferenças de especificação na revisão.

Permissões de equipe e acesso

A integração Git envolve credenciais, por isso vale a pena ser deliberado sobre quem pode fazer o quê. As permissões residem em dois lugares: dentro do Apidog e dentro do seu provedor Git.

Dentro do Apidog, as permissões da equipe são configuradas durante a configuração do projeto. É lá que você decide quem pode sincronizar e enviar para o repositório conectado. Limite os direitos de push às pessoas que possuem a especificação e permita que todos os outros leiam. Isso evita pushes acidentais de contribuidores que estão apenas navegando pelo design da API.

Dentro do seu provedor Git, a credencial importa. Para GitHub e GitLab, a autorização OAuth carrega o acesso do usuário que a concedeu. Para Azure DevOps e conexões genéricas, o token de acesso pessoal é a credencial, trate-o como um segredo. Não cole tokens em documentos compartilhados, defina o escopo para os repositórios de destino apenas e gire-os na mesma cadência em que você gira outros segredos. Se alguém sair da equipe, revogue seu token e reautorize sob uma conta que ainda esteja ativa.

O princípio é simples: a integração é tão segura quanto o token mais fraco por trás dela. Mantenha os escopos restritos e a propriedade clara.

Lidando com conflitos de merge e desvio

Como o Apidog faz commits de histórico Git real, ele herda o modelo de conflito do Git e as ferramentas do Git para resolvê-lo. Conflitos acontecem quando duas pessoas alteram a mesma parte da especificação antes de sincronizar.

Exemplo de um conflito de merge Git em um arquivo YAML, mostrando alterações em dois lados diferentes antes da resolução.

Imagine o cenário. Você edita o esquema `Order` no Apidog e faz push. Um colega de equipe editou o mesmo esquema no lado do repositório e fez push primeiro. Quando você tenta reconciliar, o Git sinaliza um conflito no YAML, porque ambos os lados alteraram linhas sobrepostas. Este não é um problema do Apidog; é um conflito de merge Git normal em um arquivo YAML, e você o resolve da maneira normal.

Para evitar conflitos, puxe antes de enviar. Trazer o estado mais recente do repositório para o Apidog antes de confirmar suas próprias alterações mantém sua cópia de trabalho atualizada e diminui a janela onde duas edições colidem. Quando um conflito ocorre, resolva-o no YAML da mesma forma que você resolveria qualquer conflito de merge: escolha as linhas corretas, mantenha o documento válido e sincronize novamente. A validação em tempo real do editor ajuda aqui; um merge mal feito que quebra a estrutura OpenAPI aparece imediatamente, em vez de depois que você faz o push.

O desvio, onde Apidog e o repositório divergem silenciosamente, é a versão lenta do mesmo problema. O indicador “Sincronizado agora mesmo” é seu aviso precoce. Se ele não mostrar “sincronizado”, algo está não enviado ou não puxado. Trate isso como um lembrete para reconciliar antes que a lacuna aumente.

Solução de problemas

A maioria dos problemas de integração remonta à autenticação, seleção de branch ou uma sincronização interrompida. Verifique a tabela antes de assumir que algo mais profundo está errado.

Sintoma Causa provável Solução
A autorização falha ou o repositório não aparece A organização não aprovou o acesso de terceiros, ou o token não tem escopo Peça a um administrador da organização para aprovar o aplicativo GitHub/GitLab; para Azure DevOps, reemita o PAT com escopo de leitura/escrita de código
Push rejeitado Token revogado ou expirado, ou sem permissão de escrita Reautorize o provedor; para conexões genéricas, gere um novo PAT e atualize-o no Apidog
Alterações enviadas, mas não visíveis Apontado para o branch errado Confirme se o branch conectado corresponde ao local onde você espera os commits; troque de branch nas configurações do projeto
Sincronização travada ou "Sincronizado agora mesmo" nunca aparece Edições locais não enviadas, ou um pull é necessário Confirme e envie as edições pendentes; se um colega de equipe enviou, puxe primeiro, depois sincronize novamente
Conflito de merge na especificação Duas edições nas mesmas linhas Resolva o conflito YAML normalmente, mantenha o documento válido, sincronize novamente
Backup não foi executado O push agendado ainda não atingiu sua janela fora do horário de pico Os backups são enviados durante uma janela noturna aleatória; aguarde o próximo ciclo ou verifique a configuração do repositório/branch de backup
Edições que você não pretendia manter Alterações experimentais antes do commit Use "descartar edições não enviadas" para reverter para o último estado sincronizado

Se a autorização é o tema recorrente, e geralmente é, comece confirmando que a credencial está ativa e com o escopo correto. Um token revogado ou uma aprovação de organização ausente explica a maioria dos relatos de "simplesmente parou de funcionar".

FAQ

A sincronização é unidirecional ou bidirecional?

Depende da capacidade que você está usando. O Modo Spec-First é bidirecional: você envia edições para o Git e puxa as alterações do repositório de volta para o Apidog. O backup automático é unidirecional: o Apidog exporta a especificação de cada módulo para o repositório em um cronograma e não lê as alterações de volta.

Onde minhas especificações são armazenadas?

No repositório Git que você conecta. Para o Modo Spec-First, seu documento OpenAPI vive no branch para o qual você faz push. Para backup automático, o arquivo OpenAPI/Swagger exportado de cada módulo é commitado no repositório que você configurou. Em ambos os casos, o Git mantém a cópia versionada, e você mantém controle total do repositório.

Para qual branch devo sincronizar?

Use main para a especificação canônica e branches para as mudanças em andamento. Sincronizar com um branch permite que uma alteração de especificação passe por um pull request e revisão antes de ser mesclada, o que espelha como seu código já se move através do Git.

O que acontece se meu token for revogado?

Os pushes começam a falhar porque o Apidog não tem mais acesso de escrita. Reautorize o provedor ou, para Azure DevOps e conexões genéricas, gere um novo token de acesso pessoal e atualize-o no Apidog. Uma vez restaurada a credencial, a sincronização e o backup são retomados normalmente.

Conclusão

A integração Git do Apidog oferece duas ferramentas complementares: sincronização bidirecional através do Modo Spec-First para equipes que tratam a especificação como código, e backup automático por módulo para qualquer um que apenas queira uma rede de segurança versionada. Ambas funcionam com GitHub, GitLab e Azure DevOps, então você conecta o provedor que já usa em vez de adotar um novo.

Escolha a capacidade que corresponde ao seu objetivo. Se você quer revisão e histórico em cada alteração de especificação, configure o Modo Spec-First e adote o ritmo de commit e push. Se você quer durabilidade sem mudar seu fluxo de trabalho, ative o backup e deixe o push noturno cuidar disso. Muitas equipes usam ambos. Quando estiver pronto para conectar, conecte seu provedor, aponte um projeto para um repositório e branch, e deixe suas especificações de API viverem onde o resto do seu trabalho já reside.

botão

Pratique o design de API no Apidog

Descubra uma forma mais fácil de construir e usar APIs