Git команда для получения тела темы запроса на получение из номера выпуска - PullRequest
1 голос
/ 19 февраля 2020

Я хотел бы получить тело запроса, тему и URL-адрес из номера вопроса командой git, особенно библиотекой gitPython. Как я могу это сделать?

1 Ответ

1 голос
/ 19 февраля 2020

GitPython используется для git связанных объектов, тогда как Запрос извлечения связан GitHub и, следовательно, не может использоваться для получения GitHub data.

Вы можете использовать API GQL от GitHub v4 GraphQL , чтобы получить подробности запроса на получение с помощью следующего запроса

query {
  repository(name: "gitPython",owner:"gitpython-developers"){
    pullRequest(number:974){
      body
      title
      url
    }
  }
}

Запрос curl для указанного выше запроса:

curl -L -X POST 'https://api.github.com/graphql' \
-H 'Authorization: bearer <token>' \
-H 'Content-Type: text/plain' \
--data-raw '{"query":"{\n repository(name: \"gitPython\",owner:\"gitpython-developers\"){\n pullRequest(number:974){\n body\n title\n url\n }\n }\n }"'

Ответ на вышеуказанный запрос:

{
  "data": {
    "repository": {
      "pullRequest": {
        "body": "Removed A from Dockerfile that I added accidentally. THIS WILL BREAK THE BUILD",
        "title": "Remove A from Dockerfile",
        "url": "https://github.com/gitpython-developers/GitPython/pull/974"
      }
    }
  }
}

Примечание : вам нужно сгенерировать токен для доступа к API GraphQL, который вы можете сгенерировать, выполнив шаги, приведенные здесь

В качестве альтернативы, вы можете даже использовать GitHub v3 API , как показано ниже, для получения подробностей запроса на получение, который будет иметь body , title и url поля как часть ответа

GET https://api.github.com/repos/{owner}/{repoName}/pulls/{pullRequestNumber}

GET https://api.github.com/repos/gitpython-developers/GitPython/pulls/974
...