Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Working hours plugin for Redmine
Branch: master

fix syntax

latest commit 676563bea8
@tpo tpo authored


Working hours plugin for Redmine 2.x

The time tracker we use for our daily work at Sourcepole.

This plugin provides an additional section on your personal page for tracking your time spent on projects and tickets.


  • time tracking with ticket assignment

  • working hours statistics per user

  • remaining vacation days per user

  • export as CSV

  • iCalendar view

  • manage holidays

  • working hours snapshots


get Redmine 2.6 stable branch:

git clone git://
cd redmine/
git checkout 2.6-stable

get Working Hours plugin:

cd plugins/
git clone git://

install Redmine

migrate plugin DB:

rake redmine:plugins:migrate

run plugin unit tests:

rake redmine:plugins:test:units


Vacation issue

  • create vacation issue

    • Subject: <vacation_subject>

    • Assigned to: nobody

Configure plugin

  • Administration -> Plugins -> Configure “Redmine Working Hours plugin”

    • set workday hours for a full pensum (default 8h)

    • set vacation issue id

Configure users

  • add custom field for user pensum

    • Administration -> Custom fields -> New custom field -> Users

      • Format: Float

      • Name: working_hours_pensum

      • Default value: 1.0

      • Required: check

      • Editable: uncheck

    • set working_hours_pensum for each user in Administration -> Users

  • add custom field for user vacation days

    • Administration -> Custom fields -> New custom field -> Users

      • Format: Integer

      • Name: working_hours_vacation_days

      • Default value: 0

      • Required: check

      • Editable: uncheck

    • set working_hours_vacation_days for each user in Administration -> Users

      • vacation days are counted as full working days, e.g. if a user with pensum=1.0 has 20 days then a user with pensum=0.5 has 10 days


  • edit holidays

Workday hours snapshots

A snapshot containing used vacation days, current and target times can be created for a user. This is used if a user starts working in the middle of the year or his pensum changes. Working hours overview calculations are based on the latest user snapshot or the beginning of the year if no snapshots are found.

Time of workday change

  • issues starting before this time will be assigned to the previous workday

  • set time of workday change as WORKDAY_CHANGE_HOUR on app/models/working_hours.rb (default 5 = 5:00:00)


  • My page

    • Personalize this page -> Add “Working hours”

    • start issue by clicking on its link

    • clicking a new issue will stop the currently running issue

    • edit working hours comments

  • menu Working hours

    • list and edit working hours

    • statistics for current day and month

    • remaining vacation days

  • holidays

    • link from working hours page

  • iCalendar

    • optional URL parameter 'duration' to get last n days (365 by default), if not using 'filter[begindate]'


  • We collect all customer projects without Redmine project as tickets in a separate project.

Something went wrong with that request. Please try again.