This project creates some pictures based on jira data and uploads the resulting html report to confluence. These should allow squads to gain some insight into their development cycle. Hopefully provoking discussions on improving the flow of work.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
extract
jiraData
report
shiny
tribeLevel
.gitignore
LICENSE
README.md
RUNME.sh
atlassianDetails.sh.example
init.R
publish.sh
query.sql

README.md

Summary

This project creates some pictures based on jira data and uploads the resulting html report to confluence. These should allow squads to gain some insight into their development cycle. Hopefully provoking discussions on improving the flow of work.

Usage

  1. get Jira Access Token
  2. Run script against project

e.g.

echo -n Username:Password | base64
sh ./RUNME.sh <JIRAACCESSTOKEN> <PROJECT> <PUBLISH?>
sh ./RUNME.sh <randombase64hash> TS PUBLISH

Installation

Build docker containers

The report container takes an especially long time to build

  • docker build -t jirar-report report
  • docker build -t jirar-extract extract

Setup config

The first time RUNME.sh is run, it copies three example config files. These need updating with your details.

The first: atlassianDetails.sh needs the url of the rest-endpoint for Jira and Confluence

The second: extract/boardList.js is a mapping from jira project keys to boardIds. Instuctions are in the example file

The third: extract/customFields.js is to define fields to extract beyond the named jira fields. Three fields are defined from our boards and described in the Examples section below. If you have similar fields, change the link in this file.

You may manually create these config files before the first run by removing the .example suffix from the filenames and populating them yourself.

Examples

...

Known Issues / Workarounds

500 Error from jira greenhopper (agile board) api

Got 500 response from jira @ "https://tools.skybet.net/jira/rest/agile/1.0/board/793/configuration"
ERR
{ 'status-code': 500,
  'stack-trace': 'java.lang.NullPointerException\n\tat com.atlassian.greenhopper.api.rest.bean.BoardConfigBeanFactory.createRankingConfigBean(BoardConfigBeanFactory.java:102)
    at com.atlassian.greenhopper.api.rest.bean.BoardConfigBeanFactory.toBean(BoardConfigBeanFactory.java:48)
    at ...

In Jira, Board admin configure the board - and append: “ORDER BY Rank ASC” to the Filter Query.

Todo list / Idea List

  • When looking up spend+worktype from the epic, look at other project's boards too

  • Shiny http://rmarkdown.rstudio.com/authoring_shiny.html

  • Extract blocked time

  • Extract re-work time/counts

  • Integrate with stash to apply codebase metrics

  • publish docker files to dockerhub

  • Tribe level reports