Github GraphQL API v4 Query на CommitAuthor - PullRequest
0 голосов
/ 15 января 2020

Я пытаюсь выполнить следующий запрос на API Githubs GraphQL:

{
  user(login: "davekaj") {
    id
    repositories(first: 10, orderBy: {field: NAME, direction: ASC}) {
      nodes {
        ref(qualifiedName: "master") {
          target {
            ... on Commit {
              history(first: 15, author: "WHAT DO I PUT HERE") {
                totalCount
                nodes {
                  additions
                  author {
                    name
                    user {
                      id
                    }
                  }
                  committedDate
                  deletions
                }
              }
            }
          }
        }
      }
    }
  }
}

Он хочет, чтобы я фильтровал на CommitAuthor для history(author: ). Я попытался передать свое имя пользователя или уникальный идентификатор пользователя, но это не сработало. По сути, я передаю ей строку, но она хочет типа CommitAuthor. Как передать значение CommitAuthor?

Мне неясно, я просмотрел документы и схему и ничего не смог найти.

Пожалуйста, помогите!

1 Ответ

1 голос
/ 15 января 2020

Ах, так что ответ на самом деле очень прост, когда я посмотрел документацию по GraphQl (а не только документацию по GitHub). CommitAuthor - это тип ввода, который описан здесь https://graphql.org/graphql-js/mutations-and-input-types/.

В результате вы передаете объект CommitAuthor. В этом случае мне просто нужно передать идентификатор, который выглядит следующим образом: author: {id: "MDQ6VXNlcjIyNDE3Mzgy"}

См. Полный код ниже.

{
  user(login: "davekaj") {
    id
    repositories(first: 10, orderBy: {field: NAME, direction: ASC}) {
      nodes {
        ref(qualifiedName: "master") {
          target {
            ... on Commit {
              history(first: 15, author: {id: "MDQ6VXNlcjIyNDE3Mzgy"}) {
                totalCount
                nodes {
                  additions
                  author {
                    name
                    user {
                      id
                    }
                  }
                  committedDate
                  deletions
                }
              }
            }
          }
        }
      }
    }
  }
}
...