Как запросить API GraphQL GitHub, чтобы найти мой первый git commit? - PullRequest
0 голосов
/ 21 ноября 2019

Я играл с API и смог найти все репозитории, в которые я когда-либо внес свой вклад, но я изо всех сил пытаюсь найти свой самый первый коммит.

Что я пробовал:

{
  viewer {
    repositoriesContributedTo(first: 100, privacy: PUBLIC, contributionTypes: COMMIT, before: "2013-07-11T00:00:00") {
      totalCount
      nodes {
        nameWithOwner
      }
      pageInfo {
        endCursor
        hasNextPage
      }
    }
  }
}

ЧтоЯ получил:

{
  "errors": [
    {
      "type": "INVALID_CURSOR_ARGUMENTS",
      "path": [
        "viewer",
        "repositoriesContributedTo",
        "nodes"
      ],
      "locations": [
        {
          "line": 5,
          "column": 7
        }
      ],
      "message": "`2013-07-11T00:00:00` does not appear to be a valid cursor."
    },
    {
      "type": "INVALID_CURSOR_ARGUMENTS",
      "path": [
        "viewer",
        "repositoriesContributedTo",
        "pageInfo"
      ],
      "locations": [
        {
          "line": 8,
          "column": 7
        }
      ],
      "message": "`2013-07-11T00:00:00` does not appear to be a valid cursor."
    }
  ]
}

Ссылка на GitHub's GraphQL Explorer: https://developer.github.com/v4/explorer/

1 Ответ

0 голосов
/ 21 ноября 2019

Чтобы найти первый коммит, вы можете упорядочить по CREATED_AT в порядке возрастания:

{
  viewer {
    repositoriesContributedTo(
      first: 100
      orderBy: {
        field : CREATED_AT
        direction : ASC
      }
      privacy: PUBLIC
      contributionTypes: COMMIT) {
      totalCount
      nodes {
        nameWithOwner
      }
      pageInfo {
        startCursor
        endCursor
        hasNextPage
      }
    }
  }
}

PS Поле before во входном аргументе должно быть присвоено со значением курсоракоторый получается из startCursor или endCursor в результате pageInfo, но не из строки даты.

...