Rest api with ruby » History » Revision 6
Revision 5 (Jean-Baptiste Barth, 2013-06-06 14:09) → Revision 6/15 (Geoffroy Planquart, 2014-07-21 19:43)
h1. Using the REST API with Ruby
Redmine REST API follows the Rails's RESTful conventions, so using it with "ActiveResource":http://api.rubyonrails.org/classes/ActiveResource/Base.html is pretty straightforward.
h2. ActiveResource
Here is a simple ruby script that demonstrates how to use the Redmine REST API:
<pre>
<code class="ruby">
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_values => {'2' => 'Fixed'}
)
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
</code>
</pre>
_You may need to set @include_root_in_json = true@ in your ActiveResource class_