Using the REST API with Ruby

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

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

 1 require 'rubygems'
 2 require 'active_resource'
 3 
 4 # Issue model on the client side
 5 class Issue < ActiveResource::Base
 6   self.site = 'http://redmine.server/'
 7   self.user = 'foo'
 8   self.password = 'bar'
 9 end
10 
11 # Retrieving issues
12 issues = Issue.find(:all)
13 puts issues.first.subject
14 
15 # Retrieving an issue
16 issue = Issue.find(1)
17 puts issue.description
18 puts issue.author.name
19 
20 # Creating an issue
21 issue = Issue.new(
22   :subject => 'REST API',
23   :assigned_to_id => 1,
24   :project_id => 1,
25   :custom_field_values => {'2' => 'Fixed'}
26 )
27 if issue.save
28   puts issue.id
29 else
30   puts issue.errors.full_messages
31 end
32 
33 # Updating an issue
34 issue = Issue.find(1)
35 issue.subject = 'REST API'
36 issue.save
37 
38 # Deleting an issue
39 issue = Issue.find(1)
40 issue.destroy