romanofski / finishline

A script to wrap up my sprints

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

A script for generating reports from JIRA:

$ cp Makefile.factory Makefile.yourproject
$ <edit your makefile to tweak values>
$ make -f Makefile.yourproject uploadsprint

You can also store command line options in a configuration file:

$ python finishline.py -c myconfig.ini

https://www.youtube.com/watch?v=jK5n7HY4nfA

Getting Started

The easiest way to get started using Finishline is to use make, a general build automation tool that performs a series of steps defined in a Makefile. The make tool is readily available on all platforms, but steps for installing it are out of scope for this README.

A key function of Finishline is generating Google Slides presentations that contain status information about a JIRA project. Before you get started, you should create a slide deck to be used for this purpose. After creating the deck, make a note of the deck's identifier, which can be found in the Google Slides URL (it should be in the form https://docs.google.com/presentation/d/$SLIDES_ID). This ID will be referred to later as $(SLIDES_ID).

To start using Finishline for your JIRA project, first copy Makefile.sample to Makefile.$(YOURPROJECT) (note that $(YOURPROJECT) should be the name of your JIRA project). There are a few small changes that you'll need to make in your new Makefile.$(YOURPROJECT):

  • Replace all instances of $(YOURPROJECT) with the name of your JIRA project
  • Replace all instances of $(SLIDES_ID) with your slide deck ID

To test Finishline on your project, run the following command from the root of the Finishline git repo:

make -f Makefile.$(YOURPROJECT) buildstatus

Upon running this command, Finishline will query JIRA for all issues that are in progress or recently completed. It will attempt to determine the parent epic for each of these issues, can calculate a progress percentage for that epic by calculating the percentage of story points or issues within that epic that are complete. Finishline assumes that your project uses the OKR process. As such, it expects issues to be grouped in an epic representing a KR, and that all KR epics are in turn sub tasks of another epic representing an Objective. When finishline runs, it will attempt to determine the parent Objective for all issues and group content as such. If no parent Objective can be found, KRs will be grouped under a general "Miscellaneous" heading.

When the above command is run, the status report content will be written to a file foo.md. Check this file to make sure its content is what you expect. If it is, run the following command to generate the status slide deck:

make -f Makefile.$(YOURPROJECT) uploadstatus

When the command is complete, your slide deck will automatically open in a browser window.

Another supported reporting format is plain text (e.g. for sending email status reports). In this mode, the report is saved to a text file, the contents of which can be copied into whatever location you wish. To generate this text report, run the following command:

make -f Makefile.$(YOURPROJECT) buildemail

This will save the report to a file titled report-$(DATE).md. (This file name is set in Makefile.$(YOURPROJECT) on the last line of the buildemail Make target.)

Finishline supports other arguments and features. We're working on adding documentation for all of this functionality. For now, feel free to reach out in a GitHub issue if you have any questions.

About

A script to wrap up my sprints


Languages

Language:Python 100.0%