Project

General

Profile

Actions

Rest api with ruby » History » Revision 10

« Previous | Revision 10/15 (diff) | Next »
Toshi MARUYAMA, 2016-04-25 15:28
gem 'activeresource'


Using the REST API with Ruby

Redmine REST API follows the Rails's RESTful conventions, so using it with ActiveResource is pretty straightforward.

ActiveResource

On Redmine 3.x (Rails 4.2), you need to add 'activeresource' gem.
For example, at Gemfile.local:

gem 'activeresource'

Here is a simple ruby script that demonstrates how to use the Redmine REST API:

require 'rubygems'
require 'active_resource'

# Issue model on the client side
class Issue < ActiveResource::Base
  self.site = 'http://redmine.server/'
  self.user = 'foo'
  self.password = 'bar'
end

# Retrieving issues
issues = Issue.find(:all)
puts issues.first.subject

# Retrieving an issue
issue = Issue.find(1)
puts issue.description
puts issue.author.name

# Creating an issue
issue = Issue.new(
  :subject => 'REST API',
  :assigned_to_id => 1,
  :project_id => 1
# custom field with id=2 exist in database
  :custom_fields => [{id: 2, value: "IT"}]
)
if issue.save
  puts issue.id
else
  puts issue.errors.full_messages
end

# Updating an issue
issue = Issue.find(1)
issue.subject = 'REST API'
issue.save

# Deleting an issue
issue = Issue.find(1)
#issue.destroy

You may need to set include_root_in_json = true in your ActiveResource class

Updated by Toshi MARUYAMA almost 8 years ago · 10 revisions