Skip to content
This repository

Project Management, Collaboration and Time Tracking.

Octocat-spinner-32 app Merge pull request #476 from webstream-io/viks-billing-report-more-th… February 21, 2014
Octocat-spinner-32 autotest Update rspec to 2.0.0.rc version October 11, 2010
Octocat-spinner-32 config Change to new Rufus syntax for starting thread March 27, 2014
Octocat-spinner-32 db This Fixes the logging in issue after installation. January 13, 2014
Octocat-spinner-32 doc Remove forums from the entire system. This deletes all existing data. May 07, 2011
Octocat-spinner-32 features Merge branch 'score_rules' into fluenta April 02, 2013
Octocat-spinner-32 lib Merge branch 'localization_i18n' of… April 24, 2013
Octocat-spinner-32 log adding file perm changes August 26, 2009
Octocat-spinner-32 public Moved tiny_mce asset files inside vendor/assets/javascripts July 23, 2013
Octocat-spinner-32 resources Make the access control much prettier. April 21, 2010
Octocat-spinner-32 scm_hooks Changes to svn post commit hook. Any change except added('A') or dele… May 28, 2010
Octocat-spinner-32 script Allow access to rails console and rake. Closes #474. January 22, 2014
Octocat-spinner-32 spec Merge pull request #504 from ari/viks-changing-projects-deletes-users… February 06, 2014
Octocat-spinner-32 test Remove failing test because a private resource was removed. April 19, 2014
Octocat-spinner-32 vendor Moved tiny_mce asset files inside vendor/assets/javascripts July 23, 2013
Octocat-spinner-32 .boring Exclude Eclipe configuration files from git. February 07, 2010
Octocat-spinner-32 .gitignore Added .ruby-version and .ruby-gemset to git. July 22, 2013
Octocat-spinner-32 .rspec Add ci:build rake task March 20, 2013
Octocat-spinner-32 .ruby-gemset Added .ruby-version and .ruby-gemset to git. July 22, 2013
Octocat-spinner-32 .ruby-version Upgrade jruby with some significant fixes, especially one for FreeBSD… April 18, 2014
Octocat-spinner-32 .travis.yml Travis should work with rubygems 2.0 now December 04, 2013
Octocat-spinner-32 CONTRIBUTORS Add meh 2 teh contributors list. April 09, 2013
Octocat-spinner-32 Add some developer documentation directly to the project. April 03, 2013
Octocat-spinner-32 Gemfile Downgrade paperclip since the 4.0 version has a bunch of new requirem… April 18, 2014
Octocat-spinner-32 Gemfile.lock Downgrade paperclip since the 4.0 version has a bunch of new requirem… April 18, 2014
Octocat-spinner-32 LICENSE Add documentation of support locations and other URLs to the top of t… January 03, 2011
Octocat-spinner-32 NOTICE Update copyright notice. May 07, 2011
Octocat-spinner-32 Procfile Add Procfile for foreman March 19, 2013
Octocat-spinner-32 README.rdoc Allow access to rails console and rake. Closes #474. January 22, 2014
Octocat-spinner-32 RELEASE-NOTES.rdoc Allow access to rails console and rake. Closes #474. January 22, 2014
Octocat-spinner-32 Rakefile Fixed a typo in last commit. May 07, 2013
Octocat-spinner-32 Rename mail module. December 16, 2010
Octocat-spinner-32 squish_mail.msg.erb Modified the mail message February 05, 2014
Octocat-spinner-32 Remove lots of old assets when building new ones. April 29, 2013

Jobsworth Project Management

Build Status

Welcome to the jobsworth project management, support ticketing and CRM system. This software is licensed under the AGPLv3.

Jobsworth can be used for helpdesk support ticketing, customer liasion, resource management (eg. systems and password tracking) and has a range of CRM type functionality. Plan your projects, see your schedule, know if you're slipping behind and why. Time Tracking and extensive reports help you show your clients exactly what you've done and for how long.


  • no restrictions or limits

  • interactive gantt chart & scheduling

  • flexible reporting

  • tracks and indexes all changes

  • notifications via email, rss & ical

  • ldap integration

  • accounting/billing system integration

  • custom attributes

  • inbound and outbound email integration

  • sophisticated access control

  • services (SLA)

  • resources

  • much much more

Further project details can be seen at Ohloh.


The primary support is through the mailing list or if you have a bug report, create an issue in the tracker. If you want to write up details of a new feature you'd like to see, please use the wiki.


Code contributions are welcome to this project and the best way to go about it is to fork the git repository:

Please read the file in this directory for more information. Join the developer mailing list to discuss ideas or ask questions.

Installing jobsworth on your server

Step 1: Database

Create a new database and user with full permissions to that database. You can use mysql or postgresql.

Step 2: Servlet container

Install Apache Tomcat (or another java servlet container) and make sure you can get to the default installation home page. How to install Tomcat or some other servlet container is beyond the scope of these instructions but the basic details can be found in the documentation. Don't be afraid of all those XML configuration files in Tomcat; mostly they can be left to default values.

There is one file you will need to edit and that is context.xml. This file defines all the configuration for your application. Copy the example into the tomcat configuration folder and set all the variables to reasonable choices for your system.

Step 3: Connect

Open a web browser and connect to your jobsworth server. The default user is “admin” and password is “password”.

Optional: Set up email receiving

When jobsworth sends outgoing emails for task updates, they will have a reply address which looks like this:

If a user hits reply to that email, you want it to be appended to the task comments. Here's how to set this up for sendmail; adapt the script for your own mail server. Mail can be running on a different server to jobsworth because we use HTTP to push the mail from your mail server to jobsworth.


Add an entry to /etc/mail/local-host-names for your hostname:

Add an entry to /etc/mail/aliases to create an alias that will hand off emails to a script

jobsworth: "|/usr/local/share/jobsworth/"

Add an entry to /etc/mail/virtusertable to redirect all emails to your domain to the above alias        jobsworth

run “make; make restart” in /etc/mail to rebuild the sendmail databases.

Now create a script at /usr/local/share/jobsworth/ with the following contents

cat $2 | /usr/local/bin/curl -s -k --data-urlencode secret=${SECRET} --data-urlencode email@- ${URL}

Make sure you change the password and you make it the same as the password in the context.xml file.

Step 5: Installing the application

After all that setup we can now install the software. Just take the file ROOT.war from the github release and copy it into the webapps folder inside tomcat. If you ever need to upgrade in the future, just replace that one file.

Step 6: Running the application for first time

An admin user with username “admin” and password “password” is created on first run. You can use these credentials to sign-in to the application. Remember to change the password for this user or disable it.


Accessing Rails console and rake commands

It is now possible to access Rails console in Java environment

cd path/to/directory/WEB-INF/
RAILS_ENV=production bash ./script/jruby_jar_exec ./script/rails console

Or run rake

RAILS_ENV=production bash ./script/jruby_jar_exec rake notes

NOTE: It is important that rake is not already present in PATH.


Project page

Mailing list


Copyright © 2008-2013 Aristedes Maniatis. The trademark and any branding associated with the name jobsworth are not released under any license and may not be used without permission.

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License version 3 as published by the Free Software Foundation.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

See LICENSE file for more details.

Something went wrong with that request. Please try again.