HowTo connect a Mylyn repository to Redmine

These instructions should work with redmine 0.9 stable and up.

There are 2 options to connect Mylyn to redmine: either install the connector in your redmine install (this obviously needs the ability to install a plugin on the redmine you want to use it with), or use the generic web connector, which scraps the html pages for the information it needs, and thus should work with pretty much every up-to-date enough redmine installation out there.

Using specialized Redmine-Mylyn connector

The Redmine Mylyn Connector is under "volatile" development. So you will find multiple pages and forks, here are some jump points.
http://www.redmine.org/boards/1/topics/10923
http://sourceforge.net/projects/redmin-mylyncon/
http://danmunn.github.io/redmine_mylyn_connector/

The sourceforge way

The Redmine-Mylyn Connector is another solution providing better integration with Mylyn (Note: for version 2 of Redmine, the updated redmine plugin can be found here and also an updated Redmine connector plugin for Eclipse (Mylyn) which solves some problems with newer versions is here).

Screenshot for the mylyn connector, contributed by Metello Bordin

Using the generic web repository connector

Mylyn is an Eclipse plugin for task management.
This HowTo explains how to connect to Redmine using the generic web repository connector.

Note that the generic web repository connector is not part of the default Mylyn install.
So, you have to install it first from the incubator update site.

Create a Task Repository

  1. Right-click on the task repositories list and click Add task repository
  2. Choose Web Template (Advanced) and click Next
  3. Configure the repository:
Server:                 http://www.redmine.org -- Replace it with the URL of your Redmine instance
Task URL:               ${serverUrl}/issues/
New task URL:           ${serverUrl}/projects/foo/issues/new -- Replace foo with the identifier of the project used for new tasks
Query request URL:      ${serverUrl}/issues
Query pattern:          <td class="subject">.*?<a href="/issues/(\d+)">(.+?)</a></td>
Login request URL:      ${serverUrl}/login?username=${userId}&password=${password}&authenticity_token=${loginToken} [POST]
Login Form URL:         ${serverUrl}/login
Login Token Pattern:    <input name="authenticity_token" type="hidden" value="(.+?)">

Example:

Current screenshot, contributed by Sebastian T. Hafner

You can replace the Query request URL parameter with the following if you want to get only the issues that are assigned to you:

${serverUrl}/issues?set_filter=1&assigned_to_id=me

The following Query pattern value reads Status, Owner and Tracker fields too (Mylyn 3.2.1) :

<td class="tracker">({Type}.+?)</td><td class="status">({Status}.+?)</td>.+?<td class="subject">.*?<a href=".*?/issues/({Id}\d+)">({Description}.+?)</a></td>({Optional}<td class="assigned_to"><a href.+?>({Owner}.+?)</a></td>)?

Status is read as "uncomplete" or "complete" in Eclipse.

Create a Query

  • On the task list, right-click and choose New -> Query...
  • And select your newly created repository

mylyn-repository-properties.png (88.1 KB) Jean-Philippe Lang, 2008-05-03 19:55

mylyn-task-list.png (47.2 KB) Jean-Philippe Lang, 2008-05-03 19:55

mylyn-repository-properties-2.png - Current screenshot, contributed by Sebastian T. Hafner (157 KB) Felix Schäfer, 2010-07-13 16:00

redmin-mylyncon.png - Screenshot for the mylyn connector, contributed by Metello Bordin (33.9 KB) Felix Schäfer, 2010-08-09 09:36