Pular para o conteúdo

Conectar o GitHub

O Workspace lê a sua organização do GitHub (ou conta pessoal) com um token de acesso. Com ele o Leavory mapeia repositórios, branches, tecnologias, pacotes e as vulnerabilidades deles, e o histórico de commits, nas mesmas telas do Azure DevOps.

O Leavory só lê. Todas as chamadas são de leitura: nenhuma permissão de escrita é necessária, e o Leavory não altera código, workflows nem permissões.

Use um fine-grained personal access token com estas configurações:

Configuração Valor
Resource owner A organização que o Leavory vai ler (ou o seu usuário, numa conta pessoal)
Repository access All repositories (ou Only select repositories, para limitar o que o Leavory vê)

E só estas permissões, todas em Read-only:

Permissão (como aparece no GitHub) O que o Leavory lê com ela
Repository → Metadata A organização e os repositórios dela (sempre ligada, só leitura)
Repository → Contents Arquivos (Dockerfile, manifestos de pacotes), branches e commits
Repository → Actions Workflows e as execuções deles
Repository → Administration Regras de proteção de branch
Organization → Members Times e membros, para o inventário de acessos
  1. No GitHub, clique no seu avatar (canto superior direito) → Settings → Developer settings → Personal access tokens → Fine-grained tokens.

  2. Clique em Generate new token e preencha:

    Campo Valor
    Token name leavory-workspace
    Resource owner a organização que o Leavory vai ler
    Expiration o que a política da empresa permitir. Anote a data para trocar a tempo
    Repository access All repositories
    Permissions as permissões acima, todas em Read-only
  3. Clique em Generate token e copie o token na hora. O GitHub não mostra o valor de novo.

O token enxerga só o que o usuário que o criou enxerga. Repositórios a que esse usuário não tem acesso ficam fora do Leavory.

O ideal é um usuário de máquina dedicado, membro da organização com leitura nos repositórios que o Leavory deve mapear. Assim o inventário não depende da conta de uma pessoa, e o acesso não muda quando alguém troca de time ou sai da empresa.

  1. No Workspace, abra Settings → aba GitHub.

  2. Preencha Organization or user (o nome em github.com/<organização>) e Access token.

  3. Clique em Test connection. O Leavory testa cada permissão e mostra o resultado:

    Verificação Permissão testada
    Owner (organization or user) Metadata (Read)
    Repositories Repository access + Metadata (Read)
    Repository contents Contents (Read)
    Actions workflows and runs Actions (Read)
    Branch protection Administration (Read)
    Teams and members Members (Read), só para organizações
  4. Com todas as verificações ok, clique em Save. O Leavory detecta se o nome é uma organização ou um usuário e mostra isso no card GitHub ao lado do formulário.

O teste não salva nada. Com um token já salvo, deixar o campo em branco testa o salvo.

A descoberta começa sozinha e se repete no intervalo de repositórios de Settings → Discovery (a cada 60 minutos, por padrão). Para rodar na hora, abra Code & Pipelines → Projects, clique em Discover repositories and pipelines e escolha GitHub.

Mensagem O que fazer
Missing permission: <permissão> Edite o token no GitHub e marque a permissão indicada em Read-only
The access token was rejected (invalid, expired, or revoked) Token errado, vencido ou revogado. Crie um novo
"<nome>" was not found on GitHub Confira o nome da organização ou do usuário
Token accepted, but it cannot see any repository of <nome> O resource owner ou o acesso a repositórios do token não cobre essa organização, ou o token ainda espera aprovação
GitHub returned an error (HTTP 403): rate limit exceeded, try again later O token gastou a cota por hora do GitHub. Tente mais tarde
Could not reach GitHub from Leavory Falha de rede temporária. Tente de novo em alguns minutos

Os tokens fine-grained vencem. Antes da data de expiração:

  1. No GitHub, abra o token e clique em Regenerate token (ou crie um novo com as mesmas permissões).
  2. Em Settings → GitHub, cole o token novo, clique em Test connection e depois em Save.
  3. Apague o token antigo no GitHub, se ele não foi regenerado.

Para parar de ler a organização, clique em Disconnect em Settings → GitHub e apague o token no GitHub.