Защищенная ветка GraphQL API
Я использую GITHUB API V3 в одном из моих проектов, сейчас мы переходим на GraraphQL API V4. Я хочу перечислить все ветки репо и проверить, является ли это защищенной веткой. В GITHUB API V3 есть API веток, в котором будут перечислены все ветки вместе с защищенным ключом, чтобы его было легко проверить. Теперь в GraphQL я могу получить список всех веток, но не могу проверить, защищена ли ветка или нет.
refs(first: 100, refPrefix: "refs/heads/") {
nodes {
name
}
}
Кто-нибудь может помочь с этим, как действовать?
Если бы этого не удалось достичь refs
тогда есть способ перечислить только все защищенные ветки
2 ответа
Я выяснил логику получения защищенной ветки
{
viewer {
repository(owner: "parithiban", name: "git-slack-bot") {
branchProtectionRules(first: 5) {
nodes {
pattern
requiredApprovingReviewCount
matchingRefs(first: 100) {
nodes {
name
}
}
}
}
}
}
}
Принятый ответ не работает, потому что звонитrepository()
сowner
аргумент. Он уже привязан к вошедшему в систему пользователю, поэтому вы получаете эту ошибку:
"errors": [
...
"message": "Field 'repository' doesn't accept argument 'owner'"
]
Удалите самые внешние фигурные скобки и словоviewer
, и это сработает.