Advanced settings

You can use eazyBI advanced settings to add support for additional Jira custom fields as well as change eazyBI reporting engine parameters.

It is recommended that you contact eazyBI support before changing advanced settings or test advanced settings at first in Jira test environment.

eazyBI advanced settings are defined using the TOML format.

On this page:

Additional custom fields

See the Advanced settings for custom fields page with a description of all advanced settings for custom fields.

Performance optimization and tuning

Increase query timeout

By default, there is 60 seconds query timeout after which report generated queries will be canceled. The purpose of this timeout is to avoid too long execution of too complex ad-hoc queries (when you join too many dimensions in rows or columns).

If you have reports that fail the query timeout error and you need help optimizing these reports, then please export and send the report definition to eazyBI support.

If you still would like to increase this timeout value then add the following to the advanced settings text area field:

[mondrian.rolap]
queryTimeout = 120

In this example, query timeout will be increased to 120 seconds.

You can increase the query timeout only if you are using the child process (which is recommended to reduce the impact of complex and long queries to the main Jira JVM process).

Increase concurrent report queries

The default number of max concurrent eazyBI report queries is 10 (before eazyBI version 3.1.0 the default was 30). If more MDX queries are made simultaneously, then new queries will wait until the previous will finish.

If you have a powerful server with many CPU cores and you would like to allow more concurrent MDX queries then you can increase max queries value in eazyBI advanced settings with:

[mondrian.rolap]
maxQueryThreads = 20

In this example, max value will be increased from 10 to 20. Or if you would like to reduce the number of concurrent MDX queries (to reduce the impact of slow queries on the overall Jira performance) then you can also reduce this setting.

You can increase the concurrent report queries only if you are using the child process.

Increase database max pool size

Each eazyBI processes, like displaying report results or performing the import, requires connection to the database. By default, eazyBI is allowed to use 20 concurrent connections to the database. If you see errors in log files like

ActiveRecord::ConnectionTimeoutError (could not obtain a database connection. The max pool size is currently 20; consider increasing it.)

Increase eazyBI connection pool size in eazyBI advanced settings, as for an example following settings will increase max pool size to 40

[database]
pool = 40

After saving advanced settings go to the Database connection tab and update there to change database connection pool size.

After updating advanced settings please disable and then re-enable eazyBI plugin from Jira administration Add-ons page.

Enable Mondrian to debug logging

If you would like to debug Mondrian MDX queries, that are generated by eazyBI or to see all executed SQL statements then you can enable Mondrian MDX and SQL logging with

[mondrian.log]
"mondrian" = "ERROR"
"mondrian.mdx" = "DEBUG"
"mondrian.sql" = "DEBUG"

You can see the Mondrian debug log in Jira home directory log/eazybi-mondrian.log file.

Enable Mondrian request profiling

Available from the eazyBI version 4.6.0.

If you want to investigate Mondrian MDX queries and executed SQL statements for individual reports, then you can enable Mondrian request profiling with

[mondrian.profiling]
enable = "system_admin"

You can specify which user role will be able to perform request profiling: system_admin (only Jira admins), owner (only account owners and system admins), report_admin (only account report admins and system admins), user (any user who can create reports).

Then, go to the Analyze tab and Enable profiling in the other report actions to drop down. After that, every next request execution will be profiled and you can view the last profiling result with Show profiling result.

Please send the report definition and profiling result to eazyBI support if you need help with report performance optimization.

Background job queues

There are several background job queues in eazyBI:

  • regular_import – for source application imports that are scheduled at a regular frequency.
  • application_import – for source application imports that are started manually.
  • file_import – for uploaded source file imports.
  • dashboard_email – sending emails for dashboard email subscriptions.

You can see the status of background job queues from eazyBI System administration / Background jobs page.

By default, one parallel background job can be executed in each queue. If you would like to increase the size of the queue, then specify size the setting for this queue, for example:

[job_queue.application_import]
size = 2

If you would like to limit that no background jobs are executed during some hours (e.g. during high load hours of Jira) then specify either disabled_hours or enabled_hours the setting, for example:

[job_queue.application_import]
disabled_hours = "9-18"

or

[job_queue.application_import]
enabled_hours = "0-9,18-24"

In both cases, manual data imports will not be done from 9:00 to 18:00 (using the Jira server time zone).

If you change disabled_hours or enabled_hours , then it will be checked every 10 minutes. If you change size  then you need to disable and re-enable the eazyBI plugin.

Set minimum regular import frequency

Available from the eazyBI version 4.7.0.

Too frequent source data imports can impact eazyBI and Jira performance. You can change the minimum allowed regular import frequency from the default 10 minutes to a larger time interval.

[source_application]
min_regular_import_frequency = "1 day"

This option will set the minimum allowed regular import frequency selection. The parameter will not override saved regular import frequencies.

If you would like to enable more frequent import options in some specific accounts, you can enable plan parameters for all accounts:

[admin]
account_plan_params = true

Then you can set another regular import frequency for some accounts. Open an account and select Edit account from the top navigation menu. Set import frequency in Plan parameters for this account:

min_regular_import_frequency = "1 hour"

Enable Import profiling logging

If you would like to monitor import process performance and see how much time takes each subprocess there, you could enable Import profiling.

[jira.profiling]
enable = true

You could see details how long import and each import subprocess run in Jira home directory log/eazybi-queues.log files.

Local REST API requests

If it is not possible to configure your Jira server to enable local REST API requests then these local REST API calls during Jira issues import can be disabled with

[local_rest_api]
disabled = true
Please take into account that some eazyBI features (like Jira Agile and Tempo Timesheets custom fields import) will not fully work when local REST API requests will be disabled.

 If it is necessary to use a different Jira base URL for local REST API requests (e.g. specify localhost and corresponding port number) then specify this local REST API base URL (available from eazyBI version 3.0.0):

[local_rest_api]
base_url = "http://localhost:8080"

Export to PDF using Google Chrome

See Export to the PDF documentation page.

Additional locales

System administrators can enable additional user interface languages (locales). Currently, French, German and Latvian locales are included in addition to the default English locale. The additional locales can be enabled with:

[locales]
available_locales = ["en", "fr", "de"]

When additional locales are added then users will be able to select a different language from the top navigation.

If you would like to change the default locale from English to a different language then add in the locales section, for example:

default_locale = "fr"

If you would like to help to maintain additional eazyBI user interface languages then please contact eazyBI support.


SSRF protection

Available from the eazyBI version 4.6.0.

SSRF (Server Side Request Forgery) protection allows preventing eazyBI REST API and SQL import from other hosts in the same local network where the Jira server is running. By default SSRF protection is disabled.

Enable SSRF protection with:

[ssrf_filter]
enable = true

If you would like to allow REST API import or SQL import access to some IP addresses in the same local network, then specify allowed_ip_addresses. In addition, you can specify restricted_ip_addresses to specify additional IP addresses (which are not in the local network) from which REST API import and SQL import should be restricted.

[ssrf_filter]
enable = true
allowed_ip_addresses = ["192.168.1.1", "192.168.8.1"]
restricted_ip_addresses = ["8.8.8.8", "8.8.4.4"]

Additional source applications

You can add authentication keys for Google SpreadsheetsHarvest, and FreshBooks source applications to enable data import from these sources. After adding authentication keys as described below these source applications will be available in Source Data tab when adding new source application.

If you need to add additional source applications in eazyBI for Jira Cloud, then add only the following advanced settings and list the additional application types, for example:

[source_application]
application_types = [
 "harvest", "highrise", "zendesk"
]

Google Spreadsheets

  • Create project (or use existing project) at https://console.developers.google.com.
  • In API section enable Drive API.
  • In Credentials section create a new Client ID for web application and
    • In Authorized JavaScript Origins enter your JIRA server Base URL
    • in Authorized Redirect URI enter JIRA_BASE_URL/plugins/servlet/eazybi/source_applications/auth/google_spreadsheets/callback (substitute JIRA_BASE_URL with your Jira server Base URL)
  • In eazyBI advanced settings specify Client ID and Client secret that were created by Google:
[source_application.google_spreadsheets]
client_id = "..."
client_secret = "..."

Harvest

  • In Harvest Account settings / Integrations click on OAuth2 Clients.
  • Create a new client and in Redirect URI enter JIRA_BASE_URL/plugins/servlet/eazybi/source_applications/auth (substitute JIRA_BASE_URL with your Jira server Base URL).
  • In eazyBI advanced settings specify Client ID and Client secret that was created by Harvest:
[source_application.harvest]
client_id = "..."
client_secret = "..."

Freshbooks

Available from the eazyBI version 4.6.0

  • Register as a FreshBooks OAuth consumer.
  • In eazyBI advanced settings specify the OAuth consumer key (the portion of your account domain before freshbooks.com) and the generated consumer secret:
[source_application.freshbooks]
consumer_key = "..."
consumer_secret = "..."

Zendesk

Available from the eazyBI version 4.6.0

In eazyBI advanced settings enable Zendesk source application:

[source_application.zendesk]