Giter Site home page Giter Site logo

jira-csv-reports's Introduction

jira-reports-csv

This project automates the generation of reports in .csv format using the JIRA API.

The modules are designed to create reports for the following categories:

  • Planned: Issues added before the sprint begins.
  • Unplanned: Issues added after the sprint has started (during live running sprints).

The main objective of this project is to extend the analysis possibilities of sprint performance without depending on the limited visualization plugins available in Jira Dashboards.

Project Structure

├── 00-jira-filter-setup        # setup JQL filters to detect issues planned and unplanned
│   └── ...
├── 01-extract                  # generate reports in raw Jira API format (json)
│   └── ...
├── 02-transform                # process the raw report and create a CSV final report
│   └── ...
└── config
    ├── settings.yaml.example   # module settings (example file)
    └── .secrets.yaml.example   # jira API credentials (example file)

Requirements - Jira Automation to Detect Issues Add After Sprint Started

Jira does not have a native way to filter issues added after a sprint has started. To address this limitation, a workaround is required: creating a Jira Automation rule that adds a comment to an issue whenever it is created or placed in an active sprint. This comment should contain the sprint ID, which will serve as a source for filtering unplanned issues based on their origin.

Note

There is a long time opened Issue in the Jira Project for this filter implementation.

More Details: https://jira.atlassian.com/browse/JRACLOUD-75868

The following image depicts the automation that needs to be created.

00-jira-filter-setup - Setup Jira Filters

This module creates a Jira filter to list the planned, unplanned, and all issues in a sprint.

It utilizes the Jira Automation described in the previous section.

01-extract - Extract Issues in Raw Format

This module executes a JQL query in the Jira API using the filters created in the previous step. It then creates a .json file containing issues related to the sprint categorized as planned and unplanned.

02-transform - Extract Issues in Raw Format

This module processes the .json report generated by the 01-extract module and creates a high-level .csv report with a limited scope of fields.

This .csv is intended for use in spreadsheet engines to build graphs and conduct analyses according to team needs.

CSV fields:

  • area
  • assignee_email
  • assignee_name
  • epic_link_summary
  • is_planned
  • issue_key
  • issue_type
  • priority
  • sprint
  • sprint_count
  • status
  • status_category
  • summary
  • team
  • time_original_estimate
  • time_spent

How to Run

  1. Clone the project:
$ git clone https://github.com/c-neto/jira-csv-reports

  1. Configure the module settings:

Note

Create new files based on the contents of the files with the .example suffix in their respective folders.


  1. Create a virtual environment and install the dependencies:
$ make setup

  1. Set up the JQL filters:
$ make jira-filter-setup

  1. Generate the Raw Report (JSON file with issues in Jira API format containing all metadata):
$ make extract

  1. Generate the Processed Report (CSV report with limited fields):
$ make transform

jira-csv-reports's People

Contributors

c-neto avatar

Stargazers

Felipe avatar Lucas O Arruda avatar Felipe Carvalho avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.