Rest api with ruby » History » Revision 4
Revision 3 (J Doe, 2010-08-21 02:02) → Revision 4/15 (Eric Davis, 2010-10-21 06:26)
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> h2. 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":http://redmineblog.com/articles/redmine-client-access-the-redmine-api-in-ruby/ for more details and an example.