This utility is meant to augment a scrumban-based project by providing a convenient report generation utility that links into Toggl and Trello. API keys and usage of both platforms is required for this utility.
Team logs, individual logs (for each team member), and a project burnup chart are generated by this project.
- Python 3
- A Trello account
- A Trello board
- A list on the Trello board for finished tasks
- A Toggl account
- A Toggl workspace
Clone this repository into a convenient directory.
git clone https://github.com/brikwerk/scrumban-reports-utility.git
Navigate to the directory and install the Python requirements.
cd scrumban-reports-utility
pip install -r requirements.txt
Create a copy of the ".env.example" and rename it to .env. A more verbose example environment file is below with directions on how to obtain each piece of information required for functionality.
{
// Found in the URL of your board
// Like so: https://trello.com/b/BOARD_ID_IS_HERE/BOARD_NAME_IS_HERE
"trello_board_id": "BOARD_ID_GOES_HERE",
// Generated at https://trello.com/app-key
"trello_app_key": "APP_KEY",
"trello_bot_token": "TRELLO_TOKEN_FOR_BOT_USER_GOES_HERE",
// Found in https://toggl.com/app/profile at the bottom of the page
"toggl_api_key" : "TOGGL_API_KEY_GOES_HERE",
// Obtained through usage of the Toggl API
"toggl_workspace": "WORKSPACE_ID_GOES_HERE",
"toggl_users": {
"11223344": "Reece Walsh", // User ID followed by the human-readable name of this Toggl user
"44332211": "Andrew Feltham" // Individual reports will be stored under the human-readable name
}
}
Once the environment variables are filled out, ensure that your Trello board has a task list designated as the area for dropping finished tasks. Within the burnup chart, the "Scope" tally is gathered from the total amount of cards on your board while the "Done" tally is gathered from a designated task list. By default, this utility searches for a list named "Done". An alternative name can be specified via the command line. More instructions for this follow in the Usage section.
You're ready to begin generating reports! To test everything is working, run the following command at the root of the project directory:
python run_reports.py
A folder called "Scrumban Reports" should be generated at the root. User report folders, a team log file, and the burndown charts folder should be present inside.
To generate reports, execute the "run_reports.py" file. Usage and arguments follow:
-p : Specifies the file path to store the folders and reports. Defaults to ../docs/weekly reports relative to this
file.
-s : Specifies the start date for the reports in the form: YYYY-MM-DD Defaults to 7 days from today
-u : Specifies the end date for the reports in the form: YYY-MM-DD Defaults to today
-b : Specifies Trello board name to check for the number of done tasks. Defaults to 'Done'.
-r : Specifies how many points are included in the linear regression for the burnup chart. Defaults to 4.
Download between a specific date
python run_reports.py -s 2018-10-10 -u 2018-10-16
Generate from stats in the past week into a specific directory with an 8 point regression line
python run_reports.py -p "../docs/Weekly Logs" -r 8