読者です 読者をやめる 読者になる 読者になる

ひだまりソケットは壊れない

ソフトウェア開発に関する話を書きます。 最近は主に Android アプリ、Windows アプリ (UWP アプリ)、Java 関係です。

まじめなことを書くつもりでやっています。 適当なことは 「一角獣は夜に啼く」 に書いています。

Ruby から GitHub の API (v3) を叩くサンプルコード (Basic 認証)

Ruby

先輩が GitHub のチームにユーザーを 50 人ぐらい追加しようとしていたので、API 叩いたら楽だろうなー、と思って GitHub の API を叩く方法を調べてみた。

OAuth とか使わないといけなくて面倒な感じなのかなーと思ってたけど、Basic 認証を使わせてくれるので結構気軽に API を叩ける感じだった。

手での登録が速かったので API 叩くコードの出番はなかったけど、そのうち使う機会もあるだろうので、RubyAPI を叩くサンプルコードを置いておく。 以下は、1 つのプロジェクトに 2 つの issue を登録するというもの。

require 'json'
require 'net/https'

GITHUB_USERNAME = 'YOUR_USERNAME'
GITHUB_PASSWORD = 'YOUR_PASSWORD'

https = Net::HTTP.new('api.github.com', '443')
https.use_ssl = true
https.start do |https|
  # "issue1" というタイトルの issue と "issue2" というタイトルの issue を作る
  ['issue1', 'issue2'].each do |issue_title|
    # Issue を作る API: http://developer.github.com/v3/issues/#create-an-issue
    req = Net::HTTP::Post.new('/repos/nobuoka/xxxxxx/issues')
    req.basic_auth GITHUB_USERNAME, GITHUB_PASSWORD
    issue_info = {
      'title' => issue_title,
    }
    req.body = JSON.generate issue_info
    p https.request(req)
  end
end