top of page

Auto-Gather Teams' KPIs - Jira

The Python script (to be added to is a basic design to interact with Jira's REST API to fetch and export sprint metrics into a CSV file. It's a practical utility for teams using Jira to manage software development projects, enabling them to analyze their performance over time. Let's break down its logic, reasoning, and how it can be implemented and run, in a casual, conversational manner.

What's the Big Idea?

In the world of software development, Jira is a bit like your digital project management guru. It helps teams keep track of all the moving parts of their projects. But sometimes, you need to step back and see the bigger picture—how are we performing over the sprints? That's where this script jumps in. It's like your data ninja, slicing through the complexity of Jira's data to bring you the insights you need in a simple, digestible format: the good ol' CSV file.

Breaking It Down

At the beginning of the script, we're setting the stage with some imports:

  • csv for creating and manipulating CSV files,

  • requests to make HTTP requests to Jira's API,

  • datetime and timedelta for handling dates and times (because time is a tricky beast),

  • HTTPBasicAuth from requests.auth for authentication purposes, and

  • os because sometimes you need to interact with the operating system, like setting environment variables.

Then, we dive into the specifics:

  1. Jira Credentials & Setup: You've got to authenticate yourself to Jira. It's like showing your ID at a club; you need to prove who you are to gain access. Here, we're using an API token (a secret key) and a username for authentication. There's also a board_id specified, which tells Jira exactly which project board we're interested in.

  2. Headers: Just some formalities to let Jira know that we expect the response in JSON format.

  3. Fetching Data: The script constructs a Jira Query Language (JQL) query. JQL is powerful—it lets you specify exactly what issue data you want to fetch from Jira, like filtering issues based on their status, assignee, or any custom fields you've set up.

  4. Exporting to CSV: After getting the data from Jira, the script cleverly arranges it into a CSV file. This step is where the magic happens; transforming raw data into a structured format that's easy to analyze or share with others.

How to Get This Running?

  1. Set Up Your Environment: Before running the script, ensure you have Python installed on your machine. You'll also need to install the requests library if you haven't already. You can do this using pip:

bashCopy code
pip install requests
  1. Customize It: You'll need to customize the script with your Jira information. This means updating the jira_url, api_token, username, and board_id with your details.

  2. Run It: Save the script as (or whatever name you fancy) and run it using:

bashCopy code

Make sure you're in the same directory as your script when you run this command.

  1. Check Your CSV: If all goes well, you'll find a new CSV file in your directory, filled with precious data about your sprints.

Wrapping It Up

This script is a fantastic tool for teams looking to get more insight into their sprint performance without manually combing through Jira. It automates the tedious part, letting you focus on the analysis and, ultimately, on improving your processes.

Remember, the power of automation lies in customization. Don't be afraid to tweak the script to fit your needs better. Maybe you want more detailed metrics, or perhaps you're interested in a different project. Dive into the code, adjust the JQL query, and make it your own.

diving deeper into setting up Python, choosing a code editor, and navigating the terminal on a Mac can make the journey of running a script like the not just possible, but also enjoyable. Let's break it down into simple, friendly steps.

Setting Up Python on a Mac

First off, most Macs come with Python pre-installed. However, this is usually Python 2.x, and we're living in the Python 3.x era—a significant upgrade. Here's how to get the latest version:

Check Existing Python Installation: Open the Terminal (you can find it using Spotlight with Cmd + Space and typing "Terminal") and type:

bashCopy code
python --version


bashCopy code
python3 --version

This tells you if Python, and which version, is installed.

Install Homebrew (if you don't have it already): Homebrew is a package manager for macOS. It makes installing Python and other software a breeze. To install Homebrew, paste this in your Terminal:

bashCopy code

Install Python 3: Once Homebrew is installed, you can easily install Python 3 by running:

bashCopy code
brew install python

This command installs Python 3 and its package manager, pip, which lets you install and manage additional packages like requests.

Choosing a Code Editor

A good code editor can make writing and editing code more intuitive, with features like syntax highlighting, auto-completion, and debugging support. Some popular choices include:

  • Visual Studio Code (VS Code): Highly customizable, with a vast extension library. It's free and supports Python development well.

  • PyCharm: Specifically designed for Python, offering a powerful suite of tools. It has a free Community Edition and a paid Professional Edition.

  • Sublime Text: Known for its speed and efficiency, it's a solid choice for coding in Python and other languages.

Running Python Code Using Terminal on a Mac

After setting up Python and choosing your code editor, you're ready to run your Python script. Here's how to do it from the Terminal:

  1. Open Terminal: You can find it in your Applications folder under Utilities, or use Spotlight (Cmd + Space) and type "Terminal".

Navigate to Your Script's Directory: Use the cd (change directory) command to navigate to the folder containing your Python script. For example, if your script is on the desktop, you would use:

bashCopy code
cd ~/Desktop

Replace Desktop with the actual path to your script's location.

Run Your Python Script: Type the following command and hit Enter:

bashCopy code

Make sure to replace with the name of your Python script if it's different.

Final Thoughts

Setting up your Mac for Python development, choosing a code editor that feels right for you, and learning to navigate the Terminal are foundational skills for a budding developer. They not only empower you to run scripts like the one we've been discussing but also open up a world of possibilities for creating your own software, automating tasks, and much more.

Remember, the journey of coding is a series of small steps. Don't be discouraged by bumps along the way. Each error message is just the computer's way of asking you to dance, and with each step, you're learning the moves.

Recent Posts

See All


#ByteIntoBusiness Blog

bottom of page