Help us understand the problem. What is going on with this article?

bugsnag APIをrubyから使ってみる

More than 5 years have passed since last update.

ログ収集にbugsnagを検討しているのですが、カスタム値などはウェブで見にくいのでAPIが必須です。ということでAPIを使ってみました。

が、まず叩くところでいくつかつまづきました

APIドキュメント

https://bugsnag.com/docs/api/ruby

rubyの場合だと、bugsnag-apiというgemが提供されているのでこれを使用します。

gemをインストール

$ gem install bugsnag-api

require 'bugsnag-api'が通らない

requireで指定する文字列がどこにも書かれて無くてしばらく悩みました。。

x require 'bugsnag-api'
o require 'bugsnag/api'

401が返ってくる

irb(main):008:0> client = Bugsnag::Api::Client.new(auth_token: "your-account-api-token")
irb(main):009:0> client.accounts
Bugsnag::Api::Unauthorized: GET https://api.bugsnag.com/accounts: 401 - Error: Bad Credentials

サポートに問い合わせてみました。

Hey Yoonchul,

It looks like you're using your Project API key. Instead, you should be using your Account API key. You can find that on your Bugsnag "Account Settings" dashboard under the "API" section.

Thanks,

僕が指定しているのはProject API kay(ログを送るサービスが指定するAPI key)だと。つまり指定しているAPI Keyが違うと。
そんなことだとは思って他のを探したのですが見つからず。
もう一度くまなく探してみることに。

Settingsが3つもある。。

スクリーンショット_2015-02-27_10_29_15.png

Account Settingsに入るとAuth Tokenがあるのでこれを指定します。

スクリーンショット_2015-02-27_10_47_56.png

やっと叩くことが出来ました

irb(main):015:0* client = Bugsnag::Api::Client.new(auth_token: "your-account-api-token")
=> #<Bugsnag::Api::Client:0x007fd19348b5e0...
irb(main):016:0> client.accounts.length
=> [{:id=>"xxxxxxxxxxxxxxxxxxxx", :name=>"Toreta"...
toreta
飲食店向け予約/顧客台帳サービス「トレタ」、超直前予約アプリ「トレタnow」を開発・提供するスタートアップ企業です。
https://corp.toreta.in
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away