Pivotal Tracker still has a flaw with the way the timing of stories is allocated when they are finally
accepted. As we all know, the Product Owner
often accepts stories long after their work has been finished and they have been delivered.
The problem that results from this is that stories look done
only when they are accepted
. And this means stories are not taken to account until some rather arbitrary time in the future. This results affects the velocity measurements
and makes the misleading impression on the performance of the team.
To solve this issue, this application will watch user's activities on Pivotal Tracker and adjusts stories so that their accepted date
is set to their last delivered date
or finished date
.
Pivotal Tracker document stated that updating Accepted date
do not update the Story Composition Report
(https://www.pivotaltracker.com/help/articles/updating_accepted_stories/). However, it should still works normally in our case.
- Python >3.6
- Django ~2.1
1 - Install dependencies for development:
$ pip install -r requirements/local.txt
To expose our webhook to Pivotal Tracker API we need to install ngrok
2 - Update .env
file follow .env.sample
file
3 - Start application
manage.py runserver 0.0.0.0:8000
ngrok http 8000
4 - Copy webhook url https://<ngrok-url>/activity/webhook/<webhook_verify_token>/
and add to PT project webhook
5 - Get Pivotal Tracker Token API and update the env PIVOTALTRACKER_TOKEN_API
1 - Install dependencies for production:
$ pip install -r requirements/base.txt
2 - Deploy application to server (enable https)
3 - Update the enviroment variables.
4 - Add webhook url to PT project.
1 - Install dependencies:
$ pip install -r requirements/test.txt
To run unit tests
$ manage.py test
Check the coverage:
$ coverage run manage.py test
$ coverage html
$ coverage report
Linting using flake8:
$ flake8 .
- PT has a limit on story activity changes history(limited to most recent 6 months), so if the story is too old, we won't have changes history to adjust accepted date.