2

So we have this distributed team who are working on a project and whose hours/progress is being monitored using redmine. All the guys are really talented and hardworking but pretty bad when it comes to updating their daily tasks/progress using redmine. This makes it very difficult for our project managers to understand and steer the progress as well as the upper management to get a quick overview of where we stand with various development initiatives.

Things have become so bad that I have been tasked to setup an email alert such that every night say 12:00 midnight, an email goes out to everyone on an email list with the date and names of users who have not updated their hours for that day. The management hopes that this exercise will instil in them the discipline to update their tickets on a daily basis.

My question is: Is this possible in redmine? Any API, or adhoc way of send out emails based on a custom Query? I have not worked with redmine before and have no idea how to go about this.

If there are anyone with prior experience I would be very grateful to get some directions!

Undefined Variable
  • 4,196
  • 10
  • 40
  • 69
  • You really think daily progress reporting on hours helps to understand actual progress? – The Archetypal Paul Oct 20 '14 at 18:58
  • @Paul - I am a developer myself, not a techno-manager. In this instance - yes it does. We are functioning in a highly agile, globally distributed environment, working on evolving requirements each day. You do not know all the variables in this equation, and your question is based on generalized presuppositions, which is not always true. – Undefined Variable Oct 20 '14 at 19:00
  • Possibly. I really doubt that knowing how many hours people put in yesterday helps you react today. But it's your business, if you think chasing your developers to complete their hours deserves that priority, off you go... – The Archetypal Paul Oct 20 '14 at 19:05
  • @Paul lol, I can feel the tone of how you feel... but trust me, in this case it does more help than harm. We do not care if everyone is putting in X hours against their name, in fact they never have and we never care - all we care is having visibility about the direction in which development activities are proceeding, and we cannot know it unless we get some numbers - and these numbers are just against tickets not people. The people factor comes in because tickets cannot enter numbers themselves, people have to. – Undefined Variable Oct 20 '14 at 19:51
  • I personally use idonethis.com to remind me to give feedback daily about my work. – Nanego Oct 21 '14 at 07:36
  • Obviously, idonethis.com is not connected to Redmine. To check if the users have updated there issues, you would have to create a batch script and run it automatically everyday. – Nanego Oct 21 '14 at 11:10
  • @Nanego - thanks for that tip, I will take a look at idonethis.com – Undefined Variable Oct 21 '14 at 20:16
  • teamrundown.com is similar to idonethis but cheaper, just fyi – lloyd christmas Apr 21 '15 at 19:00

1 Answers1

2

I send some daily reminders to our redmine users, to help ensure that issues don't slip through the cracks in our workflow. I skip the API and just write perl scripts that connect directly to the database, scheduled via cron. The database is well designed and easy to understand: my SQL skills are very basic, and I've always been able to pretty easily hack out a query that gets what I need.

Some thoughts:

The end of "today" might be a relative concept if your team is worldwide. You could run your script hourly and base the reminders on users' time zones.

You might want to handle holidays and vacations, so that your users don't get nagged on their days off.

We use custom roles in redmine to control some of the emails. (We have a "new issue watcher" who gets triage mails in each project.) You could do the same thing to let certain users opt in or out of the time-tracking nag mails.

If you're interested, here's a link to one of my reminder scripts: http://joecullin.com/redmine_scripts/redmine_reminders

joecullin
  • 626
  • 1
  • 4
  • 8