GitHub GraphQL API を利用してReview のコメントを抽出してみた
こおりやまです
以前、こちらのブログでPull requests のコメント取得しましたが、Reviewコメントが取得できていなくクエリを再検討しました。
前回と同様にGitHub's GraphQL Explorer を利用して Query を検討していきます。
まず、Pull requests のIDを指定してExplorer で必要なクエリを実行して確認していきます。
検討した結果がこちら。
{
repository(owner: "XXXXXXXXXX", name: "XXXXXXXX") {
pullRequest(number: 00000) {
url
title
closed
createdAt
author {
login
}
reviews(first: 25) {
edges {
node {
state
bodyText
comments(first: 25) {
edges {
node {
bodyText
author {
login
}
originalCommit {
abbreviatedOid
authoredDate
}
}
}
}
}
}
}
comments(last: 25) {
nodes {
bodyText
}
}
}
}
}
owner
, name
は環境に合わせて実行してください。number
は存在するIDを設定してください。
reviews
・・・レビュー結果を取得comments
・・・コメントの記載内容を取得
コメントはスレッド形式で記載されますが、Queryの結果は時系列に出力されるため、 abbreviatedOid
、 authoredDate
を利用してスレッドのグループ化と表示順を決めるために取得するようにしています。
取得結果は長くなるので省略します GitHub's GraphQL Explorer で実行してみてください。
この結果から大体必要な情報は取得できることはわかったので、あとは number
を切り替えながら実行すれば全体を取得できますね!!
ということで次回はGASを利用して上記結果をスプレッドに出力していくこととなります。
ではでは