thecrumb

developer | thinker | tinkerer

'Mylyn Meets Project Tracker '


  • Monday, August 22 2011
  • tools

At my new job we have a ticket system. That's good. I immediately looked to see if it supported Mylyn. Quick searches didn't turn up anything. That's bad.

We're using Project Tracker a ColdFusion based application written by Joe Danziger.

I don't have the time or talent to write a native Mylyn connector but I did remember hearing about a 'generic' web connector. For reference it's now in the 'incubator'

Installing that gives you several preconfigured example repositories to choose from:

Preconfigured example

I didn't expect to see Project Tracker in the list but what did catch my eye was the listing for Eclipse Plugin Central which had (RSS) next to it. I knew Project Tracker supported RSS...

Configuration

_Please note this is still a work in progress... the steps outlined below 'work' but may not be the best way to do this. As I tinker more I'll update this post. _

  • Open the Planning perspective and the Task Repositories view.
  • Right click in the view and select "Add Task Repository..."
  • Select Web Template (Advanced) and click Next
  • Server: the base URL to your Project Tracker
  • Label: Whatever you want to call it
  • UserID: Depending on how you have your authentication setup Mylyn can store your credentials - enter the username and password you use to access Project Tracker here...

Initial Configuration

  • Expand "Additional Settings" at the bottom
  • Then expand "Advanced Configuration"

Here you can enter several URLs. Remember we're using RSS again so:

  • Query Request URL: https://my.project.com/project/rss.cfm
  • Login Form URL: https://my.project.com/project/index.cfm?username=${userId}&password;=${password}

Here we're passing the username and password we entered earlier.

Click finish to save your repository. Next we need to write a 'query' to pull tickets. But first we have to generate our RSS feed.

RSS Feed

I opened up Project Tracker, navigated to one of my projects and selected the "Issues" tab. At the top there is an RSS feed button. Copy that URL.

RSS configuration

You should get something like so:

https://my.project.com/project/rss.cfm?&p;=4BA4E-9B9-DFG00-6F4702A9FB4A5&type;=issues&assignedto;=&severity;=&milestone;=&issuetype;=

Note: Your URL may vary depending on how you have things setup!

Empty items we can ignore so we can trim down our query string:

https://my.project.com/project/rss.cfm?&p;=4B814A4E-19B9-DA00-6F4C76706A9FB3A5&type;=issues

Now the important part! Run this URL through your browser and verify the results are correct.

Mylyn Meets RSS

With a working URL:

  • In Eclipse open the Task List view, right click inside it and select "New > Query"
  • Select your newly added task repository we just created
  • Click next
  • On the "Create web query" window - select "Advanced Configuration"

Enter the RSS URL in the Query URL field:

RSS configuration

You can click the "Open" button to verify Mylyn is also reading the URL correctly. If you get an error continue to tweak and test your URL.

Once it's working in Eclipse - click Finish.

Your Task List should refresh and you will see a list of your items!

It Works

Note: I modified the Project Tracker rss.cfm file and added the Ticket # to the title.

Next

Looking at the Mylyn examples online there are ways I can streamline some of the URLs like we did with the authentication URL to assign and use variables. I'll be looking into that next. I don't think opening and modifying tickets via this interface is doable but this functionality gives me 90% of what I use Mylyn for. I can see my tasks, I can activate them and use contexts. I'm happy.

Followup

One thing that was bugging me was the dates showing up in the issue list (see the last screenshot above). Turns out this is due to the type of RSS feed, and this is easily changed in ProjectTracker. I'm using v.2.6.2. Open rss.cfm and around line 117 you will need to tweak:

<cfset rssXML = rss.generateRSS("RSS092",data,meta)>

I changed it from RSS1 to RSS092. Your mileage may vary. I now get a nicely formatted list with no weird dates.


How I Get Started in ColdFusion Sublime Text 2 and ColdFusion

More like this...