Apidog Docs
🇵🇹 Português
  • 🇺🇸 English
  • 🇯🇵 日本語
  • 🇪🇸 Español
  • 🇰🇷 한국인
  • 🇨🇳 简体中文
  • 🇵🇹 Português
🇵🇹 Português
  • 🇺🇸 English
  • 🇯🇵 日本語
  • 🇪🇸 Español
  • 🇰🇷 한국인
  • 🇨🇳 简体中文
  • 🇵🇹 Português
🇵🇹 Português
  • 🇺🇸 English
  • 🇯🇵 日本語
  • 🇪🇸 Español
  • 🇰🇷 한국인
  • 🇨🇳 简体中文
  • 🇵🇹 Português
HomeLearning Center
Support CenterAPI ReferencesDownloadChangelog
HomeLearning Center
Support CenterAPI ReferencesDownloadChangelog
  1. Branches
  • Centro de Aprendizagem da Apidog
  • Primeiros passos
    • Introdução ao Apidog
    • Conceitos Básicos no Apidog
    • Navegar no Apidog
    • Início rápido
      • Visão geral
      • Criar um Endpoint
      • Fazer um Pedido
      • Adicionar uma asserção
      • Criar Cenários de Teste
      • Partilhar Documentação da API
      • Explore Mais
    • Migração para o Apidog
      • Visão geral
      • Importação Manual
      • Importação Agendada (Vincular Fontes de Dados)
      • Opções de Importação
      • Exportar Dados
      • Importar de
        • Importar do Postman
        • Importar especificação OpenAPI
        • Importar cURL
        • Importar Markdowns
        • Importar a partir do Insomnia
        • Importar a partir de apiDoc
        • Importar Ficheiro .har
        • Importar WSDL
  • Apidog Europe
    • Apidog Europe
  • Dados de API mock
    • Visão geral
    • Smart Mock
    • Mock personalizado
    • Sequência de Prioridade do Mock
    • Scripts de Mock
    • Mock na Cloud
    • Mock do Runner Autoalojado
    • Idioma de Mock (Localidades)
  • Conta e preferências
    • Definições da Conta
    • Gerar um Token de Acesso OpenAPI
    • Notificações
    • Definições de Idioma
    • Teclas de Atalho
    • Configuração de Proxy de Rede
    • Cópia de Segurança dos Dados
    • Atualizar o Apidog
    • Eliminar Conta
    • Funcionalidades Experimentais
  • Enviar requisições
    • Visão geral
    • Depuração de SSE
    • Cliente MCP
    • Socket.IO
    • WebSocket
    • Webhook
    • SOAP ou WebService
    • GraphQL
    • gRPC
    • Utilizar Agentes de Proxy de Pedido para Depuração
    • Criar requisições
      • Histórico de Pedidos
      • Noções Básicas de Pedidos
      • Parâmetros e Corpo
      • Cabeçalhos do Pedido
      • Definições do Pedido
      • Depurar Pedidos
      • Guardar Pedidos como Endpoints
      • HTTP/2
    • Autenticação e autorização
      • Visão geral
      • Certificados CA e de Cliente
      • Tipos de autorização
      • Autenticação Digest
      • OAuth 1.0
      • OAuth 2.0
      • Autenticação Hawk
      • Kerberos
      • NTLM
      • Akamai EdgeGrid
    • Resposta e cookies
      • Visualizar Respostas de API
      • Gerir Cookies
      • Visão geral
  • Desenvolver e depurar APIs
    • Visão geral
    • Gerar Pedidos
    • Enviar Pedidos
    • Casos de Depuração
    • Casos de Teste
    • Valores Dinâmicos
    • Validação de Respostas
    • Design-First vs Request-First
    • Geração de Código
    • Ambientes e variáveis
      • Visão geral
      • Utilizar Variáveis
      • Gestão de Ambientes
    • Segredos do cofre
      • Visão geral
      • HashiCorp Vault
      • Azure Key Vault
      • AWS Secrets Manager
    • Módulos de valores dinâmicos
      • Airline
      • Animal
      • Cor
      • Comércio
      • Empresa
      • Base de Dados
      • Tipo de dados
      • Data
      • Finanças
      • Alimentação
      • Git
      • Hacker
      • Helpers
      • Imagem
      • Internet
      • Localização
      • Lorem
      • Música
      • Número
      • Pessoa
      • Telefone
      • Ciência
      • String
      • Sistema
      • Veículo
      • Word
    • Pré e pós-processadores
      • Visão geral
      • Asserção
      • Extrair variável
      • Espera
      • Segurança
      • Operações de banco de dados
        • Visão geral
        • MySQL
        • MongoDB
        • Redis
        • Cliente Oracle
      • Uso de scripts
        • Visão geral
        • Scripts de Pré-processamento
        • Scripts de pós-processamento
        • Scripts Públicos
        • Referência de Scripts do Postman
        • Chamar Outras Linguagens de Programação
        • Utilizar Bibliotecas JS
        • Visualizar Respostas
        • Exemplos de scripts
          • Scripts de Asserção
          • Utilização de Variáveis
          • Modificar Pedidos
          • Outros exemplos
    • Depuração de APIs
      • Depurador de Agentes de IA
      • Depurador A2A
  • Projetar APIs
    • Visão geral
    • Criar um Novo Projeto de API
    • Noções Básicas de Endpoints
    • Diretrizes de Design de API
    • Módulo
    • Configurar vários exemplos de corpo do pedido
    • Componentes
    • Campos Comuns
    • Parâmetros Globais
    • Histórico de Alterações do Endpoint
    • Comentários
    • Gestão de Endpoints em Lote
    • API de Protocolo Personalizado
    • Modo Spec-first (Beta)
    • Esquemas de segurança
      • Visão geral
      • Criar um Esquema de Segurança
      • Utilizar o Esquema de Segurança
      • Esquema de Segurança na Documentação Online
    • Recursos avançados
      • Campos de Endpoint Personalizados
      • Cenários de Teste Associados
      • Estado do endpoint
      • Aparência das listas de parâmetros
      • Identificação Única de Endpoint
    • Schemas
      • Visão geral
      • Criar um Novo Schema
      • Criar um Schema
      • Gerar esquemas a partir de JSON, etc.
      • oneOf, allOf, anyOf
      • Utilizar Discriminator
  • Testes de API
    • Visão geral
    • Cenários de teste
      • Criar um Cenário de Teste
      • Passar Dados Entre Pedidos
      • Condições de Controlo de Fluxo
      • Sincronizar Dados de Endpoints e Casos de Endpoint
      • Importar Endpoints e Casos de Endpoint de Outros Projetos
      • Exportar Cenários de Teste
    • Relatórios de teste
      • Relatórios de Teste
    • Executar cenários de teste
      • Executar um cenário de teste
      • Executar cenários de teste em lote
      • Testes Orientados por Dados
      • Dados de Teste Partilhados
      • Tarefas agendadas
      • Gerir o ambiente de runtime de APIs de outros projetos
    • Suíte de testes
      • Visão geral
      • Criar Uma Suite de Testes
      • Orquestrar Conjunto de Testes
      • Executar Conjuntos de Testes Localmente
      • Executar conjuntos de testes via CLI
      • Tarefas agendadas
    • Testar APIs
      • Testes de Integração
      • Testes de desempenho
      • Testes de Ponta a Ponta
      • Teste de regressão
      • Testes de Contrato
    • Apidog CLI
      • Visão geral
      • Instalar e Executar o Apidog CLI
      • Opções da CLI do Apidog
    • CI/CD
      • Visão geral
      • Integrar com o Github Actions
      • Integrar com o Gitlab
      • Integrar com Jenkins
      • Acionar Teste por Commit Git
  • Publicar documentação de API
    • Visão geral
    • Tecnologias de API Suportadas
    • Partilha Rápida
    • Visualizar a Documentação da API
    • Documentação Markdown
    • Publicar Sites de Documentação
    • Página de Início de Sessão Personalizada
    • Layouts personalizados
    • CSS, JavaScript, HTML personalizados
    • Domínio Personalizado
    • Funcionalidades de IA
    • Definições de SEO
    • Configurações avançadas
      • Pesquisa na Documentação
      • Proxy CORS
      • Integrar o Google Analytics
      • Definições da Árvore de Pastas
      • Definições de Visibilidade
      • Incorporar Valores em URLs de Documentação
    • Versões da API
      • Visão geral
      • Criar Versões de API
      • Publicar versões de API
      • Partilhar Endpoints com Versões da API
  • Branches
    • Visão geral
    • Criar uma Branch de Sprint
    • Testar APIs numa Branch
    • Conceber APIs numa Ramificação
    • Mesclar Branches de Sprint
    • Gerir Branches de Sprint
    • AI Branch (Beta)
  • Recursos de IA
    • Visão geral
    • Ativar Funcionalidades de IA
    • Gerar Casos de Teste
    • Modificar esquemas com IA
    • Verificação de Conformidade do Endpoint
    • Verificação da Completude da Documentação da API
    • Nomeação de Campos com IA
    • Perguntas frequentes
  • Servidor MCP do Apidog
    • Visão geral
    • Ligar o Projeto Apidog à IA
    • Ligar Documentação Publicada à IA
    • Ligar Ficheiros OpenAPI à IA
  • Boas práticas
    • Tratamento de Assinaturas de API
    • Aceder a APIs Protegidas por OAuth 2.0
    • Fluxo de trabalho de colaboração
    • Gestão do Estado de Autenticação
  • Espaço offline
    • Visão geral
  • Administração
    • Gerenciamento de projetos
      • Gerir Projetos
      • Definições de Notificação
      • Gerir Membros do Projeto
      • Recursos do projeto
        • Ligação à Base de Dados
        • Ligação Git
    • Gerenciamento de equipes
      • Gerir Equipas
      • Gerir Membros da Equipa
      • Atividades da Equipa
      • Funções e permissões da equipa
      • Recursos da equipe
        • General Runner
        • Variáveis de Equipa
        • Agente Proxy de Pedidos
      • Colaborações em tempo real
        • Colaboração em Equipa
    • Checklist de integração
      • Conceitos Básicos
      • Guia de Integração Inicial
    • Gerenciamento da organização
      • Gerir a Organização
      • Funções e Permissões da Organização
      • Gerenciamento de planos
        • Gestores de Faturação em Organizações
      • Single Sign-On (SSO)
        • Visão Geral do SSO
        • Configurar o Microsoft Entra ID
        • Configurar o Okta
        • Configurar SSO para uma organização
        • Gerir Contas de Utilizador
        • Mapear Grupos para Equipas
      • Provisionamento SCIM
        • Introdução ao Provisionamento SCIM
        • Microsoft Entra ID
        • Okta
      • Recursos da organização
        • Self-Hosted Runner
  • Cobrança
    • Visão geral
    • Créditos
    • Atualizar o seu plano
    • Métodos de Pagamento Alternativos
    • Gestão de Subscrições
    • Mover Equipas Pagas para Organizações
  • Complementos
    • API Hub
    • Plugin Apidog Intellij IDEA
    • Extensão do navegador
      • Chrome
      • Microsoft Edge
    • Proxy de requisições
      • Proxy de pedidos na Web
      • Proxy de Pedidos em Documentação Partilhada
      • Proxy de Pedido no Cliente
  • Dados e segurança
    • Armazenamento e Segurança de Dados
    • Privacidade e Segurança dos Dados do Utilizador
    • Encaminhamento de Pedidos e Segurança dos Dados
  • Referências
    • Abordagem API Design-First
    • Extensões da Especificação OpenAPI do Apidog
    • JSONPath
    • XPath
    • Expressões Regulares
    • JSON Schema
    • Formato de ficheiro CSV
    • Instalar o Ambiente Java
    • Ambiente de Implementação do Runner
    • Sintaxe Markdown do Apidog
    • Extensões Swagger do Apidog
      • Visão geral
      • x-apidog-folder
      • x-apidog-status
      • x-apidog-name
      • x-apidog-maintainer
    • Extensões JSON Schema do Apidog
      • Visão geral
      • x-apidog-mock
      • x-apidog-orders
      • x-apidog-enum
  • Central de suporte
    • Apidog Support Center
    • Importar/exportar
      • Como importar dados de API para o Apidog?
      • Como importar cURL no Apidog?
      • Como migrar ambientes do Postman para o Apidog?
      • Como agrupar automaticamente endpoints na importação de Swagger/OpenAPI?
    • Envio de requisições
      • O Apidog suporta Socket.IO?
      • Porque é que o "+" no valor do parâmetro é descodificado como um espaço?
      • Como enviar um pedido no Apidog?
      • Como enviar um pedido GraphQL no Apidog?
      • Como enviar um pedido gRPC no Apidog?
      • Como enviar um pedido SOAP/WebService no Apidog?
      • Como enviar um pedido WebSocket no Apidog?
      • O Apidog suporta scripts pré-pedido/teste e asserções em APIs WebSocket?
      • Como enviar um pedido SSE no Apidog?
      • Como adicionar cabeçalhos predefinidos ao nível da pasta?
      • O Apidog suporta scripts pré-pedido/de teste e asserções em APIs gRPC?
      • Erro do resolvedor DNS ELANREFUSED.DNS
      • Porque estou a receber um erro "socket hang up" ao enviar um pedido?
      • Correção de erros de requisição
        • Corrigir o erro read ECONNRESET
        • Corrigir o erro ECONNREFUSED
        • Corrigir o erro ETIMEDOUT
        • Corrigir o erro ENOTFOUND: Couldn't resolve host
        • Corrigir ENOTFOUND: getaddrinfo ENOTFOUND www Error
        • Corrigir o erro connect EHOSTUNREACH
    • Projeto de APIs
      • Como utilizo variáveis no caminho?
      • Posso utilizar um componente de resposta como resposta predefinida?
      • Como verificar quem modificou um endpoint?
      • Como posso eliminar pastas de endpoints em massa no Apidog?
      • Como posso adicionar/remover prefixos em massa ao caminho dos endpoints?
      • Como mover o nível de uma propriedade no Editor de Esquemas?
      • Se uma propriedade de string tiver vários valores enumerados e for utilizada em vários locais, como é que este enum pode ser referenciado de forma consistente em todo o lado?
      • Como obter o ID da pasta de recursos do Apidog?
      • Como posso obter o ID da pasta de recursos do Apidog?
      • Como utilizo variáveis num caminho de URL?
      • O que deve fazer se um endpoint, documento ou cenário de teste for eliminado acidentalmente?
      • O Apidog suporta código de pedido para endpoints personalizados?
      • Como agrupar automaticamente endpoints ao importar Swagger/OpenAPI para o Apidog?
      • Como gero dados de array não duplicados em respostas mock?
      • Porque é que a entrada "#" não é suportada no caminho?
    • Depuração de APIs
      • Como é que o Apidog se integra com sistemas de gestão de chaves de terceiros?
      • Porque é que o mesmo pedido funciona corretamente noutras ferramentas (como o Postman), mas não no Apidog?
      • Como obter valores de variáveis a partir da base de dados no Apidog?
      • Como migrar ambientes de outras ferramentas para o Apidog?
      • Como criar asserções utilizando scripts no Apidog?
      • JSONPath só consegue extrair arrays. Como podemos extrair um único elemento dentro deles no Apidog?
      • Como configurar operações de base de dados no Apidog quando diferentes ambientes têm diferentes credenciais de conta da base de dados?
      • Como obter o URL base do serviço num script personalizado?
      • Porque é que o Apidog comunica um erro de excesso do comprimento máximo de string do Node.js quando a resposta da API é demasiado grande?
      • Qual é o limite de tamanho para a impressão na consola? Porque recebo um erro ao imprimir ficheiros grandes?
      • Como resolver erros de ligação à base de dados DB2 no Windows?
      • Porque estou a obter o erro NJS-045 ao ligar-me a uma base de dados Oracle no Apidog?
      • Como gerar valores dinâmicos em scripts personalizados do Apidog?
      • Porque é que o pedido do cliente para o mesmo endpoint é bem-sucedido, mas ocorre um erro ao depurar no lado web: "Não é possível solicitar o endereço"?
      • Porque é que o Apidog comunica um erro quando a resposta é demasiado grande?
      • Como posso utilizar o endpoint de gravação do Apidog?
      • Ao definir uma resposta de endpoint, é permitido que o endpoint não tenha conteúdo de resposta?
      • Como obtenho a baseURL do serviço num script personalizado?
      • Como posso visualizar o pacote original no Apidog?
      • Porque é que vejo o erro "Invalid URI xxx" ao fazer um pedido?
      • Como faço um pedido assíncrono num script do Apidog?
      • Porque vejo a mensagem "Couldn't resolve host" ao enviar um pedido?
      • Qual é o limite de tamanho de impressão na consola? Porque ocorre um erro ao imprimir um ficheiro grande?
      • Como faço para carregar um ficheiro num pedido de endpoint?
      • O que fazer se o Apidog falhar ou os dados da resposta não forem apresentados?
      • URI de Redirecionamento Oficial utilizado pelo Apidog para OAuth2.0
    • Dados de API mock
      • Como simular APIs automaticamente?
      • O que pode fazer o mocking do Apidog?
      • Como fazer mock de dados fixos de API no Apidog?
      • Como simular dados condicionais no Apidog?
      • Como ativar o mock na cloud no Apidog?
      • Como ativar o mock autoalojado no Apidog?
      • O Apidog suporta mocks de APIs WebSocket?
      • Porque é que o browser não devolve conteúdo ao solicitar o endpoint mock?
    • Testes automatizados
      • Porque é que os cenários de teste são executados sem problemas no meu cliente local, mas ocorrem erros ao executá-los na CLI ou no runner do Apidog?
      • Como criar um cenário de teste no Apidog?
      • Como passar dados entre etapas de teste?
      • Porque não consigo referenciar com êxito dados do passo anterior?
      • Como utilizar o ciclo foreach no Apidog?
      • Quais são as diferenças entre sincronizar dados de endpoints/casos de endpoint?
      • Como utilizar dados de teste no Apidog?
      • Como obter dados de teste em scripts no Apidog?
      • Como executar cenários de teste em lote no Apidog?
      • Como agendar tarefas de teste no Apidog?
      • Como executar um teste de desempenho no Apidog?
      • Como pode visualizar os pedidos e as respostas reais nos testes de desempenho?
      • Como posso exportar relatórios de testes de desempenho no Apidog?
      • Como utilizar resultados de consultas à base de dados como parâmetros para pedidos de API em loop?
      • Capturar e Validar Webhooks do Stripe no ApiDog Durante CI/CD
      • Como resolver o erro "Error: unable to verify the first certificate on runner"?
      • Erro "Not Found" no Contentor Docker do General Runner.
      • Como definir o host do servidor para o General Runner na versão Web do Apidog?
      • Porque é que o cenário de teste agendado terminou com 0 pedidos?
      • O que deve fazer se o parâmetro de carregamento de ficheiro não for encontrado no Runner ou na CLI?
      • Como utilizar o Runner para executar um cenário de teste com um passo de carregamento de ficheiro?
      • Como resolvo o erro "Error: unable to verify the first certificate on runner"?
      • Como pode aceder e pesquisar os logs do runner para identificar o problema quando surge um problema com um runner?
      • O que devo fazer se o parâmetro do endpoint for um ficheiro de upload e não puder ser encontrado no Runner ou na CLI?
      • Porque é que os passos de teste não são sincronizados automaticamente quando o caso de uso da API muda?
      • Porque é que a utilização de vários sinais de dólar num documento Markdown faz com que algum conteúdo não seja apresentado corretamente?
      • O Runner autoalojado gera um relatório de teste no servidor após executar uma tarefa?
      • Posso adicionar pré/pós-processadores unificados a pedidos num cenário de teste?
      • Como posso manter valores dinâmicos consistentes durante uma única execução de teste automatizado?
    • Publicar documentação de API
      • Como ocultar todos os logótipos da Apidog em documentos publicados?
      • Quando a especificação da API é atualizada, a documentação da API muda?
      • Como partilhar APIs com colaboradores no Apidog?
      • Como personalizar o domínio das documentações do Apidog?
      • Como criar documentação multiversão no Apidog?
      • Âmbito de partilha para Sites de Documentação Publicados no Apidog
      • Âmbito de partilha da lista Share Doc no Apidog
      • Porque é que a documentação partilhada publicada não mostra o hostname?
      • Como podem os utilizadores da documentação modificar a URL Base em documentação partilhada?
      • Posso duplicar um documento Apidog publicado para usar no meu próprio projeto?
      • Como Partilhar Cabeçalhos (por exemplo, Token) na Documentação Online do Apidog?
      • Porque é que o membro da minha equipa não consegue encontrar a documentação publicada?
      • Como corrijo a expiração de um certificado SSL ou um erro 526 da Cloudflare no meu domínio personalizado?
      • SMTP personalizado configurado com sucesso, mas os utilizadores na lista de permissões não recebem e-mails com OTP
    • Markdown
      • Como utilizar cartões para ligar a várias páginas ou endpoints dentro do Apidog?
      • Porque é que algum conteúdo não é apresentado corretamente ao utilizar vários símbolos $ em documentos Markdown?
      • Como utilizar imagens com fundo transparente no Markdown do Apidog?
      • Como definir a largura das colunas de uma tabela Markdown?
      • Como pode inserir APIs internas, documentos, esquemas de dados ou pastas num documento Markdown?
      • Como posso adicionar uma ligação a um documento ou endpoint dentro de um projeto num componente de cartão do Apidog?
    • Branches
      • Como aceder ao branch de sprint?
    • Administração
      • Como instalar o cliente Apidog silenciosamente?
      • Porque estou a ver um erro “No Permission” apesar de ter acesso de administrador?
      • Como posso verificar o número da versão do runner?
      • O Apidog suporta Windows 7?
      • Porque é que o Apidog apresenta o erro "Cannot locate program entry point DiscardVirtualMemory in dynamic link library KERNEL32.dll" após a instalação?
      • Alterações de Subscrição e Reembolsos
      • Os pedidos Web funcionam, mas a aplicação apresenta "read ECONNRESET" — Porquê?
      • Porque não consigo abrir o Apidog após uma atualização do sistema Windows?
      • Porque é que o Apidog não abre após uma atualização do sistema Windows
    • Cobrança
      • Posso configurar uma conta de faturação separada para a minha equipa no Apidog?
      • Problemas de Acesso da Equipa e Faturação no Apidog
      • O membro da equipa convidado não consegue aceder ao Apidog.
      • Transferir uma Equipa Paga Pessoal para uma Organização
    • On-premises
      • Gestão de utilizadores e acessos na versão Self-Hosted (Enterprise) do Apidog
    • Web e cliente
      • Transferência e instalação da versão de ambiente de trabalho para Linux
  1. Branches

AI Branch (Beta)

AI Branch é um tipo especial de Sprint Branch.
Todas as operações de edição iniciadas a partir da Apidog CLI são tratadas como iniciadas por IA / Agentes de IA por predefinição.
AI Branch foi concebido para fornecer aos Agentes de IA um ramo de edição isolado em projetos Apidog. Com AI Branch, a IA pode criar e atualizar recursos do projeto sem alterar diretamente o ramo principal ou um sprint branch padrão. Depois de as alterações estarem concluídas, os utilizadores podem rever as diferenças no cliente ou na CLI e, em seguida, integrar os resultados no ramo de destino diretamente ou através de um pedido de integração.

Porque é necessário o AI Branch#

As edições iniciadas por IA podem ser imprevisíveis, enquanto a Apidog CLI fornece uma vasta gama de capacidades de edição. AI Branch foi concebido para estas operações de edição iniciadas por IA de maior risco, permitindo que os Agentes de IA editem recursos do projeto dentro de um âmbito controlado.
Também pode atualizar para o Apidog 2.8.31 ou posterior e ativar permissões de edição direta para o ramo principal, sprint branches padrão e ramos gerais conforme necessário em Definições do projeto -> Definições de funcionalidades -> Permissões de edição de IA externa. Depois de ativadas, estas permissões contornam as restrições de edição direta que normalmente exigem AI Branch.

O que é o AI Branch?#

AI Branch é um sprint branch especial. Tal como um sprint branch padrão, armazena alterações aos recursos do projeto. No entanto, destina-se por predefinição a operações de IA externas, como edições baseadas na CLI, e mantém um passo de confirmação humana antes de as alterações serem integradas.
As principais características do AI Branch incluem:
1.
Edição isolada: As alterações feitas a partir da CLI em recursos como APIs, documentação, modelos de dados e cenários de teste são armazenadas no AI Branch e não afetam diretamente o ramo principal ou o ramo de origem.
2.
Origem clara: Os AI Branches não podem ser criados diretamente no cliente Apidog. Devem ser criados a partir de uma origem CLI ou MCP. Um AI Branch regista o seu ramo de origem e é normalmente integrado novamente nesse ramo de origem, facilitando a compreensão do contexto das alterações geradas por IA.
3.
Confirmação humana: As alterações num AI Branch devem ser confirmadas por um utilizador antes de serem integradas. Os utilizadores podem rever diferenças, selecionar o âmbito dos recursos e escolher se pretendem integrar diretamente ou criar um pedido de integração.
4.
Sem limite de quantidade: Atualmente, não existe qualquer limite ativo para o número de AI Branches que podem ser criados. Os Agentes de IA podem utilizá-los para processar dados por domínio de negócio, iteração ou funcionalidade.
5.
Arquivo automático: Para evitar o crescimento descontrolado de AI Branches durante a colaboração no projeto, cada AI Branch é comparado com o seu ramo de origem a cada 24 horas. Se não forem encontradas diferenças, é arquivado automaticamente. Pode restaurar AI Branches arquivados no Apidog a qualquer momento, ou recriar novos AI Branches a partir da Apidog CLI, sem qualquer limite.
TIP
AI Branch é utilizado para armazenar resultados de escrita de operações externas de IA ou CLI. A edição normal no cliente, a integração e a revisão pelos utilizadores continuam a seguir as permissões dos membros do projeto e as regras de proteção de ramos.

Casos de utilização#

AI Branch é adequado quando a IA precisa de participar na manutenção de recursos do projeto, preservando simultaneamente o isolamento de ramos e a confirmação humana.
CenárioDescrição
Gerar rascunhos de API a partir de códigoDepois de ler o código, a IA cria ou atualiza endpoints de API HTTP num AI Branch. Os utilizadores confirmam as alterações antes da integração.
Organizar recursos de API em massaA IA pode ajustar diretórios de API, adicionar descrições e atualizar modelos de dados ou componentes de resposta sem afetar diretamente o ramo de colaboração atual.
Gerar rascunhos de testes automatizadosA IA pode criar cenários de teste, casos de teste ou dados de teste num AI Branch para confirmação posterior por testadores.
Preencher lacunas na documentação da APIA IA pode complementar campos em falta com base em relatórios de erros, implementações de API ou ficheiros OpenAPI.
Escrita em lote em CI/CDFluxos de trabalho automatizados podem escrever resultados gerados num AI Branch e aguardar revisão do utilizador antes da integração.

Fluxo de trabalho básico#

Um fluxo de trabalho típico de AI Branch é o seguinte:
1
Crie um AI Branch e especifique o ramo de origem no qual se baseia.
2
Importe os recursos que precisam de ser editados para o AI Branch, ou crie novos recursos no AI Branch.
3
Um Agente de IA, CLI ou script de automatização modifica recursos no AI Branch.
4
O utilizador revê as diferenças entre o AI Branch e o ramo de origem e, em seguida, confirma o âmbito dos recursos a integrar.
5
Dependendo das regras de proteção do ramo de destino, integre diretamente ou crie um pedido de integração.

Criar um AI Branch#

Utilize branch create --type ai para criar um AI Branch. Os pontos de entrada legados sprint-branch e sb permanecem compatíveis, mas recomenda-se o ponto de entrada unificado branch.
ComandoDescriçãoExemplo
branch create --type aiCriar um AI Branch.apidog branch create --project <projectId> --type ai --name "ai/20260312-from-main-userRegister" --from main
branch list --type aiVer AI Branches num projeto.apidog branch list --project <projectId> --type ai
branch list --type allVer todos os tipos de ramos num projeto.apidog branch list --project <projectId> --type all
branch get --type aiVer detalhes de um AI Branch especificado, incluindo o seu tipo de ramo e informações de origem.apidog branch get <branchName> --project <projectId> --type ai
Exemplo: Criar um AI Branch para a API de registo de utilizador
TIP
Recomendamos nomear AI Branches no formato ai/YYYYMMDD-from-sourceBranch-featureOrModule, por exemplo, ai/20260312-from-main-userRegister. Um nome claro ajuda a equipa a compreender a origem do ramo, a finalidade e a hora de criação.

Editar recursos num AI Branch#

Quando a CLI escreve recursos do projeto, pode utilizar parâmetros de ramo para escrever esses recursos num AI Branch. Os parâmetros variam ligeiramente entre comandos de recursos. Antes de utilizar, consulte a ajuda do comando correspondente e o JSON Schema.
Tipo de recursoComandos comunsExemplo
Endpoint de API HTTPendpoint create, endpoint updateapidog endpoint create --project <projectId> --branch <aiBranchName> --file ./endpoint.json
Modelo de dadosschema create, schema updateapidog schema update <schemaId> --project <projectId> --branch <aiBranchName> --file ./schema.json
Documento Markdowndoc create, doc updateapidog doc create --project <projectId> --branch <aiBranchName> --file ./doc.json
Cenário de testetest-scenario create, test-scenario updateapidog test-scenario update <scenarioId> --project <projectId> --branch <aiBranchName> --file ./scenario.json
Suite de testestest-suite create, test-suite updateapidog test-suite create --project <projectId> --branch <aiBranchName> --file ./suite.json
Dados de testetest-data create, test-data updateapidog test-data create --project <projectId> --branch <aiBranchName> --file ./test-data.json
Ao criar ou atualizar recursos complexos, recomendamos utilizar primeiro cli-schema para ver e validar a estrutura de dados.

Importar recursos a partir do ramo de origem#

Se um AI Branch precisar de modificar recursos existentes, utilize primeiro branch pick-to para importar recursos do ramo de origem para o AI Branch. Após a importação, a IA pode continuar a editar esses recursos no AI Branch.
ComandoDescriçãoExemplo
branch pick-toImportar recursos de um ramo de origem para um AI Branch de destino.apidog branch pick-to --project <projectId> --from <sourceBranchName> --to <aiBranchName> --endpoint-ids <ids>
Exemplo: Importar endpoints e permitir que a IA os modifique
TIP
pick-to importa apenas os recursos explicitamente especificados no comando. Se forem necessários diretórios, modelos de dados, componentes de resposta ou outros recursos relacionados, confirme o âmbito dos recursos antes da importação.

Ver alterações do AI Branch#

Antes da integração, recomendamos pré-visualizar as alterações candidatas entre o AI Branch e o ramo de destino. A CLI pode utilizar merge-request preview para analisar os tipos de recursos atualmente suportados. Também pode ver diferenças de ramo mais completas no cliente.
ComandoDescriçãoExemplo
merge-request previewAnalisar alterações candidatas para confirmar o âmbito dos recursos antes da integração.apidog merge-request preview --project <projectId> --from <aiBranchName> --to <targetBranchName>
branch get --type aiVer informações básicas do AI Branch.apidog branch get <aiBranchName> --project <projectId> --type ai
Exemplo: Pré-visualizar alterações candidatas antes da integração
TIP
merge-request preview analisa diferenças candidatas para tipos de recursos atualmente suportados pela CLI. Não é uma comparação completa de recursos. Antes da integração final, continuamos a recomendar a confirmação de conteúdo importante dos recursos no cliente.

Integrar um AI Branch#

Depois de as alterações do AI Branch estarem concluídas, pode integrá-las novamente no ramo de origem ou noutro ramo de destino. Para ramos de destino desprotegidos, utilize branch merge para integrar diretamente. Para ramos principais protegidos, utilize merge-request create para criar um pedido de integração e seguir o processo de revisão.
ComandoDescriçãoExemplo
branch mergeIntegrar diretamente recursos especificados de um AI Branch.apidog branch merge --project <projectId> --from <aiBranchName> --to <targetBranchName> --endpoint-ids <ids>
merge-request createCriar um pedido de integração.apidog merge-request create --project <projectId> --from <aiBranchName> --to <targetBranchName> --reviewer-ids <userIds> --endpoint-ids <ids>
merge-request approveAprovar um pedido de integração.apidog merge-request approve <mergeRequestId> --project <projectId> --to <targetBranchName> --file ./approve.json
merge-request rejectRejeitar um pedido de integração.apidog merge-request reject <mergeRequestId> --project <projectId> --to <targetBranchName>
Exemplo: Integrar diretamente alterações de endpoints
Exemplo: Criar um pedido de integração
TIP
Tanto a integração direta como os pedidos de integração integram apenas a lista de recursos fornecida explicitamente. Não incluem automaticamente recursos referenciados ou recursos de diretório. Ao definir o âmbito da integração, confirme as dependências entre endpoints, diretórios, modelos de dados, componentes de resposta e recursos de teste.

Arquivar e eliminar um AI Branch#

Depois de um AI Branch ser integrado ou deixar de ser necessário, pode arquivá-lo primeiro e depois eliminá-lo. Antes da eliminação, confirme que as alterações no ramo foram integradas ou já não são necessárias.
ComandoDescriçãoExemplo
branch archive --type aiArquivar um AI Branch.apidog branch archive <aiBranchName> --project <projectId> --type ai
branch delete --type aiEliminar um AI Branch arquivado.apidog branch delete <aiBranchName> --project <projectId> --type ai

Permissões de edição de IA externa#

Por predefinição, a CLI recomenda escrever recursos do projeto através de AI Branch. Isto permite que alterações geradas por IA entrem primeiro num ramo isolado e sejam integradas apenas após confirmação do utilizador.
Se pretender que operações externas de IA ou CLI editem diretamente o ramo principal, sprint branches padrão ou ramos gerais, ative as permissões correspondentes no cliente:
Project Settings - Feature Settings - AI Feature Settings - External AI Edit Permissions
Estes seletores controlam o âmbito de escrita direta de chamadas externas de IA, CLI ou automatização nos ramos do projeto. Antes de os ativar, confirme as regras de colaboração da sua equipa e os requisitos de segurança dos dados do projeto.
PermissãoDescrição
Permissão de edição direta do ramo principalPermite que operações externas de IA ou CLI escrevam diretamente no ramo principal.
Permissão de edição direta de sprint branch padrãoPermite que operações externas de IA ou CLI escrevam diretamente em sprint branches padrão.
Permissão de edição direta de ramo geralPermite que operações externas de IA ou CLI escrevam diretamente em ramos gerais.
Permissão de edição direta de AI BranchPermite que operações externas de IA ou CLI escrevam em AI Branches criados e mantidos pela IA. Normalmente, esta permissão permanece ativada.
TIP
Para proteger os recursos do projeto, recomendamos que operações externas de IA ou CLI escrevam primeiro num AI Branch e integrem apenas após confirmação do utilizador. Ative permissões de edição direta apenas quando um fluxo de trabalho de automatização precisar claramente de modificar diretamente o ramo de destino.

Boas práticas#

1.
Crie um AI Branch por tarefa: Cada AI Branch deve corresponder a uma tarefa clara, como concluir a API de registo de utilizador, organizar a documentação do módulo de encomendas ou gerar cenários de teste de pagamentos.
2.
Importe antes de editar: Ao modificar recursos existentes, utilize pick-to para os importar primeiro e, em seguida, atualize-os no AI Branch para evitar confusão sobre a origem.
3.
Pré-visualize diferenças antes da integração: Utilize merge-request preview ou a vista de diferenças do cliente para confirmar o conteúdo e as dependências dos recursos.
4.
Selecione explicitamente o âmbito da integração: Os comandos de integração processam apenas a lista de recursos fornecida. Para recursos relacionados, como diretórios de API, modelos de dados, componentes de resposta e casos de teste, confirme-os em conjunto.
5.
Mantenha a revisão humana: Definições de API, scripts de teste e modelos de dados gerados por IA devem ser revistos por membros do projeto antes da integração.
6.
Arquive ramos prontamente: AI Branches que tenham sido integrados ou abandonados devem ser arquivados prontamente para manter a lista de ramos clara.

Perguntas frequentes#

Qual é a diferença entre um AI Branch e um sprint branch padrão?
AI Branch é um sprint branch especial utilizado principalmente para armazenar resultados de escrita de IA externa, operações da CLI ou scripts de automatização. Regista o ramo de origem e incentiva os utilizadores a confirmar diferenças antes da integração. Os sprint branches padrão são normalmente utilizados para a colaboração diária entre membros da equipa.
Um AI Branch afeta diretamente o ramo principal?
Não. As alterações num AI Branch são guardadas primeiro nesse AI Branch. Os recursos relacionados só entram no ramo de destino depois de um utilizador realizar uma integração direta ou criar e aprovar um pedido de integração.
Como pode a CLI ignorar o AI Branch e editar diretamente os dados do projeto?
Num projeto Apidog, aceda a Project Settings - Feature Settings - AI Feature Settings - External AI Edit Permissions e, em seguida, ative permissões de edição direta para o ramo principal, sprint branches padrão ou ramos gerais conforme necessário. Depois de estas permissões serem ativadas, operações externas de IA ou CLI podem escrever diretamente dentro do âmbito do ramo correspondente.
Os recursos referenciados são incluídos automaticamente ao integrar um AI Branch?
Não. Tanto branch merge como merge-request create são executados de acordo com a lista de recursos fornecida explicitamente. Se endpoints referenciarem modelos de dados, componentes de resposta, diretórios ou recursos de teste, confirme e adicione o âmbito dos recursos correspondente antes da integração.
Um AI Branch tem de ser eliminado depois de as alterações estarem concluídas?
Não. A eliminação não é obrigatória. Recomendamos arquivar o ramo depois de confirmar que as suas alterações foram integradas ou já não são necessárias e, em seguida, decidir se o elimina de acordo com as convenções da sua equipa, para evitar a acumulação prolongada de ramos históricos.
Modified at 2026-06-09 08:54:45
Previous
Gerir Branches de Sprint
Next
Visão geral
Built with