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).
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:
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) 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