Using the REST API with Ruby¶
Redmine REST API follows the Rails's RESTful conventions, so using it with ActiveResource is pretty straightforward.
ActiveResource¶
Here is a simple ruby script that demonstrates how to use the Redmine REST API:
1require 'rubygems' 2require 'active_resource' 3 4# Issue model on the client side 5class Issue < ActiveResource::Base 6 self.site = 'http://redmine.server/' 7 self.user = 'foo' 8 self.password = 'bar' 9end 10 11# Retrieving issues 12issues = Issue.find(:all) 13puts issues.first.subject 14 15# Retrieving an issue 16issue = Issue.find(1) 17puts issue.description 18puts issue.author.name 19 20# Creating an issue 21issue = Issue.new( 22 :subject => 'REST API', 23 :assigned_to_id => 1, 24 :project_id => 1, 25 :custom_field_values => {'2' => 'Fixed'} 26) 27if issue.save 28 puts issue.id 29else 30 puts issue.errors.full_messages 31end 32 33# Updating an issue 34issue = Issue.find(1) 35issue.subject = 'REST API' 36issue.save 37 38# Deleting an issue 39issue = Issue.find(1) 40issue.destroy
RedmineClient gem¶
Eric Davis has created a gem that has ActiveResource wrappers for Redmine's API. See his post Redmine Client - Access the Redmine API in Ruby for more details and an example.