GitHub MCP Server
Integra-se com as APIs do GitHub para automação avançada e interação, suportando implantações remotas e locais.
Documentação
GitHub MCP Server
O GitHub MCP Server é um servidor Model Context Protocol (MCP) que fornece integração perfeita com as APIs do GitHub, permitindo automação avançada e capacidades de interação para desenvolvedores e ferramentas.
Casos de Uso
- Automatizar fluxos de trabalho e processos do GitHub.
- Extrair e analisar dados de repositórios do GitHub.
- Construir ferramentas e aplicações com tecnologia de IA que interagem com o ecossistema do GitHub.
GitHub MCP Server Remoto
O GitHub MCP Server remoto é hospedado pelo GitHub e fornece o método mais fácil para começar. Se o seu host MCP não suporta servidores MCP remotos, não se preocupe! Você pode usar a versão local do GitHub MCP Server em vez disso.
Pré-requisitos
- Um host MCP que suporte a especificação MCP mais recente e servidores remotos, como VS Code.
Instalação
Uso com VS Code
Para instalação rápida, use um dos botões de instalação com um clique acima. Depois de concluir esse fluxo, alterne para o modo Agente (localizado na entrada de texto do Copilot Chat) e o servidor será iniciado. Certifique-se de estar usando VS Code 1.101 ou posterior para suporte a MCP remoto e OAuth.
Alternativamente, para configurar o VS Code manualmente, escolha o bloco JSON apropriado dos exemplos abaixo e adicione-o à configuração do seu host:
| Usando OAuth | Usando um PAT do GitHub |
|---|---|
| VS Code (versão 1.101 ou superior) | |
|
|
Uso em outros hosts MCP
Para hosts MCP que são compatíveis com MCP remoto, escolha o bloco JSON apropriado dos exemplos abaixo e adicione-o à configuração do seu host:
| Usando OAuth | Usando um PAT do GitHub |
|---|---|
|
|
Nota: O formato exato da configuração pode variar conforme o host. Consulte a documentação do seu host para obter a sintaxe e o local corretos para a configuração do servidor MCP remoto.
Configuração
Consulte a Documentação do Servidor Remoto sobre como passar configurações adicionais para o GitHub MCP Server remoto.
GitHub MCP Server Local
Pré-requisitos
- Para executar o servidor em um contêiner, você precisará ter o Docker instalado.
- Depois que o Docker estiver instalado, você também precisará garantir que o Docker esteja em execução. A imagem é pública; se você receber erros ao fazer pull, pode ter um token expirado e precisará
docker logout ghcr.io. - Por último, você precisará Criar um Token de Acesso Pessoal do GitHub. O servidor MCP pode usar muitas das APIs do GitHub, então habilite as permissões que você se sentir confortável em conceder às suas ferramentas de IA (para saber mais sobre tokens de acesso, consulte a documentação).
Instalação
Uso com VS Code
Para instalação rápida, use um dos botões de instalação com um clique. Depois de concluir esse fluxo, alterne para o modo Agente (localizado na entrada de texto do Copilot Chat) e o servidor será iniciado.
Uso em outros hosts MCP
Adicione o seguinte bloco JSON às configurações MCP do seu IDE.
{
"mcp": {
"inputs": [
{
"type": "promptString",
"id": "github_token",
"description": "GitHub Personal Access Token",
"password": true
}
],
"servers": {
"github": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GITHUB_PERSONAL_ACCESS_TOKEN",
"ghcr.io/github/github-mcp-server"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "${input:github_token}"
}
}
}
}
}
Opcionalmente, você pode adicionar um exemplo semelhante (ou seja, sem a chave mcp) a um arquivo chamado .vscode/mcp.json no seu espaço de trabalho. Isso permitirá que você compartilhe a configuração com outras pessoas.
{
"inputs": [
{
"type": "promptString",
"id": "github_token",
"description": "GitHub Personal Access Token",
"password": true
}
],
"servers": {
"github": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GITHUB_PERSONAL_ACCESS_TOKEN",
"ghcr.io/github/github-mcp-server"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "${input:github_token}"
}
}
}
}
Saiba mais sobre o uso das ferramentas do servidor MCP na documentação do modo agente do VS Code.
Uso com Claude Desktop
{
"mcpServers": {
"github": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GITHUB_PERSONAL_ACCESS_TOKEN",
"ghcr.io/github/github-mcp-server"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>"
}
}
}
}
Compilar a partir do código-fonte
Se você não tiver o Docker, pode usar go build para compilar o binário no diretório
cmd/github-mcp-server, e usar o comando github-mcp-server stdio com a variável de ambiente GITHUB_PERSONAL_ACCESS_TOKEN definida com o seu token. Para especificar o local de saída da compilação, use a flag -o. Você deve configurar seu servidor para usar o executável compilado como seu command. Por exemplo:
{
"mcp": {
"servers": {
"github": {
"command": "/path/to/github-mcp-server",
"args": ["stdio"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>"
}
}
}
}
}
Configuração de Ferramentas
O GitHub MCP Server suporta habilitar ou desabilitar grupos específicos de funcionalidades por meio da flag --toolsets. Isso permite que você controle quais capacidades da API do GitHub estão disponíveis para suas ferramentas de IA. Habilitar apenas os conjuntos de ferramentas que você precisa pode ajudar o LLM na escolha de ferramentas e reduzir o tamanho do contexto.
Os conjuntos de ferramentas não se limitam a Ferramentas. Recursos e Prompts MCP relevantes também são incluídos quando aplicável.
Conjuntos de Ferramentas Disponíveis
Os seguintes conjuntos de ferramentas estão disponíveis (todos estão ativados por padrão):
| Conjunto de Ferramentas | Descrição |
|---|---|
context | Altamente recomendado: Ferramentas que fornecem contexto sobre o usuário atual e o contexto do GitHub em que você está operando |
actions | Fluxos de trabalho do GitHub Actions e operações de CI/CD |
code_security | Ferramentas relacionadas à segurança de código, como GitHub Code Scanning |
experiments | Recursos experimentais que ainda não são considerados estáveis |
issues | Ferramentas relacionadas a Issues do GitHub |
notifications | Ferramentas relacionadas a Notificações do GitHub |
orgs | Ferramentas relacionadas a Organizações do GitHub |
pull_requests | Ferramentas relacionadas a Pull Requests do GitHub |
repos | Ferramentas relacionadas a Repositórios do GitHub |
secret_protection | Ferramentas relacionadas à proteção de segredos, como GitHub Secret Scanning |
users | Ferramentas relacionadas a Usuários do GitHub |
Especificando Conjuntos de Ferramentas
Para especificar os conjuntos de ferramentas que você deseja disponibilizar para o LLM, você pode passar uma lista de permissões de duas maneiras:
-
Usando Argumento de Linha de Comando:
github-mcp-server --toolsets repos,issues,pull_requests,actions,code_security -
Usando Variável de Ambiente:
GITHUB_TOOLSETS="repos,issues,pull_requests,actions,code_security" ./github-mcp-server
A variável de ambiente GITHUB_TOOLSETS tem precedência sobre o argumento de linha de comando se ambos forem fornecidos.
Usando Conjuntos de Ferramentas com Docker
Ao usar Docker, você pode passar os conjuntos de ferramentas como variáveis de ambiente:
docker run -i --rm \
-e GITHUB_PERSONAL_ACCESS_TOKEN=<your-token> \
-e GITHUB_TOOLSETS="repos,issues,pull_requests,actions,code_security,experiments" \
ghcr.io/github/github-mcp-server
O Conjunto de Ferramentas "all"
O conjunto de ferramentas especial all pode ser fornecido para habilitar todos os conjuntos de ferramentas disponíveis, independentemente de qualquer outra configuração:
./github-mcp-server --toolsets all
Ou usando a variável de ambiente:
GITHUB_TOOLSETS="all" ./github-mcp-server
Descoberta Dinâmica de Ferramentas
Nota: Este recurso está atualmente em beta e pode não estar disponível em todos os ambientes. Teste e nos avise se encontrar algum problema.
Em vez de começar com todas as ferramentas habilitadas, você pode ativar a descoberta dinâmica de conjuntos de ferramentas. Os conjuntos de ferramentas dinâmicos permitem que o host MCP liste e habilite conjuntos de ferramentas em resposta a um prompt do usuário. Isso deve ajudar a evitar situações em que o modelo fica confuso com o grande número de ferramentas disponíveis.
Usando a Descoberta Dinâmica de Ferramentas
Ao usar o binário, você pode passar a flag --dynamic-toolsets.
./github-mcp-server --dynamic-toolsets
Ao usar Docker, você pode passar os conjuntos de ferramentas como variáveis de ambiente:
docker run -i --rm \
-e GITHUB_PERSONAL_ACCESS_TOKEN=<your-token> \
-e GITHUB_DYNAMIC_TOOLSETS=1 \
ghcr.io/github/github-mcp-server
Modo Somente Leitura
Para executar o servidor em modo somente leitura, você pode usar a flag --read-only. Isso oferecerá apenas ferramentas somente leitura, impedindo qualquer modificação em repositórios, issues, pull requests, etc.
./github-mcp-server --read-only
Ao usar Docker, você pode passar o modo somente leitura como uma variável de ambiente:
docker run -i --rm \
-e GITHUB_PERSONAL_ACCESS_TOKEN=<your-token> \
-e GITHUB_READ_ONLY=1 \
ghcr.io/github/github-mcp-server
GitHub Enterprise Server e Enterprise Cloud com residência de dados (ghe.com)
A flag --gh-host e a variável de ambiente GITHUB_HOST podem ser usadas para definir
o nome do host para GitHub Enterprise Server ou GitHub Enterprise Cloud com residência de dados.
- Para GitHub Enterprise Server, prefixe o nome do host com o esquema de URI
https://, pois ele usa por padrãohttp://, que o GitHub Enterprise Server não suporta. - Para GitHub Enterprise Cloud com residência de dados, use
https://YOURSUBDOMAIN.ghe.comcomo nome do host.
"github": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GITHUB_PERSONAL_ACCESS_TOKEN",
"-e",
"GITHUB_HOST",
"ghcr.io/github/github-mcp-server"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "${input:github_token}",
"GITHUB_HOST": "https://<your GHES or ghe.com domain name>"
}
}
i18n / Substituindo Descrições
As descrições das ferramentas podem ser substituídas criando um
arquivo github-mcp-server-config.json no mesmo diretório do binário.
O arquivo deve conter um objeto JSON com os nomes das ferramentas como chaves e as novas descrições como valores. Por exemplo:
{
"TOOL_ADD_ISSUE_COMMENT_DESCRIPTION": "an alternative description",
"TOOL_CREATE_BRANCH_DESCRIPTION": "Create a new branch in a GitHub repository"
}
Você pode criar uma exportação das traduções atuais executando o binário com
a flag --export-translations.
Esta flag preservará quaisquer traduções/substituições que você tenha feito, enquanto adiciona quaisquer novas traduções que foram adicionadas ao binário desde a última vez que você exportou.
./github-mcp-server --export-translations
cat github-mcp-server-config.json
Você também pode usar variáveis de ambiente para substituir as descrições. Os nomes das variáveis de ambiente são os mesmos que as chaves no arquivo JSON, prefixados com
GITHUB_MCP_ e todos em maiúsculas.
Por exemplo, para substituir a ferramenta TOOL_ADD_ISSUE_COMMENT_DESCRIPTION, você pode
definir a seguinte variável de ambiente:
export GITHUB_MCP_TOOL_ADD_ISSUE_COMMENT_DESCRIPTION="an alternative description"
Ferramentas
Actions
-
cancel_workflow_run - Cancelar execução de fluxo de trabalho
owner: Proprietário do repositório (string, obrigatório)repo: Nome do repositório (string, obrigatório)run_id: O identificador único da execução do fluxo de trabalho (número, obrigatório)
-
delete_workflow_run_logs - Excluir logs do fluxo de trabalho
owner: Proprietário do repositório (string, obrigatório)repo: Nome do repositório (string, obrigatório)run_id: O identificador único da execução do fluxo de trabalho (número, obrigatório)
-
download_workflow_run_artifact - Baixar artefato do fluxo de trabalho
artifact_id: O identificador único do artefato (número, obrigatório)owner: Proprietário do repositório (string, obrigatório)repo: Nome do repositório (string, obrigatório)
-
get_job_logs - Obter logs do job
failed_only: Quando verdadeiro, obtém logs para todos os jobs com falha em run_id (booleano, opcional)job_id: O identificador único do job do fluxo de trabalho (obrigatório para logs de job único) (número, opcional)owner: Proprietário do repositório (string, obrigatório)repo: Nome do repositório (string, obrigatório)return_content: Retorna o conteúdo real do log em vez de URLs (booleano, opcional)run_id: ID da execução do fluxo de trabalho (obrigatório ao usar failed_only) (número, opcional)
-
get_workflow_run - Obter execução do fluxo de trabalho
owner: Proprietário do repositório (string, obrigatório)repo: Nome do repositório (string, obrigatório)run_id: O identificador único da execução do fluxo de trabalho (número, obrigatório)
-
get_workflow_run_logs - Obter logs da execução do fluxo de trabalho
owner: Proprietário do repositório (string, obrigatório)repo: Nome do repositório (string, obrigatório)run_id: O identificador único da execução do fluxo de trabalho (número, obrigatório)
-
get_workflow_run_usage - Obter uso do fluxo de trabalho
owner: Proprietário do repositório (string, obrigatório)repo: Nome do repositório (string, obrigatório)run_id: O identificador único da execução do fluxo de trabalho (número, obrigatório)
-
list_workflow_jobs - Listar jobs do fluxo de trabalho
filter: Filtra jobs pelo timestamp completed_at (string, opcional)owner: Proprietário do repositório (string, obrigatório)page: O número da página dos resultados a buscar (número, opcional)per_page: O número de resultados por página (máx. 100) (número, opcional)repo: Nome do repositório (string, obrigatório)run_id: O identificador único da execução do fluxo de trabalho (número, obrigatório)
-
list_workflow_run_artifacts - Listar artefatos de workflow
owner: Proprietário do repositório (string, obrigatório)page: O número da página dos resultados a buscar (number, opcional)per_page: O número de resultados por página (máx. 100) (number, opcional)repo: Nome do repositório (string, obrigatório)run_id: O identificador único da execução do workflow (number, obrigatório)
-
list_workflow_runs - Listar execuções de workflow
actor: Retorna as execuções de workflow de alguém. Use o login do usuário que criou a execução do workflow. (string, opcional)branch: Retorna execuções de workflow associadas a um branch. Use o nome do branch. (string, opcional)event: Retorna execuções de workflow para um tipo de evento específico (string, opcional)owner: Proprietário do repositório (string, obrigatório)page: O número da página dos resultados a buscar (number, opcional)per_page: O número de resultados por página (máx. 100) (number, opcional)repo: Nome do repositório (string, obrigatório)status: Retorna execuções de workflow com o status do check run (string, opcional)workflow_id: O ID do workflow ou o nome do arquivo do workflow (string, obrigatório)
-
list_workflows - Listar workflows
owner: Proprietário do repositório (string, obrigatório)page: O número da página dos resultados a buscar (number, opcional)per_page: O número de resultados por página (máx. 100) (number, opcional)repo: Nome do repositório (string, obrigatório)
-
rerun_failed_jobs - Reexecutar trabalhos com falha
owner: Proprietário do repositório (string, obrigatório)repo: Nome do repositório (string, obrigatório)run_id: O identificador único da execução do workflow (number, obrigatório)
-
rerun_workflow_run - Reexecutar execução de workflow
owner: Proprietário do repositório (string, obrigatório)repo: Nome do repositório (string, obrigatório)run_id: O identificador único da execução do workflow (number, obrigatório)
-
run_workflow - Executar workflow
inputs: Entradas que o workflow aceita (object, opcional)owner: Proprietário do repositório (string, obrigatório)ref: A referência git para o workflow. A referência pode ser um nome de branch ou tag. (string, obrigatório)repo: Nome do repositório (string, obrigatório)workflow_id: O ID do workflow (numérico) ou o nome do arquivo do workflow (ex.: main.yml, ci.yaml) (string, obrigatório)
Segurança de Código
-
get_code_scanning_alert - Obter alerta de varredura de código
alertNumber: O número do alerta. (number, obrigatório)owner: O proprietário do repositório. (string, obrigatório)repo: O nome do repositório. (string, obrigatório)
-
list_code_scanning_alerts - Listar alertas de varredura de código
owner: O proprietário do repositório. (string, obrigatório)ref: A referência Git para os resultados que você deseja listar. (string, opcional)repo: O nome do repositório. (string, obrigatório)severity: Filtrar alertas de varredura de código por gravidade (string, opcional)state: Filtrar alertas de varredura de código por estado. O padrão é aberto (string, opcional)tool_name: O nome da ferramenta usada para varredura de código. (string, opcional)
Contexto
- get_me - Obter meu perfil de usuário
reason: Opcional: o motivo para solicitar as informações do usuário (string, opcional)
Issues
-
add_issue_comment - Adicionar comentário à issue
body: Conteúdo do comentário (string, obrigatório)issue_number: Número da issue para comentar (number, obrigatório)owner: Proprietário do repositório (string, obrigatório)repo: Nome do repositório (string, obrigatório)
-
assign_copilot_to_issue - Atribuir Copilot à issue
issueNumber: Número da issue (number, obrigatório)owner: Proprietário do repositório (string, obrigatório)repo: Nome do repositório (string, obrigatório)
-
create_issue - Abrir nova issue
assignees: Nomes de usuário para atribuir a esta issue (string[], opcional)body: Conteúdo do corpo da issue (string, opcional)labels: Rótulos para aplicar a esta issue (string[], opcional)milestone: Número do marco (number, opcional)owner: Proprietário do repositório (string, obrigatório)repo: Nome do repositório (string, obrigatório)title: Título da issue (string, obrigatório)
-
get_issue - Obter detalhes da issue
issue_number: O número da issue (number, obrigatório)owner: O proprietário do repositório (string, obrigatório)repo: O nome do repositório (string, obrigatório)
-
get_issue_comments - Obter comentários da issue
issue_number: Número da issue (number, obrigatório)owner: Proprietário do repositório (string, obrigatório)page: Número da página (number, opcional)per_page: Número de registros por página (number, opcional)repo: Nome do repositório (string, obrigatório)
-
list_issues - Listar issues
direction: Direção da ordenação (string, opcional)labels: Filtrar por rótulos (string[], opcional)owner: Proprietário do repositório (string, obrigatório)page: Número da página para paginação (mín. 1) (number, opcional)perPage: Resultados por página para paginação (mín. 1, máx. 100) (number, opcional)repo: Nome do repositório (string, obrigatório)since: Filtrar por data (timestamp ISO 8601) (string, opcional)sort: Ordem de classificação (string, opcional)state: Filtrar por estado (string, opcional)
-
search_issues - Pesquisar issues
order: Ordem de classificação (string, opcional)owner: Proprietário do repositório opcional. Se fornecido com repo, apenas notificações para este repositório são listadas. (string, opcional)page: Número da página para paginação (mín. 1) (number, opcional)perPage: Resultados por página para paginação (mín. 1, máx. 100) (number, opcional)query: Consulta de pesquisa usando a sintaxe de pesquisa de issues do GitHub (string, obrigatório)repo: Nome do repositório opcional. Se fornecido com owner, apenas notificações para este repositório são listadas. (string, opcional)sort: Campo de classificação por número de correspondências de categorias, o padrão é melhor correspondência (string, opcional)
-
update_issue - Editar issue
assignees: Novos responsáveis (string[], opcional)body: Nova descrição (string, opcional)issue_number: Número da issue para atualizar (number, obrigatório)labels: Novos rótulos (string[], opcional)milestone: Novo número do marco (number, opcional)owner: Proprietário do repositório (string, obrigatório)repo: Nome do repositório (string, obrigatório)state: Novo estado (string, opcional)title: Novo título (string, opcional)
Notificações
-
dismiss_notification - Dispensar notificação
state: O novo estado da notificação (lida/concluída) (string, opcional)threadID: O ID do tópico da notificação (string, obrigatório)
-
get_notification_details - Obter detalhes da notificação
notificationID: O ID da notificação (string, obrigatório)
-
list_notifications - Listar notificações
before: Mostrar apenas notificações atualizadas antes do horário informado (formato ISO 8601) (string, opcional)filter: Filtrar notificações, use o padrão a menos que especificado. Notificações lidas são aquelas que já foram reconhecidas pelo usuário. Notificações participantes são aquelas em que o usuário está diretamente envolvido, como issues ou pull requests em que ele comentou ou criou. (string, opcional)owner: Proprietário do repositório opcional. Se fornecido com repo, apenas notificações para este repositório são listadas. (string, opcional)page: Número da página para paginação (mín. 1) (number, opcional)perPage: Resultados por página para paginação (mín. 1, máx. 100) (number, opcional)repo: Nome do repositório opcional. Se fornecido com owner, apenas notificações para este repositório são listadas. (string, opcional)since: Mostrar apenas notificações atualizadas após o horário informado (formato ISO 8601) (string, opcional)
-
manage_notification_subscription - Gerenciar assinatura de notificação
action: Ação a executar: ignorar, observar ou excluir a assinatura de notificação. (string, obrigatório)notificationID: O ID do tópico da notificação. (string, obrigatório)
-
manage_repository_notification_subscription - Gerenciar assinatura de notificação do repositório
action: Ação a executar: ignorar, observar ou excluir a assinatura de notificação do repositório. (string, obrigatório)owner: O proprietário da conta do repositório. (string, obrigatório)repo: O nome do repositório. (string, obrigatório)
-
mark_all_notifications_read - Marcar todas as notificações como lidas
lastReadAt: Descreve o último ponto em que as notificações foram verificadas (opcional). Padrão: Agora (string, opcional)owner: Proprietário do repositório opcional. Se fornecido com repo, apenas notificações para este repositório são marcadas como lidas. (string, opcional)repo: Nome do repositório opcional. Se fornecido com owner, apenas notificações para este repositório são marcadas como lidas. (string, opcional)
Organizações
- search_orgs - Pesquisar organizações
order: Ordem de classificação (string, opcional)page: Número da página para paginação (mín. 1) (number, opcional)perPage: Resultados por página para paginação (mín. 1, máx. 100) (number, opcional)query: Consulta de pesquisa usando a sintaxe de pesquisa de organizações do GitHub com escopo type:org (string, obrigatório)sort: Campo de classificação por categoria (string, opcional)
Pull Requests
-
add_pull_request_review_comment_to_pending_review - Adicionar comentário à revisão de pull request pendente mais recente do solicitante
body: O texto do comentário de revisão (string, obrigatório)line: A linha do blob no diff do pull request à qual o comentário se aplica. Para comentários de várias linhas, a última linha do intervalo (number, opcional)owner: Proprietário do repositório (string, obrigatório)path: O caminho relativo ao arquivo que exige um comentário (string, obrigatório)pullNumber: Número do pull request (number, obrigatório)repo: Nome do repositório (string, obrigatório)side: O lado do diff para comentar. LEFT indica o estado anterior, RIGHT indica o novo estado (string, opcional)startLine: Para comentários de várias linhas, a primeira linha do intervalo ao qual o comentário se aplica (number, opcional)startSide: Para comentários de várias linhas, o lado inicial do diff ao qual o comentário se aplica. LEFT indica o estado anterior, RIGHT indica o novo estado (string, opcional)subjectType: O nível em que o comentário é direcionado (string, obrigatório)
-
create_and_submit_pull_request_review - Criar e enviar uma revisão de pull request sem comentários
body: Texto do comentário da revisão (string, obrigatório)commitID: SHA do commit a ser revisado (string, opcional)event: Ação de revisão a ser executada (string, obrigatório)owner: Proprietário do repositório (string, obrigatório)pullNumber: Número do pull request (number, obrigatório)repo: Nome do repositório (string, obrigatório)
-
create_pending_pull_request_review - Criar revisão de pull request pendente
commitID: SHA do commit a ser revisado (string, opcional)owner: Proprietário do repositório (string, obrigatório)pullNumber: Número do pull request (number, obrigatório)repo: Nome do repositório (string, obrigatório)
-
create_pull_request - Abrir novo pull request
base: Branch para mesclar (string, obrigatório)body: Descrição do PR (string, opcional)draft: Criar como PR rascunho (boolean, opcional)head: Branch contendo as alterações (string, obrigatório)maintainer_can_modify: Permitir edições do mantenedor (boolean, opcional)owner: Proprietário do repositório (string, obrigatório)repo: Nome do repositório (string, obrigatório)title: Título do PR (string, obrigatório)
-
delete_pending_pull_request_review - Excluir a revisão de pull request pendente mais recente do solicitante
owner: Proprietário do repositório (string, obrigatório)pullNumber: Número do pull request (number, obrigatório)repo: Nome do repositório (string, obrigatório)
-
get_pull_request - Obter detalhes do pull request
owner: Proprietário do repositório (string, obrigatório)pullNumber: Número do pull request (number, obrigatório)repo: Nome do repositório (string, obrigatório)
-
get_pull_request_comments - Obter comentários do pull request
owner: Proprietário do repositório (string, obrigatório)pullNumber: Número do pull request (number, obrigatório)repo: Nome do repositório (string, obrigatório)
-
get_pull_request_diff - Obter diff do pull request
owner: Proprietário do repositório (string, obrigatório)pullNumber: Número do pull request (number, obrigatório)repo: Nome do repositório (string, obrigatório)
-
get_pull_request_files - Obter arquivos do pull request
owner: Proprietário do repositório (string, obrigatório)page: Número da página para paginação (mín. 1) (number, opcional)perPage: Resultados por página para paginação (mín. 1, máx. 100) (number, opcional)pullNumber: Número do pull request (number, obrigatório)repo: Nome do repositório (string, obrigatório)
-
get_pull_request_reviews - Obter revisões do pull request
owner: Proprietário do repositório (string, obrigatório)pullNumber: Número do pull request (number, obrigatório)repo: Nome do repositório (string, obrigatório)
-
get_pull_request_status - Obter verificações de status do pull request
owner: Proprietário do repositório (string, obrigatório)pullNumber: Número do pull request (number, obrigatório)repo: Nome do repositório (string, obrigatório)
-
list_pull_requests - Listar pull requests
base: Filtrar por branch base (string, opcional)direction: Direção da ordenação (string, opcional)head: Filtrar por usuário/org e branch head (string, opcional)owner: Proprietário do repositório (string, obrigatório)page: Número da página para paginação (mín. 1) (number, opcional)perPage: Resultados por página para paginação (mín. 1, máx. 100) (number, opcional)repo: Nome do repositório (string, obrigatório)sort: Ordenar por (string, opcional)state: Filtrar por estado (string, opcional)
-
merge_pull_request - Mesclar pull request
commit_message: Detalhe extra para o commit de mesclagem (string, opcional)commit_title: Título para o commit de mesclagem (string, opcional)merge_method: Método de mesclagem (string, opcional)owner: Proprietário do repositório (string, obrigatório)pullNumber: Número do pull request (number, obrigatório)repo: Nome do repositório (string, obrigatório)
-
request_copilot_review - Solicitar revisão do Copilot
owner: Proprietário do repositório (string, obrigatório)pullNumber: Número do pull request (number, obrigatório)repo: Nome do repositório (string, obrigatório)
-
search_pull_requests - Pesquisar pull requests
order: Ordem de classificação (string, opcional)owner: Proprietário do repositório opcional. Se fornecido com repo, apenas notificações para este repositório são listadas. (string, opcional)page: Número da página para paginação (mín. 1) (number, opcional)perPage: Resultados por página para paginação (mín. 1, máx. 100) (number, opcional)query: Consulta de pesquisa usando a sintaxe de pesquisa de pull requests do GitHub (string, obrigatório)repo: Nome do repositório opcional. Se fornecido com owner, apenas notificações para este repositório são listadas. (string, opcional)sort: Campo de classificação por número de correspondências de categorias, padrão é melhor correspondência (string, opcional)
-
submit_pending_pull_request_review - Enviar a revisão de pull request pendente mais recente do solicitante
body: O texto do comentário da revisão (string, opcional)event: O evento a ser executado (string, obrigatório)owner: Proprietário do repositório (string, obrigatório)pullNumber: Número do pull request (number, obrigatório)repo: Nome do repositório (string, obrigatório)
-
update_pull_request - Editar pull request
base: Novo nome do branch base (string, opcional)body: Nova descrição (string, opcional)maintainer_can_modify: Permitir edições do mantenedor (boolean, opcional)owner: Proprietário do repositório (string, obrigatório)pullNumber: Número do pull request a atualizar (number, obrigatório)repo: Nome do repositório (string, obrigatório)state: Novo estado (string, opcional)title: Novo título (string, opcional)
-
update_pull_request_branch - Atualizar branch do pull request
expectedHeadSha: O SHA esperado da ref HEAD do pull request (string, opcional)owner: Proprietário do repositório (string, obrigatório)pullNumber: Número do pull request (number, obrigatório)repo: Nome do repositório (string, obrigatório)
Repositórios
-
create_branch - Criar branch
branch: Nome do novo branch (string, obrigatório)from_branch: Branch de origem (padrão é o branch padrão do repositório) (string, opcional)owner: Proprietário do repositório (string, obrigatório)repo: Nome do repositório (string, obrigatório)
-
create_or_update_file - Criar ou atualizar arquivo
branch: Branch para criar/atualizar o arquivo (string, obrigatório)content: Conteúdo do arquivo (string, obrigatório)message: Mensagem do commit (string, obrigatório)owner: Proprietário do repositório (nome de usuário ou organização) (string, obrigatório)path: Caminho onde criar/atualizar o arquivo (string, obrigatório)repo: Nome do repositório (string, obrigatório)sha: SHA do arquivo sendo substituído (para atualizações) (string, opcional)
-
create_repository - Criar repositório
autoInit: Inicializar com README (boolean, opcional)description: Descrição do repositório (string, opcional)name: Nome do repositório (string, obrigatório)private: Se o repositório deve ser privado (boolean, opcional)
-
delete_file - Excluir arquivo
branch: Branch do qual excluir o arquivo (string, obrigatório)message: Mensagem do commit (string, obrigatório)owner: Proprietário do repositório (nome de usuário ou organização) (string, obrigatório)path: Caminho do arquivo a ser excluído (string, obrigatório)repo: Nome do repositório (string, obrigatório)
-
fork_repository - Bifurcar repositório
organization: Organização para bifurcar (string, opcional)owner: Proprietário do repositório (string, obrigatório)repo: Nome do repositório (string, obrigatório)
-
get_commit - Obter detalhes do commit
owner: Proprietário do repositório (string, obrigatório)page: Número da página para paginação (mín. 1) (number, opcional)perPage: Resultados por página para paginação (mín. 1, máx. 100) (number, opcional)repo: Nome do repositório (string, obrigatório)sha: SHA do commit, nome do branch ou nome da tag (string, obrigatório)
-
get_file_contents - Obter conteúdo de arquivo ou diretório
owner: Proprietário do repositório (nome de usuário ou organização) (string, obrigatório)path: Caminho para arquivo/diretório (diretórios devem terminar com uma barra '/') (string, obrigatório)ref: Aceita refs git opcionais comorefs/tags/{tag},refs/heads/{branch}ourefs/pull/{pr_number}/head(string, opcional)repo: Nome do repositório (string, obrigatório)sha: Aceita sha git opcional, se sha for especificado será usado em vez de ref (string, opcional)
-
get_tag - Obter detalhes da tag
owner: Proprietário do repositório (string, obrigatório)repo: Nome do repositório (string, obrigatório)tag: Nome da tag (string, obrigatório)
-
list_branches - Listar branches
owner: Proprietário do repositório (string, obrigatório)page: Número da página para paginação (mín. 1) (number, opcional)perPage: Resultados por página para paginação (mín. 1, máx. 100) (number, opcional)repo: Nome do repositório (string, obrigatório)
-
list_commits - Listar commits
author: Nome de usuário ou endereço de e-mail do autor (string, opcional)owner: Proprietário do repositório (string, obrigatório)page: Número da página para paginação (mín. 1) (number, opcional)perPage: Resultados por página para paginação (mín. 1, máx. 100) (number, opcional)repo: Nome do repositório (string, obrigatório)sha: SHA ou nome do branch (string, opcional)
-
list_tags - Listar tags
owner: Proprietário do repositório (string, obrigatório)page: Número da página para paginação (mín. 1) (number, opcional)perPage: Resultados por página para paginação (mín. 1, máx. 100) (number, opcional)repo: Nome do repositório (string, obrigatório)
-
push_files - Enviar arquivos para o repositório
branch: Branch para enviar (string, obrigatório)files: Matriz de objetos de arquivo para enviar, cada objeto com path (string) e content (string) (object[], obrigatório)message: Mensagem do commit (string, obrigatório)owner: Proprietário do repositório (string, obrigatório)repo: Nome do repositório (string, obrigatório)
-
search_code - Pesquisar código
order: Ordem de classificação (string, opcional)page: Número da página para paginação (mín. 1) (number, opcional)perPage: Resultados por página para paginação (mín. 1, máx. 100) (number, opcional)q: Consulta de pesquisa usando a sintaxe de pesquisa de código do GitHub (string, obrigatório)sort: Campo de classificação ('indexed' apenas) (string, opcional)
-
search_repositories - Pesquisar repositórios
page: Número da página para paginação (mín. 1) (number, opcional)perPage: Resultados por página para paginação (mín. 1, máx. 100) (number, opcional)query: Consulta de pesquisa (string, obrigatório)
Proteção de Segredos
- **get_secret_scanning_alert** - Obter alerta de varredura de segredos - `alertNumber`: O número do alerta. (número, obrigatório) - `owner`: O proprietário do repositório. (string, obrigatório) - `repo`: O nome do repositório. (string, obrigatório)- list_secret_scanning_alerts - Listar alertas de varredura de segredos
owner: O proprietário do repositório. (string, obrigatório)repo: O nome do repositório. (string, obrigatório)resolution: Filtrar por resolução (string, opcional)secret_type: Uma lista separada por vírgulas de tipos de segredos a retornar. Todos os padrões de segredos padrão são retornados. Para retornar padrões genéricos, passe o(s) nome(s) do token no parâmetro. (string, opcional)state: Filtrar por estado (string, opcional)
Usuários
- search_users - Pesquisar usuários
order: Ordem de classificação (string, opcional)page: Número da página para paginação (mín. 1) (número, opcional)perPage: Resultados por página para paginação (mín. 1, máx. 100) (número, opcional)query: Consulta de pesquisa usando a sintaxe de pesquisa de usuários do GitHub com escopo para type:user (string, obrigatório)sort: Campo de classificação por categoria (string, opcional)
Uso da Biblioteca
A API Go exportada deste módulo deve atualmente ser considerada instável e sujeita a mudanças que quebram a compatibilidade. No futuro, podemos oferecer estabilidade; por favor, abra uma issue se houver um caso de uso em que isso seja valioso.
Licença
Este projeto é licenciado sob os termos da licença de código aberto MIT. Consulte MIT para os termos completos.