Meet the Account Search Family

Tempo Accounts are great to link issues to an external system and to group issues from multiple projects under a common entity. Until now, it has been difficult to utilize accounts outside of time reporting in JIRA with Tempo reports. The good news is that this is no longer the case with Tempo 7, which allows you to take your accounts to the next level with advanced search in JIRA using JQL.

Meet the Account Operators

We are supporting three operators to search for accounts in Tempo 7. All operators work on the account key that is set on the issues using the Account custom field.

The equals operator is for queries for a specific account. It allows you to ask “which issues do belong to the external expenses account for ACME?”.

Account = “EE-ACME-12”

Note that the key is of course something you control unless you have mapped Tempo keys with external financial system. This example assumes that all accounts are on the format {account category}-{customer-key}-{account number}. Having a good pattern for account keys is important to memorize and identify keys.

The IN operator makes it possible to query multiple accounts. This allows you to search for all issues for a certain customer or any other use cases that depend on multiple accounts. It is also very powerful to set up advanced reports in Tempo or if you like to work in KanBan mode on accounts using the Rapid Board in GreenHopper.

Account IN (“EE-ACME-12”, “IE-ACME-12”)

Lastly, we have the IS operator. Want to find issues that have no associated account? No problem. Just search for issues where

Account is EMPTY

If you need the negated result from the search then that is possible with the negation operators.

 Account != “EE-ACME-12”
Account NOT IN (“EE-ACME-12”, “IE-ACME-12”)
Account IS NOT EMPTY

Meet the Account Functions

The IN operator is very powerful but it can be difficult to enumerate every account that you need in your query. Specially if you have a lot of accounts. We are making this super-simple with four new JQL functions that work on accounts.

The accountsByCustomer() returns every account for a specific customer. With this function you can find all open issues for a specific customer, set up a Rapid View board in GreenHopper, or even create a custom filter based on several customers that can be used to generate custom reports in Tempo.

Account IN accountsByCustomer(“ACME”)

Similarly for account categories, accountsByCategory() enables you to segment issues on account category, such as “billed”, “invoiced”, “internal”, or whatever grouping of accounts you need.

Account IN accountsByCategory(“BILLED”)

For multi-project accounts, it is useful to get all accounts for specific projects. This is possible with the accountsByProject() function.

Account IN accountsByProject(“JTMPO”, “JRA”, “GHS”)

Finally, we also provide a convenient function for global accounts. Global accounts are accounts that are not related to specific projects and can be associated with any issue in JIRA.

Account IN globalAccounts()

Mix and Match

The real power comes when you add other JQL clauses to the mix. This helps you answer questions like:

  • How many issues are outstanding on LutherCorp?
  • How many hours did we spend last month that are not billed externally?
  • What are our employees working on in their 20% time?
  • Which project has most support requests from external customers?

Best Practices

Tempo Accounts give you a lot of power and with it comes some responsibility to admins so the system can be used as effectively as possible. Some things to consider when setting up accounts and using the search and account reports are:

  • JQL search only works on issue level. This means that it won’t work with accounts set at worklog level as a worklog attribute. If possible, prefer to set accounts on issues as the Account custom field over using the Account Worklog Attribute. Otherwise you won’t be able to use the account JQL search for time reporting purposes.
  • Global accounts do not perform as well as accounts assigned to projects. That is because global accounts require a larger initial query to find related issues and worklogs
  • The account JQL functions work on keys, not names. This means that you should carefully name the keys for accounts, customers, and categories. Think of them like project keys. Short descriptive keys are better than long numerical keys. Compare accountsByCustomer(“ACME”) to accountsByCustomer(“220001717”).

Want more flexibility?

We believe that the functions available in Tempo 7 solve most use cases for you. If you have a function that you think we should support, please tell us about it.

Subscribe to our blog

Get the inside scoop, previews, news and other fun stuff.

tempo laptop