Adding custom data to Redmine

Redmine is an Open Source project management application created by Jean-Philippe Lang using Ruby on Rails. I have been using it to track ongoing projects for my business.

One great area where Redmine shines is how simple it has been to add custom data. I have used many project management programs and bug trackers, and a vast majority of them require you to hack on the code to add new fields. To illustrate how simple it is to add custom data to Redmine, I am going to walk you though how to set it up a custom field for your projects.

Decide what custom data you want

The first step is to decide what custom data you want to track. Taking a post from my friend Shane Pearlman, I decided to score my customer projects to help me evaluate them. So I decided want to attach a “Profit Score” to each project.

Setup your custom data

Login to your Redmine installation as an administrator and on the Administration menu select “Custom Fields”. You will notice that Redmine allows you to attach custom data to “Issues”, “Projects”, and “Users”. For now we want projects so click the projects link. Now you can click the link “New custom field”.

Different types of data

Redmine gives you a lot of control over your custom data, including restricting what type of data can be entered based off of length and matching a regular expression. For those who don’t know what a regular expression is, think of it as a pattern that your data needs to match.

Completed custom field screen
Completed custom field screen

To track the “Profit Score” I could enter a number from 1 to 5 but I would really like a drop down box to select a value. This will not only be faster but help me keep the data consistent for all my users. Redmine has different formats for the data including:

  • Text
  • Long Text
  • Integer
  • List
  • Date
  • Boolean

For “Profit Score” I want a List. After selecting List, Redmine automatically changes the view and gives me a set of text boxes I can use to enter the possible values. I only want to use 5 values but from what I can tell, you can enter as many values as you need.

Marking the data as required

To finish up the process, I decided not to check the option to make this field “Required”. Even though this will make my data for consistent, sometimes I don’t know how profitable a project will be when I set it up in Redmine.

Enter your custom data

All that’s let is to now check your project and test that custom field works like you want. If you go to the project overview Redmine will show the custom data. The project Settings is where you will be able to edit and change the custom data. Below is a screenshot of one of my projects with the new custom field.

Entering a custom field
Entering a custom field

Notice the other fields “Project Status”, “Cost Estimate”, and “Time Estimate” are other custom data fields I have setup. Each of them were set as “required” so they have the little red asterisk to remind the user that data must appear in their fields. If the form is submitted without data in those Redmine will display a message and will not allow the form to be saved.

Try it out

I hope this article explains a great feature of Redmine. Don’t forget, Redmine will also let you attach custom data to your Issues and Users.

So if you are looking for a project management application that is easy to use, I would highly recommend giving Redmine a try. There is also a fully functional demo of the latest code at http://demo.redmine.org. I want to give a big thanks to Jean-Philippe Lang and the rest of the Redmine team, your software makes it easier for my business to run.

5 comments

  1. Ademir says:

    How can I use this custom fields on my reports ?
    I’d like to access redmine database and extract my reports (using another tool), but I not found the custom fields values.

    • edavis10 says:

      You would have to do a join on a few tables to get to it:

      * custom_fields – to find the custom field you added
      * custom_fields_projects – to find the projects using the custom_field
      * custom_values – to find what the value that’s used

      If you write your report in Ruby, you can use some of Redmine’s methods to get to the data easier.

  2. matt says:

    Eric,

    I just discovered the Custom Fields feature and really love it; the ability to apply it to specific projects makes it really powerful.

    What would be even better, though, is if you could make custom fields (or make a custom field’s values) dependent upon another field. For instance, you would choose a value from Field B (a list), causing a Field C (another list) to be activated (or causing Field C to load only specific values). I imagine this is more than a trivial modification…

    • edavis10 says:

      Yeah, in order for that to work custom fields will need to be improved a bunch. Right now they only support very simple data formats. I have some code to add some more advanced formats but it’s not ready yet (e.g. list of users, a url).

Comments are closed.