マイルストーン番号で Milestone オブジェクトを取得する
リポジトリ名(組織名/リポジトリ名)が分かっている場合は、repository クエリ で取得した Repository オブジェクト の milestone
フィールドに マイルストーン番号 を指定することで、そのマイルストーンの Milestone オブジェクト を取得することができます。
例えば、Web アプリなどでは、/milestone/123
のようなパスで指定したマイルストーンの情報を表示したいことがありますが、このようなケースで 123
という番号を使って情報を取得することができます。
記述中
query {
repository(owner: "myorg", name: "myrepo") {
milestone(number: 123) {
number
title
dueOn
description
url
issues(first: 100) {
nodes {
number
title
closed
url
}
}
}
}
}
マイルストーンが設定されていないイシューを取得する
search クエリ で、Issue や PullRequest を検索するときに、query
パラメータで渡す文字列に no:milestone
を含めると、マイルストーンの設定されていないものだけを検索することができます。
次の例では、myorg/myrepo
リポジトリにおいて、マイルストーンの設定されていない Issue の一覧を取得しています(query
引数に is:issue
を含めることで、PullRequest まで取得されてしまうのを防いでいます)。
query {
rateLimit { cost remaining }
search(type: ISSUE, last: 100, query: "repo:myorg/myrepo is:issue no:milestone") {
nodes {
... on Issue {
number
title
closed
url
assignees(first: 100) {
nodes { login avatarUrl url }
}
labels(first: 100) {
nodes { name color }
}
}
}
}
}
no:milestone
の他にも、no:label
(ラベルのないもの)、no:assignee
(アサインされていないもの)、といった条件で検索することができます。
あるリポジトリのマイルストーンの一覧を取得する
→ こちらを参照