#github #graphql #github-api
#github #graphql #github-api
Вопрос:
Что я хотел бы сделать, так это получить конкретные данные о статусе для группы из 10-40 пользователей GitHub из организации. Я хотел бы получить данные в одном пакете. В настоящее время мое решение запрашивает данные с помощью цикла for в коде и запроса ниже:
{ user(login: "user1") { status { indicatesLimitedAvailability updatedAt createdAt }
Недостатком этого решения является то, что я должен использовать режим сна, чтобы не запускать вызовы API с ограничением в минуту в GitHub.
Можно ли преобразовать запрос во что-то подобное (псевдокод):
{ user(login: "user1", "user2", "user3", ...) { status { indicatesLimitedAvailability updatedAt createdAt }
И какой — то список в ответе?
Ответ №1:
Вы можете использовать следующий запрос:
{ nodes(ids: ["node_id1", "node_id2"]) { ... on User { status { indicatesLimitedAvailability updatedAt createdAt } } } }
Где node_id
находится id
список пользователей, которых вы хотите запросить.
Вы можете получить их, используя следующий запрос:
{ user(login: "username") { id } }
Или вы можете получить всех членов организации со следующим запросом
{ organization(login: "org_name") { membersWithRole(first: 100) { nodes { login id } } } }