O GitLab no ChatGPT e no Codex está atualmente em versão beta.
Visão geral
Use o modelo de app do GitLab Self-Managed para criar um rascunho de app específico do espaço de trabalho para uma instância do GitLab Self-Managed ou do GitLab Dedicated. Forneça o nome do host do GitLab e as credenciais da aplicação OAuth, revise o rascunho do app e publique-o para os membros elegíveis do espaço de trabalho. Após a publicação, as ações habilitadas do app ficam disponíveis nas conversas do ChatGPT e nas sessões do Codex.
Para uma visão geral dos comportamentos compatíveis do GitLab, da disponibilidade, das permissões, do uso de dados e dos requisitos de rede, consulte: Como conectar o GitLab ao ChatGPT e ao Codex.
O que você está configurando
Você está criando um app específico do espaço de trabalho a partir do modelo de app do GitLab Self-Managed. O app usa:
Uma aplicação OAuth do GitLab registrada no seu host do GitLab Self-Managed ou do GitLab Dedicated.
O ID da aplicação e o Segredo OAuth do GitLab para autorização do usuário.
Os escopos OAuth necessários: api, write_repository e openid.
O nome do seu host do GitLab, como gitlab.example.com, para determinar os endpoints da web, da API, de autorização e de token.
Antes de começar
Você precisa de:
Acesso de administrador ou proprietário do espaço de trabalho do ChatGPT.
Permissão no GitLab para criar a aplicação OAuth: acesso de Proprietário do grupo para um app pertencente a um grupo, ou acesso de administrador da instância para um app que abrange toda a instância.
Apenas o nome do host do GitLab, sem https://, porta ou caminho. Use um host do GitLab Self-Managed ou do GitLab Dedicated, não gitlab.com.
Uma definição de quais ações do GitLab o ChatGPT e o Codex devem oferecer, como pesquisa em repositórios, fluxos de trabalho de solicitações de mesclagem e de issues, edição de arquivos ou fluxos de trabalho mais amplos do Codex.
Mantenha o ChatGPT e o GitLab abertos em abas separadas. Copie a URI de redirecionamento exata exibida no ChatGPT; não crie nem modifique essa URI.
Para abrir a página Apps pelo Console de administração, selecione o espaço de trabalho desejado do ChatGPT, abra Plugins e selecione Gerenciar apps legados.
Valores a preparar
Nome do host do GitLab: por exemplo, gitlab.example.com.
URI de redirecionamento: copie esse valor do fluxo de configuração do modelo no ChatGPT.
ID da aplicação OAuth do GitLab.
Segredo OAuth do GitLab.
Escopos OAuth: copie esses valores do fluxo de configuração do modelo no ChatGPT.
Start the template setup in ChatGPT
In ChatGPT, switch to the workspace where the app should be available.
Go to Workspace settings > Apps.
In Directory, find GitLab, open its GitLab Self-Managed app template, and select Enable.
Enter a clear app name and description.
Enter the GitLab hostname, such as gitlab.example.com.
Copy the Redirect URI shown in ChatGPT, and keep this tab open.
Example: https://chatgpt.com/connector/oauth/<redirect_id>. Do not remove the redirect ID, add a trailing slash, or replace the URI with a generic ChatGPT URL.
Crie a aplicação OAuth do GitLab no GitLab
Escolha onde criar a aplicação
Abra seu host do GitLab, como https://gitlab.example.com.
Escolha se deseja criar uma aplicação para toda a instância ou uma aplicação pertencente a um grupo. Essa escolha determina quem gerencia a aplicação; o acesso aos projetos continua seguindo as permissões no GitLab do usuário que concede a autorização e os escopos OAuth concedidos.
Para uma aplicação que abrange toda a instância, acesse Administração > Aplicações. Para uma aplicação pertencente a um grupo, acesse Configurações > Aplicações do grupo.
Adicione os detalhes da aplicação
Selecione Nova aplicação ou Adicionar nova aplicação.
Insira um nome claro para o app, como GitLab Self-Managed ou GitLab Dedicated.
Em URI de redirecionamento, cole a URI exata copiada do ChatGPT.
Mantenha a opção Confidencial habilitada para esta aplicação OAuth do lado do servidor.
Configure o acesso e salve
Para uma aplicação que abrange toda a instância, o GitLab recomenda selecionar Confiável. Isso dispensa a solicitação de autorização do usuário.
Selecione os escopos api, write_repository e openid.
Revise quem pode gerenciar a aplicação e confirme que os usuários do GitLab que concedem a autorização têm as permissões adequadas de grupo e projeto.
Salve a aplicação.
Requisitos de escopos OAuth
O modelo solicita os seguintes escopos OAuth para as ações do GitLab habilitadas no ChatGPT e no Codex:
api: necessário para as operações da API do GitLab disponibilizadas pelo app, incluindo ações de solicitações de mesclagem, issues e CI/CD.
write_repository: necessário para operações de gravação em repositórios via Git.
openid: necessário para informações de identidade e de associação a grupos via OpenID Connect.
Copie as credenciais OAuth do GitLab
Na aplicação salva no GitLab, copie o ID da aplicação e o Segredo. Trate o Segredo como uma credencial. Se ele for exposto, renove-o no GitLab e crie um novo app do espaço de trabalho.
Conclua a configuração no ChatGPT
Volte à aba de configuração do modelo no ChatGPT.
Cole o ID da aplicação do GitLab em ID do cliente OAuth.
Cole o Segredo do GitLab em Segredo do cliente OAuth.
Confirme que o nome do host do GitLab contém apenas o nome do host, como gitlab.example.com.
Selecione Criar rascunho.
Abra os detalhes do rascunho do app e revise as seções Acesso por função e Configurar ações.
Publique e gerencie o app para o ChatGPT e o Codex
Criar o rascunho do app não o disponibiliza automaticamente para os membros. Após revisar o rascunho:
Selecione Publicar no rascunho do app.
Acesse o Console de administração, selecione o espaço de trabalho desejado do ChatGPT e abra Plugins. Em seguida, confirme que o GitLab está disponível para as funções desejadas.
Revise o Acesso por função para as funções que devem usar o app.
Em Configurar ações, revise as ações de leitura e gravação disponíveis.
Em Configurar aprovações, escolha quando os usuários devem aprovar uma ação antes que o ChatGPT ou o Codex use o app.
Peça a um usuário de teste com acesso para abrir o GitLab no Diretório de plugins ou em Configurações > Plugins. Confirme que o usuário consegue instalar o plugin e se conectar ao app criado a partir do modelo do GitLab Self-Managed.
Essas configurações de aprovação do app se aplicam às conversas do ChatGPT e às threads do Codex.
Configure a atividade do GitLab para revisão de código com o Codex
Após a publicação do app, configure a atividade do GitLab no Codex se você pretende usar a revisão de código do Codex. Essa configuração de atividade define os eventos de webhook necessários.
Abra as configurações de conectores do Codex.
Configure uma conta de serviço do espaço de trabalho. Deixe o Codex criar a conta ou forneça um token de acesso pessoal de uma conta de serviço existente.
Habilite a Atividade do GitLab para o projeto ou um de seus grupos superiores.
Se o Codex precisar executar tarefas de programação ou usar uma configuração específica do projeto, crie um ambiente de projeto.
O app GitLab usa o OAuth do usuário para leituras e ações habilitadas no ChatGPT e no Codex. Para operações de gravação em revisões do Codex no GitLab Self-Managed ou no GitLab Dedicated, o token da conta de serviço gerenciada pelo espaço de trabalho determina a identidade usada pelo Codex e os projetos em que ele pode comentar ou reagir.
Saiba mais: Revise solicitações de mesclagem do GitLab com o Codex.
Conecte e teste o app GitLab
Com uma conta de usuário que tenha acesso, abra o GitLab no Diretório de plugins ou em Configurações > Plugins. Selecione Instalar plugin e, em seguida, Conectar.
Se o seu espaço de trabalho tiver mais de um app GitLab, escolha o app correspondente a este host do GitLab Self-Managed ou do GitLab Dedicated.
Autorize a aplicação OAuth do GitLab quando solicitado.
Primeiro, execute uma ação simples de leitura no ChatGPT ou no Codex, como listar projetos acessíveis ou buscar uma solicitação de mesclagem conhecida.
Se as ações de gravação estiverem habilitadas, teste-as em um projeto de baixo risco e em cada produto em que pretende usá-las antes de ampliar a disponibilização.
Nome do host e comportamento do OAuth
O app usa o nome do host para determinar os endpoints do GitLab. Insira apenas o host, como gitlab.example.com. Não inclua https://, um caminho de API ou repositório, uma porta ou gitlab.com. Este modelo é destinado ao GitLab Self-Managed ou ao GitLab Dedicated. Para o GitLab.com (SaaS), use o app GitLab.
Solução de problemas na configuração do app GitLab Self-Managed
URI de redirecionamento não corresponde: confirme que a URI de redirecionamento da aplicação OAuth do GitLab corresponde exatamente à URI de redirecionamento exibida no ChatGPT.
O ChatGPT não consegue criar ou salvar o rascunho do app: confirme que o nome do host, o ID da aplicação, o Segredo e a URI de redirecionamento foram preenchidos.
A autenticação funciona, mas as chamadas ao projeto falham: confirme que o usuário do GitLab que concede a autorização pode acessar o projeto e que a aplicação OAuth tem os escopos do modelo.
A API retorna 403 ou permissões insuficientes: confirme que a conta do GitLab conectada tem as permissões necessárias de projeto ou grupo e que a aplicação OAuth inclui os escopos exigidos pelo modelo.
Nenhum projeto está acessível: confirme que o usuário tem acesso ao projeto, está conectado à instância desejada do GitLab e selecionou o app GitLab correto no ChatGPT ou no Codex.
