Rest api » History » Revision 2
Revision 1 (Jean-Philippe Lang, 2010-01-13 20:34) → Revision 2/102 (Jean-Philippe Lang, 2010-01-13 20:36)
h1. Redmine API
Redmine exposes some of its data through a REST API. This API provides access and basic CRUD operations (create, update, delete) for the resources described below.
Most of the time, the API requires authentication. This is done via HTTP Basic authentication using the regular Redmine accounts. To enable this API-style authentication, check *Enable REST API* in Administration -> Settings -> Authentication.
_At the time of writing, the API is only available in trunk (see r3310)._
h2. API Description
* [[Rest_Issues|Issues]]
h2. API Usage
h3. 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.
<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
# Creating an issue
issue = Issue.new(:subject => 'REST API', :assigned_to_id => 1, :project_id => 1)
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>