kakakakakku blog

Weekly Tech Blog: Keep on Learning!

Octokitでプルリクエストの基本情報を取得する

Octokit でプルリクエストの基本情報を取得する Ruby サンプルスクリプトを書いてみた.取得してる項目は,個人的に使えそうなものに限定してるけど,これだけでもいろいろ応用できるんじゃないかな?ちゃんと使うならリポジトリ名やPR番号を引数で指定できるようにしたり,エラーハンドリングをした方がいいので,そこはまぁサンプルってことで.

#!/usr/bin/env ruby

require 'rubygems'
require 'octokit'

client = Octokit::Client.new(:login => 'xxx', :password => 'xxx')
pr = client.pull_request('xxx/xxx', 'xxx')

if pr
  puts '[PR番号] ' + pr[:number].to_s
  puts '[PRステータス] ' + pr[:state]
  puts '[PRタイトル] ' + pr[:title]
  puts '[PR送信アカウント] ' + pr[:user][:login]
  puts '[PR内容] ' + pr[:body]
  puts '[PR作成日] ' + pr[:created_at].to_s
  puts '[PR更新日] ' + pr[:updated_at].to_s
  puts '[PRクローズ日] ' + pr[:closed_at].to_s
  puts '[PRマージ日] ' + pr[:merged_at].to_s
  puts '[PRマージコミットハッシュ]' + pr[:merge_commit_sha]
  puts '[PRアサイニー] ' + pr[:assignee].to_s
  puts '[PR元ブランチ名] ' + pr[:head][:label]
  puts '[PRマージ済] ' + pr[:merged].to_s
  puts '[PRマージアカウント]' + pr[:merged_by][:login]
  puts '[PRコメント数] ' + pr[:comments].to_s
  puts '[PRレビューコメント数] ' + pr[:review_comments].to_s
  puts '[PRコミット数] ' + pr[:commits].to_s
  puts '[追加コード行数] ' + pr[:additions].to_s
  puts '[削除コード行数] ' + pr[:deletions].to_s
  puts '[変更ファイル数] ' + pr[:changed_files].to_s
  puts '[PRURL] ' + pr[:_links][:html][:href]
end