Skip to main content

Gerenciar pull requests para atualizações de dependências

Você gerencia pull requests criadas por Dependabot da mesma forma que outras pull requests, mas existem algumas opções extras.

Sobre pull requests Dependabot

O Dependabot gera pull requests para atualizar dependências. Dependendo de como o repositório está configurado, o Dependabot poderá gerar solicitações de pull para atualizações de versão e/ou para atualizações de segurança. Você gerencia essas pull requests da mesma forma que qualquer outra pull request, mas também existem alguns comandos extras disponíveis. Para obter mais informações sobre como habilitar as atualizações de dependência de Dependabot, confira "Configurando as atualizações de segurança do Dependabot" e "Configurando a versão das atualizações do Dependabot".

Quando o Dependabot cria uma pull request, você é notificado pelo método escolhido para o repositório. Cada pull request contém informações detalhadas sobre a mudança proposta, retirada do gerenciador de pacotes. Essas pull requests seguem as verificações e testes normais definidas no seu repositório. Além disso, quando informações suficientes estiverem disponíveis, você verá uma pontuação de compatibilidade. Isso também pode ajudá-lo a decidir se deve ou não mesclar a alteração. Para saber mais sobre essa pontuação, confira "Sobre as atualizações de segurança do Dependabot".

Se você tem muitas dependências para gerenciar, você pode querer personalizar a configuração para cada gerenciador de pacotes para que as pull requests tenham revisores, responsáveis e etiquetas específicos. Você pode também agrupar conjuntos de dependências para que várias dependências sejam atualizadas em uma única pull request. Para saber mais, confira "Personalizando atualizações de dependências" e "Configurando as atualizações de segurança do Dependabot."

Note: se você não interagir com solicitações de pull do Dependabot para um repositório durnate um período de 90 dias, Dependabot considerará seu repositório inativo, e pausará automaticamente o Dependabot updates. Para saber mais sobre critérios de inatividade, confira "Sobre as atualizações da versão do Dependabot" e "Sobre as atualizações de segurança do Dependabot".

Visualizando pull requests Dependabot

  1. No GitHub.com, navegue até a página principal do repositório.

  2. Abaixo do nome do repositório, clique em Solicitações de pull.

    Captura de tela da página principal de um repositório. Na barra de navegação horizontal, uma guia, rotulada como "Solicitações de pull", é destacada em laranja escuro.

  3. Todos os pull requests de atualização de segurança ou versão são fáceis de identificar.

    • O autor é dependabot, a conta de bot usada pelo Dependabot.
    • Por padrão, elas têm o rótulo dependencies.

Alterando a estratégia de rebase para pull requests Dependabot

Por padrão, o Dependabot faz o rebasamento automaticamente das pull requests para resolver quaisquer conflitos. Se uma solicitação de pull não for mesclada em 30 dias, o Dependabot interromperá a troca de base da solicitação de pull. Você ainda poderá trocar a base manualmente e mesclar a solicitação de pull. Se você preferir solucionar conflitos de mesclagem manualmente, desabilite essa opção usando rebase-strategy. Para obter detalhes, confira "Opções de configuração para o arquivo dependabot.yml".

Ao permitir que o Dependabot troque de base e imponha o envio por push sem vez de obre confirmações adicionais

Por padrão, o Dependabot interromperá a troca de base de uma solicitação de pull assim que as confirmações adicionais forem enviadas por push para ele. Para permitir que o Dependabot imponha o envio por push em vez da adição de conformações às ramificações, inclua qualquer uma das seguintes cadeias de caracteres: [dependabot skip], [skip dependabot], [dependabot-skip] ou [skip-dependabot], minúsculas ou maiúsculas, na a mensagem de confirmação.

Gerenciando pull requests Dependabot com comandos de comentário

O Dependabot responde a comandos simples nos comentários. Cada pull request contém detalhes dos comandos que você pode usar para processar a pull request (por exemplo: fazer merge, combinação por squash, abrir, fechar ou rebasear a pull request) na seção "comandos e opções de Dependabot". O objetivo é facilitar ao máximo a triagem dessas pull requests geradas automaticamente.

Você pode usar qualquer um dos seguintes comandos em um pull request de Dependabot.

  • @dependabot cancel merge cancela uma mesclagem já solicitada.
  • @dependabot close fecha a solicitação de pull e impede que o Dependabot recrie essa solicitação de pull. Você pode obter o mesmo resultado fechando a pull request manualmente.
  • @dependabot ignore this dependency fecha a solicitação de pull e impede que o Dependabot crie mais solicitações de pull para essa dependência (a menos que você reabra a solicitação de pull ou faça upgrade para a versão sugerida da dependência por conta própria).
  • @dependabot ignore this major version fecha a solicitação de pull e impede que o Dependabot crie mais solicitações de pull para essa versão principal (a menos que você reabra a solicitação de pull ou faça upgrade para essa versão principal por conta própria).
  • @dependabot ignore this minor version fecha a solicitação de pull e impede que o Dependabot crie mais solicitações de pull para essa versão secundária (a menos que você reabra a solicitação de pull ou faça upgrade para essa versão secundária por conta própria).
  • @dependabot merge mescla a solicitação de pull depois que os testes de CI são aprovados.
  • @dependabot rebase troca a base da solicitação de pull.
  • @dependabot recreate recria a solicitação de pull, substituindo todas as edições feitas na solicitação de pull.
  • @dependabot reopen reabrirá a solicitação de pull se ela estiver fechada.
  • @dependabot show DEPENDENCY_NAME ignore conditions recupera informações das condições "ignore" da dependência especificada e comenta a solicitação de pull com uma tabela que exibe todas as condições "ignore" da dependência. Por exemplo, @dependabot show express ignore conditions localiza todas as condições ignore armazenadas para a dependência Express e comenta a solicitação de pull com essas informações.
  • @dependabot squash and merge faz uma mesclagem squash e mescla a solicitação de pull depois que os testes de CI são aprovados.

Dependabot reagirá com um emoji "positivo" para reconhecer o comando e pode responder com um comentário na pull request. Embora Dependabot normalmente responda rapidamente, alguns comandos podem levar vários minutos para serem concluídos se Dependabot estiver ocupado processando outras atualizações ou comandos.

Se você executar algum comando para ignorar dependências ou versões, o Dependabot armazena centralmente as preferências para o repositório. Embora esta seja uma solução rápida, para repositórios com mais de um colaborador é melhor definir explicitamente as dependências e versões para ignorar no arquivo de configuração. Isso facilita que todos os colaboradores vejam por que uma determinada dependência não está sendo atualizada automaticamente.

Para obter mais informações, confira "Opções de configuração para o arquivo dependabot.yml".

Como gerenciar pull requests do Dependabot para atualizações agrupadas com comandos de comentário

Em pull requests do Dependabot para atualizações de versão agrupadas e atualizações de versão, você pode usar comandos de comentário para ignorar e deixar de ignorar atualizações de dependências e versões específicas. Você pode usar qualquer um dos comandos a seguir para gerenciar condições "ignore" para atualizações agrupadas.

  • @dependabot ignore DEPENDENCY_NAME fecha a solicitação de pull e impede que o Dependabot atualize essa dependência.
  • @dependabot ignore DEPENDENCY_NAME major version fecha a solicitação de pull e impede que o Dependabot atualize a versão principal dessa dependência.
  • @dependabot ignore DEPENDENCY_NAME minor version fecha a solicitação de pull e impede que o Dependabot atualize a versão secundária dessa dependência.
  • @dependabot unignore * fecha a solicitação de pull atual, apaga todas as condições ignore armazenadas para todas as dependências no grupo e abre uma nova solicitação de pull.
  • @dependabot unignore DEPENDENCY_NAME fecha a solicitação de pull atual, apaga todas as condições ignore armazenadas para a dependência e abre uma nova solicitação de pull que inclui atualizações disponíveis para a dependência especificada. Por exemplo, @dependabot unignore lodash abre uma nova pull request que inclui atualizações de versão para a dependência Lodash.
  • @dependabot unignore DEPENDENCY_NAME IGNORE_CONDITION fecha a pull request atual, apaga todas as condições ignore armazenadas, em seguida abre uma nova pull request que inclui atualizações disponíveis para a condição "ignore" especificada. Por exemplo, @dependabot unignore express [< 1.9, > 1.8.0] abre uma nova pull request que inclui atualizações do Express entre as versões 1.8.0 e 1.9.0.

Dica: para deixar de ignorar uma condição "ignore" específica, use o comando @dependabot show DEPENDENCY_NAME ignore conditions para conferir rapidamente as condições "ignore" aplicadas a uma dependência no momento.