2013-02-26 5 views
8

L'API Github (v3) vous permet d'obtenir une liste des demandes d'extraction et d'obtenir plus de détails sur une requête d'extraction individuelle. Ce que je n'arrive pas à trouver, c'est le nom de la branche dont provient la requête de traction et la branche dans laquelle la requête de traction suggère de fusionner le code.API Github: comment trouver les branches d'une requête pull?

En utilisant l'API Github, comment déterminez-vous les branches impliquées dans une requête d'extraction?

Répondre

14
  1. Accédez à une URL de demande d'extraction. Utilisons https://api.github.com/repos/github/gitignore/pulls/566 comme exemple.

  2. Analyser l'objet JSON.


Une demande Pull fait référence à deux branches. La branche base est la cible de fusion. Généralement, il s'agit de la branche master du référentiel.

  • base.label est github:master, ce qui signifie qu'il est la branche master pour>github/gitignore.
  • base.ref est le nom de la branche "maître".
  • base.sha est l'auteur actuel SHA de cette branche.

La branche head est ce que vous fusionnez dans le base.

  • head.label est fidelski:add-obvious-autotools-files, ce qui signifie qu'il est la branche add-obvious-autotools-files pour fidelski/gitignore.
  • head.ref est le nom de la branche add-obvious-autotools-files.
  • head.sha est l'actuelle SHA de cette branche.
+1

merci beaucoup pour cela. :) – masukomi

+2

J'ai trouvé que 'base.sha' peut être un commit sur la branche de base qui est plus récente que la' git merge-base', mais plus ancienne que la tête actuelle de cette branche, d'environ un jour, même pour un PR qui n'a pas été touché plus longtemps que cela. Peut-être qu'il est périodiquement mis à jour à la tête de la branche de base, mais est ensuite mis en cache pendant un certain temps? –

+0

Bonne réponse. édité pour le style. – eljefedelrodeodeljefe

Questions connexes