JQL Custom Charts

Overview

Teams have their key insights for their Jira Software projects, agents need specific answers to be solved for their Jira Service Management queues, and so on. You could name more examples where a user needs to perform a different query to search in Jira for relevant information. That’s why the Jira Query Language (JQL) was built for. It’s a powerful search based on clauses (field + operator + value) to return a list of issues, which for the sake of reuse, can be saved as filters

This gadget displays the result of a JQL query or an existing filter, as a table or a chart. Select a predefined filter or a custom JQL Select filter or custom JQL, then indicate how you want to display the results View Type, the Columns you want to display in your report in case of a table (drag and drop to change the order), and performing grouping and aggregations (see next sections for further information).

For example, to list all the issues in the “Teams in Space” project (project = “TIS”) and still pending to do (status = "TO DO") sorted by CreationDate in descending order (ORDER BY created DESC) you’ll type the following JQL query

project = "TIS" AND status = "TO DO" ORDER BY created DESC

Get started with JQL or have a look at the Advanced Search to master queries in Jira

You can select any of the following visual metaphors to represent the resulting data by the JQL in the View Type field: Table, line chart, tile chart, pie chart, bar chart, grouped bar chart, stacked bar chart, or multi-line chart.


View type: Table

View the results of your JQL query as a table, where you can select which columns are displayed.

Calculated columns

In this field, you find columns that are not natively available in Jira as fields:

Customer Portal

This column provides a link for the referred issue to the corresponding Customer Portal link for users of the Customer Portal. This is useful when you share a dashboard with customers (see ) and want them to access the ticket.

Instead of

https://acme.atlassian.net/browse/ISM-12

this column would link to

https://acme.atlassian.net/servicedesk/customer/portal/1/ISM-12

Group results

Group results by selected columns If you are familiar with the GROUP BY statement in SQL, you’ll quickly find interesting uses to group the results of your JQL. If you select to group the results by the previously selected columns, the result rows will be split into groups, based on their values. Thus, only one row will be displayed for each of the groups, so be careful because this implies constraints on the columns.

For example, if we filter the previous list of issues by the column Status, the results will show only two rows, one for the status To Do and the other for the status Done.

If we select these three columns: Status, Assignee, and Project, the resulting list will display three rows like in the following image:

The grouping of columns is typically combined with aggregations, which moves us to the next section.

Aggregations

Aggregations are also common in the SQL domain. These functions get the values of grouped rows as the input of that function to return a calculated value. This gadget currently supports five functions:

  • Count. It returns the number of rows in that group.

  • Sum. It returns the addition of the sequence of the numbers of the group.

  • Min. It returns the smallest value of the range of values of the group.

  • Max. It returns the largest value of the range of values of the group.

  • Mean. The arithmetic mean, sums the values of the grouped rows and divides the result by how many rows are being averaged.

  • Show values (only in Tile charts). It displays the raw values of the returned range.

For example, if we want to calculate the mean of the story points


View type: 1D Pivot table

The 1D Pivot Table view shows a perspective on your data in a single dimension (1D) of your dataset. In other words, one level of grouping, expressed when you select the value for the Rows field.

Users can select a specific attribute or field to act as the basis for organizing and aggregating data. The resulting table presents a clear representation of the chosen dimension, summarizing key metrics and allowing for efficient analysis.

The elements of the 1D pivot table are as follows:

  • Rows (dimensions) The selected row represents the Jira field used for grouping.

  • Aggregation Aggregations get the values of grouped rows as the input of that function to return a calculated value. Check the aggregations section.

  • Field The displayed field values depend on the chosen aggregation type.

View type: 2D Pivot table

The 2D Pivot Table view introduces a second dimension (2D) to expand on the capabilities of the 1D Pivot Table. Select 2 different fields (rows and columns) to cross-tabulate data to analyze data across both dimensions simultaneously.

The elements of the 2D pivot table are as follows:

  • Rows (dimensions) The selected row represents the Jira field that is used for grouping.

  • Columns (dimensions) The selected column represents the Jira field that is used for grouping.

  • Aggregation Aggregations get the values of grouped rows as the input of that function to return a calculated value. Check the aggregations section.

  • Field The displayed field values depend on the chosen aggregation type.

View type: Chart

Remember that:

Chart by. Indicates the dimension or the x-axis values (horizontal axis), also referred to as the series, or in layman’s terms, the concepts we see in the legend of the chart.

Group by. The second dimension for grouped, stacked or multi charts.

Aggregation + field. The aggregation you want to apply to the field: count, sum, max, min, mean (see the aggregations section), to plot the values in the chart (y-axis or vertical axis).

Line chart

A line chart represents the results of your JQL query as a series of data points connected by a straight line. It’s common to visualize trends over periods or dates in the x-axis.

Multi line chart

This chart is a line chart with more than one line, which is useful when we need to compare data in a time series or trends.

Tile chart

This visual representation presents the information in a set of tiles. You can display the result of your JQL and apply aggregations. For example, you can display the number of requests of each request type of your Jira Service Management support desk, or display the sum of all the original estimates of the assigned issues, by assignee.

Bar chart

A bar chart represents the results of your JQL query as a series of rectangular bars with the height proportional to the represented values. It’s useful to compare results of different types or categories.

For example, Chart by assignee, type count, and field issues would display a chart where each assignee would display the number of assigned issues:

 

Grouped bar chart

We can perform more complex comparisons of the information returned by our JQL query by grouping by specific fields. In the previous example, we could add a Group by status, and we’d see the number of issues by assignee grouped by the issue status:

So for each category, in our case the Chart by assignee, there are two or more colored bars, whose labels can be seen at the top of the chart.

Stacked bar chart

Similar to the grouped bar chart, but in this case, the combined results of the groups are on top of each other. Thus, the height is the combined result, making it not appropriate for cases with negative values.

Pie chart

A pie chart is a visualization of your data in a circular graph, where each slice indicates the quantity of the result of your JQL. When a pie chart has several sections or slices, it’s difficult to compare one with another. To overcome this inconvenience, the pie chart comes with a table indicating the values of each slice and the % it represents.

When the field selected in “Chart by” has a date format e.g., Created, a new selector appears to allow grouping by day, week, month, quarter, or year, making the results easier to understand and communicate.

 

Multi pie chart

This chart adds one more dimension to the pie chart, so users can compare sets of information within a single chart. Just add a new field to the “Group By” to display the values in the second ring.

 

 

 

Area chart

An area chart is a visualization that represents the results of your JQL query as a series of data points connected by a straight line and filled with a colored area beneath it, which can help emphasize the magnitude of the values being represented. An area chart is often used to show trends over time or categories, as well as to compare multiple series of data.

 

Stacked area chart

A stacked area chart is a variation of the area chart where the areas are stacked on top of each other instead of being overlaid. Each stack represents a category or a group, and the height of the stack represents the total value of the group. It's useful for showing the relative contribution of each group to the total, as well as for tracking changes in the total over time. However, stacked area charts may not be suitable for displaying negative values, as they can become difficult to read.

 


Customizations

Custom colors

Colors have the power to communicate meaning, provoke emotions, and highlight information. Within our organizations and teams, it’s common to associate concepts with specific colors, making easier and quicker the communication of ideas and information.

Whenever you select a chart, you’ll be able to select the color of each specific segment or value of it:

The color picker allows the selection of color either by hexadecimal code, RGB, or our pre-defined 24-color palette (selected based on the right contrasts and tones).

Hide segments

Not all the results are needed when communicating information in a chart, sometimes because one of those values or segments distorts the results or deviates the attention.

Clicking on the eye icon, the corresponding segment is hidden (or shown) in the chart:

Reorder segments

In the same line of hiding segments or customizing the colors of our charts, rearranging the position of the existing segments or values reinforces the way we transmit the information with our charts.

Just drag and drop any segment or value from the six dots on the left side of the segments and move it upwards or downwards to the correct place, and the chart will be updated accordingly.

Normalized charts

Normalized charts adjust data for fair comparisons, ensuring that segments are proportionate relative to 100%, facilitating accurate insights across varying scales or sizes.

Cumulative charts

Cumulative charts show progress over time, revealing trends and cumulative totals effortlessly, illustrating the cumulative impact of actions or metrics over a period.

Linear trend line

Bar charts, stacked bar charts and stacked area charts allow adding a linear trend line. It provides insights into the overall trend of the data, helping in identifying patterns based on the trajectory of their metrics over time or segments.

 

Configuration

Name your gadget meaningfully, so everyone knows at a glance what it is about and when to use it. Fill out the rest of the fields as applicable, namely:

  • The data source, where the source Jira instance is installed.

  • The JQL (Jira Query Language) query or filter to filter the list of issues (see the JQL documentation). If you don’t add any and click “Load”, the gadget will request all the content in the source instance, this might cause performance issues. We recommend adding at least one clause, for example, to list all the issues of the project Teams in Space use the clause project = "TIS”. Remember that the gadget returns the query results, which are not fixed and could change over time.

  • The View Type parameter to indicate the visual representation of the JQL query results in a table, line chart, tile chart, pie chart, bar chart or area chart.

  • The Chart by parameter (just for charts) to select the x-axis value, in other words, what you see in the horizontal axis. These values or concepts are indicated in the chart legend.

  • The Type parameter (just for charts) to indicate what type of aggregation you want to apply to the field parameter: Count, sum, max, min, mean. Show values is only available for Tile charts. Check the aggregations section.

  • The Field parameter (just for charts) to select the y-axis values (vertical axis), think of what you want to count (or any other aggregation), and plot in the chart.

  • The columns (just for the table view) that will appear in the list to display the search results. At least one column has to be present. Drag and drop to reorder the columns.

  • Group results by selected columns (just for the table view) in case you want to group the results of the query by the previously selected columns. The resulting rows the result rows will be split into groups, based on their values. Check the group results section.

  • The aggregations (just for the table view) in case you need to perform calculations -Count, sum, max, min, mean- over the results. Check the aggregations section.

  • Indicate if you want to use the current settings for all the compatible gadgets in the dashboard. This option saves you from configuring each gadget individually.

Integrations

We are working on our growing catalog of and , but contact us you want us to expedite a specific one, visit our .

Dashboards

This gadget is not included in any pre-defined dashboard, check other orphan gadgets:

See also

 

Confluence®, Jira®, Atlassian Bamboo®, Bitbucket®, Fisheye®, and Atlassian Crucible® are registered trademarks of Atlassian®
Copyright © 2005 - 2024 Appfire | All rights reserved. Appfire™, the 'Apps for makers™' slogan and Bob Swift Atlassian Apps™ are all trademarks of Appfire Technologies, LLC.