A CLI tool that generates a Toggl Plan project forecast using a Jira backlog and Timetastic holidays
This tool is a CLI that will create a new Toggl "Plan" based on your current Jira Backlog.
Note: due to the complexity of working out differences in start and end date the tool only supports creation of a new "Plan" and cannot update an existing "Plan".
It will:
- All assigned users are collected from the backlog
- Checks if the "plan" contains a Segment for each user. If not it will create one.
- All Versions are collected from the backlog
- All Epics are collected from the backlog
- All Components are collected from the backlog
- Checks if the "plan" contains a Tag for each Version, Epic and Component. If not it will create one.
- All issues are collected from the backlog in priority order and grouped by assignee
- It will then process all the issues for an assignee generating:
- Start / End Dates from estimates in sequential order based on available work hours for a given day
- Associated Tags for the task
- Link to the Jira Issue within the Task description
- Subtasks added as ToDo's
- Sprints are generated based on a bi-weekly cycle on a specific day
Install via npm:
npm install -g @tomchinery/toggl-forecaster-cli
Set some environment variables:
export TOGGL_CLIENT_ID=<your_client_id>;
export TOGGL_CLIENT_SECRET=<your_client_secret>;
export JIRA_CLIENT_ID=<your_client_id>;
export JIRA_CLIENT_SECRET=<your_client_secret>;
Create a configuration file in your home directory:
touch ~/.toggl-forecaster-config
The .toggl-forecaster-config
file contains the following object:
toggl: {
username: string;
password: string;
},
jira: {
site: string;
project: string;
},
sprintStartEndDay: string;
username
- Your Toggl Username
password
- Your Toggl Password
sprintStartEndDay
- The day your sprint starts
@TODO: Write up public Jira guidelines document
- Do not estimate lower than 4 hours
- Product Managers don't need anything more granular than this
- Use Versions, Epics, and Components
- Versions are for tracking your MVP's
- Epics are for tracking your specific Features
- Components are for tracking any areas that need team visibility or review
- Assign every issue
- Without an owner it won't get done
- Only estimate top-level stories, tasks, or defects
- anything more granular likely means your team will be inefficient / too much admin work