Ir para o conteúdo
Explorar a documentação

GitHub

recordFromGitHubPullRequest(
  event: GitHubPullRequestEvent,
  references?: ArtifactRef[],
  details?: GitHubPullRequestDetails
): RecordEvent

O mapeador aceita dados já obtidos. O evento deve descrever um pull request fechado e integrado em um owner/repository identificado, com identidade numérica do pull request, autor, datas e referências das branches de origem e destino. Os detalhes opcionais contêm fatos explícitos de commits e arquivos.

O Record resultante usa:

  • kind: 'github.pull_request.merged'
  • occurred_at a partir de merged_at
  • o repositório e o ID de banco de dados do pull request como identidade da origem
  • um ID estável de recordId('github', 'pull_request', '<pull-request-id>:merged')
  • as referências de artefatos fornecidas por quem chama a API, sem alterações

O autor do pull request é um ator de nível superior. Se a pessoa que o integrou for diferente, ela é adicionada como segundo ator. Um usuário do GitHub cujo type exato é Bot é mapeado como agente; outros usuários são mapeados como humanos. IDs externos de atores têm o formato github:<numeric-id>.

O data do Record contém número, título, estado e autor do pull request, integrador opcional, datas de criação/atualização/integração e referências e SHAs das branches de origem e destino. Quando presentes na entrada, também inclui nomes de labels, referências dos atores solicitados para revisão, o valor de html_url como url, commits e nomes de arquivos alterados com status, adições e exclusões.

O mapeador valida o evento e os detalhes opcionais e delega para createRecord. Entradas inválidas lançam LangDriftError com código ARTIFACT_INVALID.

Ele não:

  • recebe webhooks nem chama APIs do GitHub
  • autentica ou instala uma GitHub App
  • busca commits, arquivos, usuários ou revisões
  • extrai links de Spec ou Ticket da prosa
  • infere impacto, um Vision Target ou Drift

Fatos do GitHub se tornam Records. Qualquer Drift Event continua sendo uma interpretação separada e explícita, sustentada por evidências.

Editar esta página no GitHub