Фильтруйте PullRequest по получателю или тегам в Github API
Там!
Я использую Github API, чтобы получить список запросов на получение репозитория;
Мой токен авторизации действителен, и я получаю правильный ответ JSON от Github
curl -H "Authorization: token MY_AUTH_TOKEN" https://api.github.com/repos/my_org/their_repo/pulls
Я слежу за их документами на: https://developer.github.com/v3/pulls/
Но я также заинтересован в фильтрации запросов на получение по имени пользователя, как это делает Github, когда мы используем его в браузере.
Пример: https://github.com/rails/rails/pulls/assigned/dhh
Я пробовал оба URL:
https://api.github.com/repos/my_org/their_repo/pulls/assigned/_login_
а также
https://api.github.com/repos/my_org/their_repo/pulls?assigned=_login_
Но я не смог найти, как отфильтровать список, используя адресата или теги.
Я нашел в документах только параметры: состояние, голова, основание, вид и направление.
Как отфильтровать пул-запрос, используя эти параметры (теги или уполномоченные)?
1 ответ
Использование Github API v3
Вы можете использовать API проблем поиска Github:
curl -s "https://api.github.com/search/issues?q=is:open%20is:pr%20assignee:dhh%20repo:rails/rails"
или используя --data-urlencode
:
curl -s -G "https://api.github.com/search/issues" \
--data-urlencode "q=is:open is:pr assignee:dhh repo:rails/rails" | \
jq '.'
Использование Github GraphQL API v4
Вы можете использовать поисковый запрос следующим образом:
{
search(query: "is:open is:pr assignee:dhh repo:rails/rails", type: ISSUE, first: 100) {
issueCount
edges {
node {
... on PullRequest {
number
createdAt
title
headRef {
name
repository {
nameWithOwner
}
}
body
}
}
}
}
}
curl -s -H "Authorization: bearer YOUR_TOKEN" -d '
{
"query": "query { search(query: \"is:open is:pr assignee:dhh repo:rails/rails\", type: ISSUE, first: 100) { issueCount edges { node { ... on PullRequest { number createdAt title headRef { name repository { nameWithOwner } } body } } } } }"
}
' https://api.github.com/graphql | jq '.'