This article is part of in the series
Published: Saturday 18th October 2025

how to use jira

This isn’t another generic “how to use JIRA” post. In this one, we’ll talk about hidden productivity hacks and power moves that you can use to make your JIRA experience faster and maybe even fun.

Step Up Your Automation Game

We bet you love automation (who doesn’t?!). And that’s why you need to know that you don’t have to manually move tasks between boards or ping teammates every morning. You can let tools do all that for you.

So, the first tip is to use Python and APIs to automate JIRA workflows. For example, you can connect Slack, GitHub, and JIRA to make your workflow a bit more streamlined. Like so:

  • Every time you push code, JIRA knows about it without you having to update the ticket manually.
  • Your team sees progress updates in Slack as soon as tickets change (like tickets being moved), without you typing anything.
  • Once the code is merged, the ticket closes itself; no manual clicks needed.

You can automate your processes using Python libraries like jira-python or atlassian-python-api. The Reddit community even has scripts for this. A simple automation could look like this:

from atlassian import Jira

jira = Jira(
url="https://yourdomain.atlassian.net",
username="your_email",
password="your_api_token"
)

issue = jira.issue('PROJECT-123')
jira.transition_issue(issue, 'Done')
print(f"Issue {issue.key} transitioned to Done")

Play with JQL (JIRA Query Language)

If you’re still clicking filters manually, you’re doing it wrong. You should try JQL, SQL for JIRA.

JQL, a search syntax used inside JIRA, can help you find and organize issues more precisely than the standard click-based filters. Basically, you can query issues (tickets) stored in JIRA.

So rather than manually selecting filters like Project → PYTHONAPP → Status → Not Done, you can write one line that defines exactly what you want.

Here’s an example JQL for Python projects:

project = PYTHONAPP AND status != Done ORDER BY priority DESC

This filters all open Python app issues (open or in progress), sorted by priority (from highest to lowest). Advanced JQL lets you do the same across multiple projects, time ranges, assignees, and custom fields. For example:

project = PYTHONAPP AND labels in (backend, api) AND created >= -7d ORDER BY updated DESC

custom dashboard and filters

Build Custom Dashboards and Filters

JIRA dashboards contain all the important project details in one place; they are pretty great.

But you don’t need to click through different boards or run searches to see the most important project data on a single screen. You can rely on JIRA widgets.

JIRA dashboards are built out of “gadgets” (widgets). You can use these to find project information quickly:

  1. Filter Results Gadget runs a saved JQL query (your custom search). For example, it can show you all open backend bugs with high priority, so you can instantly see a list of the tickets you actually care about, instead of the entire backlog.
  2. Created vs. Resolved Chart compares the number of issues created over time with the number of issues resolved. For example, if your team is creating 15 new bug tickets per week but only resolving 10, the chart shows this gap.
  3. Sprint Health Gadget shows metrics like completed vs. remaining work in the current sprint. For example, halfway through the sprint, you can quickly see if you’re on track or behind, to avoid surprises on sprint demo day.

These gadgets are great. But if you really want to be even more efficient, you can use the JIRA REST API to pull raw issue data into Python. Here’s how:

1. JIRA has a REST API that exposes almost everything you see in the UI (issues, sprints, boards, users, etc.). You can hit endpoints like so, and it will return JSON with issue details:

GET https://yourcompany.atlassian.net/rest/api/3/search?jql=project=PYTHONAPP

2. In Python, you can use a helper library like atlassian-python-api or jira:

from atlassian import Jira

jira = Jira(
url="https://yourcompany.atlassian.net",
username="[email protected]",
password="your_api_token"
)

# JQL query: all resolved backend API bugs
issues = jira.jql(
'project = PYTHONAPP AND labels = api AND status = Done'
)["issues"]

3. And now you have Python lists with all the raw ticket data (like creation date, resolution date, assignee, etc.).

4. Once you’ve got the raw data, you can process it like any other dataset. For example, compute bug resolution time = resolved_date - created_date for each issue.

5. You can put that into a list or Pandas DataFrame to get a dataset of tickets and resolution time:

import pandas as pd

data = []
for issue in issues:
created = pd.to_datetime(issue["fields"]["created"])
resolved = pd.to_datetime(issue["fields"]["resolutiondate"])
resolution_time = (resolved - created).days
data.append({
"key": issue["key"],
"assignee": issue["fields"]["assignee"]["displayName"],
"resolution_time": resolution_time
})

df = pd.DataFrame(data)

By pulling JIRA data into Python, you can dig into the exact questions your team cares about, like comparing resolution speed between API and frontend bugs, tracking whether fixes are getting faster each sprint, or spotting which subsystem drains the most hours.

Since it’s all in Python, you can also get the data and the numbers, build charts, and even post insights to Slack on a schedule, so your team can check out all the reports.

Optimize Agile Boards for Python Projects

If your JIRA boards look cluttered and slow, it’s probably because they’re not optimized for your workflow.

Here’s how you can tune them:

  • Allow columns to reflect stages. Don’t clutter your board with 10 statuses. Stick to the stages that actually reflect your workflow, like Backlog, In Progress, Code Review, QA, Done; all the usual stuff. This keeps the board readable and makes it obvious where work is stuck.
  • Use color coding so you can see important tickets immediately. For example, label high-priority bugs in red, new features in blue, and technical debt in yellow.
  • Break down your board horizontally by epic, assignee, or sprint. This helps you instantly see who’s overloaded.

track time in jira

Track Time in JIRA With Memtime

Time tracking can be a pain, but it’s also one of the easiest ways to stay productive and improve your project planning.

A smart way to track time is using Memtime, a time tracker that connects with JIRA.

Here’s why Memtime is a game-changer:

  • There’s minimal setup.
  • It integrates fully with JIRA.
  • You have full control over what time entries you export to JIRA.
  • The activity data captured by Memtime is stored locally on your device.
  • It runs in the background and records your activity, without you having to start or stop timers.

It’s so easy to install Memtime, link it to a JIRA project, and set up a quick workflow that automatically logs time when tickets are updated.

Use Keyboard Shortcuts

JIRA has dozens of keyboard shortcuts you’ve probably forgotten to use (or never used).

Some of the favorites are:

  • “gg” for jumping to any issue instantly.
  • “c” for creating a new issue.
  • “/” for jumping to search.
  • “.” for opening a command palette.

Conclusion

Try viewing JIRA as a productivity platform. It’s truly so much more than a ticket tracker.

Your job is to stop clicking aimlessly in it and start hacking your workflow. After all, JIRA should work for you and not the other way around.

So go ahead, make these power moves, and watch your productivity increase.