JIRA Timetracking Plugin
------------------------

This plugin allows a remote client to submit time tracking data in CSV format to Jira.

The motivation behind this is to provide an automated yet simple way of synchronizing an external time tracking database with the time tracking reporting facilities in JIRA.

An external process can produce an aggregate time tracking report for each user, issue and date in CSV.

This is then uploaded by the XML-RPC interface already provided by JIRA.

This process can run as often as it likes, though running a daily scheduled task seems to be a sensible option.

For each timetracking entry that the plugin processes, it determines whether a new entry should be created or whether an existing entry should be updated.

CSV Format
----------

The only acceptable CSV format contains these four columns:

- JIRA username
- JIRA issue key
- The date to log work for (in YYYY-MM-DD format)
- The aggregate amount of work to log for that particular day, user and issue in seconds

A example looks like this:

bilbo.baggins,ABC-27,2009-10-13,15

It is imperative that the JIRA username and issue key passed in each row actually exist.

Installation
------------

Drop the atlassian-jira-timetracking-plugin-X.jar into the WEB-INF/lib directory of your JIRA installation.

Configuration
-------------

This plugin requires that the administrator turns on XML RPC requests in JIRA.
You will need 2 users in your JIRA instance, one called admin, the other called test.
You will also need an issue called ABC-1.

Known Limitations
-----------------

- There is not limitation on the depth of worklog items - this should probably be limited to the current working month
- It does not verify whether the CSV file contains at most one entry for the same date, user and issue
- The authorization of the submitting user is not verified
- More automated test cases that create new projects and issues on the fly
- An example client script to demonstrate how the XML RPC interface should be used