> ## Documentation Index
> Fetch the complete documentation index at: https://ai-kb.automationanywhere.com/llms.txt
> Use this file to discover all available pages before exploring further.

# GitHub

> Gerenciamento de repositórios, issues e pull requests

## Configuração

<img src="https://mintcdn.com/automationanywhere/RfM0IZSr51luSoHU/img/agents-toolkits/39.1.jpg?fit=max&auto=format&n=RfM0IZSr51luSoHU&q=85&s=9e450bdaca3a6e31195c093d85e394f7" alt="Configuração do GitHub com proprietário/repositório padrão e autenticação" width="1280" height="631" data-path="img/agents-toolkits/39.1.jpg" />

<img src="https://mintcdn.com/automationanywhere/RfM0IZSr51luSoHU/img/agents-toolkits/39.2.jpg?fit=max&auto=format&n=RfM0IZSr51luSoHU&q=85&s=7ca43fb6835933b392c9608e1bdd407d" alt="Ferramentas de Gerenciamento de Arquivos, Issues e Pull Requests do GitHub" width="1280" height="597" data-path="img/agents-toolkits/39.2.jpg" />

<img src="https://mintcdn.com/automationanywhere/RfM0IZSr51luSoHU/img/agents-toolkits/39.3.jpg?fit=max&auto=format&n=RfM0IZSr51luSoHU&q=85&s=dc1239e1c89be44c1207543fff31d55d" alt="Ferramentas de Gerenciamento de Etiquetas do GitHub" width="1280" height="122" data-path="img/agents-toolkits/39.3.jpg" />

* **Proprietário/Organização Padrão**: octocat
* **Repositório Padrão**: Hello-World
* **Autenticação**: OAuth; solicita ao usuário que se autentique
* **Acesso**: Limitado pelas permissões do usuário; suporta repositórios públicos/privados e gerenciamento de issues/PRs/conteúdo do repositório

## Ferramentas Disponíveis (16/16)

### Gerenciamento de Repositórios

* **Listar Repositórios**: Obter todos os repositórios de usuários ou organizações.
* **Obter Repositório**: Recuperar detalhes do repositório.
* **Pesquisar Repositórios**: Encontrar repositórios por nome, descrição ou tópicos.
* **Listar Branches**: Obter todas as branches no repositório.

### Gerenciamento de Issues e PRs

* **Listar Issues**: Consultar issues por estado, etiquetas ou responsável.
* **Criar Issue**: Criar issues com título, corpo e etiquetas.
* **Listar Pull Requests**: Obter todas as PRs por estado ou branch.
* **Criar Pull Request**: Abrir PR de uma branch para outra.
* **Obter Pull Request**: Recuperar detalhes da PR.
* **Obter Arquivos da PR**: Listar todos os arquivos alterados na pull request.
* **Obter Diferença da PR**: Obter a diferença de uma pull request.
* **Obter Commits da PR**: Visualizar todos os commits na pull request.

### Histórico de Código e Etiquetas

* **Obter Histórico de Commits**: Visualizar o histórico de commits do repositório.
* **Obter Etiquetas**: Recuperar todas as etiquetas do repositório.
* **Atribuir Etiquetas à PR**: Marcar pull requests com etiquetas.

## Casos de Uso

* **Rastreamento de Issues**: Criar e gerenciar issues do GitHub a partir de relatórios ou alertas.
* **Revisões de Código**: Listar e revisar pull requests automaticamente.
* **Gerenciamento de Versões**: Rastrear commits e gerenciar versões.
* **Gerenciamento de Projetos**: Sincronizar issues do GitHub com fluxos de trabalho de projetos.

## Melhores Práticas

* **Proteção de Branches**: Ativar proteção em branches principais antes da automação.
* **Validação de PRs**: Verificar se a PR pode ser mesclada antes de tentar a mesclagem.
* **Limites de Taxa**: Monitorar limites de taxa (5.000/hora para requisições autenticadas).

## Problemas Comuns e Soluções

* **403 Proibido**: Verifique se o token possui os escopos e o acesso ao repositório necessários.
* **Conflito de Mesclagem**: Não é possível mesclar automaticamente uma PR com conflitos. Resolva os conflitos primeiro.
* **Limite de Taxa**: Implemente backoff exponencial e requisições condicionais com ETags.
* **Proteção de Branch**: Revisões ou verificações de PR necessárias antes da mesclagem. Configure a automação de acordo.
