Gem Version Build Status Build status Codecov Code Climate Inline docs License

Ruby wrapper for the Nulab's Backlog API.


Add this line to your application's Gemfile:

gem 'backlog_kit'

And then execute:

$ bundle

Or install it yourself as:

$ gem install backlog_kit


require 'backlog_kit'

client =
  space_id: 'emsk',
  api_key: '1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234'

client.get_space.body # get body
client.get_space.headers # get headers
client.get_space.status # get status

client.get_space_activities # no params
client.get_space_activities(activity_type_id: [1, 4], min_id: 100) # underscored key
client.get_space_activities(activityTypeId: [1, 4], minId: 100) # camelized key

client.get_groups.body[0].members[0].mail_address # method chaining

You can also use low-level methods.

client.get('projects/1234/customFields') # GET'groups', name: 'beer') # POST
client.put('space/notification', content: 'Cheers!') # PUT
client.patch('groups/3712', name: 'whiskey') # PATCH
client.delete('groups/3712') # DELETE


API key

client =
  space_id: 'emsk',
  api_key: '1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234'

OAuth access token

client =
  space_id: 'emsk',
  api_key: nil, # api_key should be nil
  access_token: 'abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcd'

BacklogKit::Client Config

Variable ENV Variable Description Default
space_id BACKLOG_SPACE_ID Your Backlog SPACE ID.
second_level_domain BACKLOG_SECOND_LEVEL_DOMAIN Your Backlog SECOND LEVEL DOMAIN. backlog
top_level_domain BACKLOG_TOP_LEVEL_DOMAIN Your Backlog TOP LEVEL DOMAIN. com
api_key BACKLOG_API_KEY Your Backlog API KEY.
client_id BACKLOG_OAUTH_CLIENT_ID CLIENT ID of your Backlog application.
client_secret BACKLOG_OAUTH_CLIENT_SECRET CLIENT SECRET of your Backlog application.
refresh_token BACKLOG_OAUTH_REFRESH_TOKEN REFRESH TOKEN obtained from the token endpoint.

If you set ENV variables, you can create an instance more simply.

client =

Supported Backlog API Version

BacklogKit supports Backlog API 2.32.2.

BacklogKit's API documentation is here.

Supported Ruby Versions

  • Ruby 2.0.0
  • Ruby 2.1
  • Ruby 2.2
  • Ruby 2.3
  • Ruby 2.4
  • Ruby 2.5
  • Ruby 2.6


  1. Fork it ( )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request