Cloud & Engineering

Kris Barton

TimeKeeper: Using Azure Logic Apps to generate updates from Tempo in Jira

Posted by Kris Barton on 28 June 2019

Azure, Azure Functions, Logic Apps, automation, innovation, transparency, TimeKeeper

Two of the more consistent problems faced by service management professionals are transparency around billed hours and a lack of automation within this space. At Deloitte Operate, we leverage Jira Tempo to keep track of our clients’ billed hours and current utilisation levels. 

Currently, Jira Tempo lacks transparency as there is an inability for our customers to autonomously track their usage in a convenient and timely manner. This lack of transparency is problematic as it can lead to a whole host of consequent problems, namely, mistrust and soured customer relationships.

Moreover, Jira Tempo reports are a manual process; there is no automation in place. This lack of automation means that numerous internal resources are utilised to keep our clients informed of their current billed hours. Due to this widespread negative impact, our managers wished to improve the transparency and automation of our billed hours.

As a team of graduates in Azure Operate, we were presented with this problem and tasked with the opportunity to address and provide solution to it. Furthermore, it provided us with the potential to improve in an area which had been viewed as problematic for quite some years.

Our Proposed Solution

TimeKeeper was the overall solution, which we proposed for this ongoing problem.

TimeKeeper consists of two services:

  1. On Demand service, that emails the client live Jira timesheet usage information when requested. This information needed to reflect values that are updated every 24 hours. Additionally some clients require this service to be automated, usually for the middle and the end of the month. 
  2. Usage Alert service, that automatically generates a notification when the worklogs on a Jira project reaches 50%, 75% and 100% of their monthly Tempo account budget.


We utilised Azure's Logic App service to achieve this goal, as we identified it as cost effective and suitable for the task. Both solutions utilise email as the alert channel. Email was chosen, due to its accessibility and widespread use in the business world. The work flow of TimeKeeper is broken down below.

The On Demand service is demonstrated below via the orange workflow, with the blue workflow demonstrating the Usage Alert service. 

TimeKeeper Workflow The structure of each solution has a few key similarities, such as the initialising of the variables, Tempo API GET request and Function Apps used. The key differences is the different triggers, condition statements, report function and the use of the Image Charts API for the On Demand service.

  • The trigger used for the On Demand service is an email from pre-approved client emails, with a unique subject line.
  • In contrast for the Usage Alert service, the trigger is a recurrence trigger set for every 24 hours. 


Secondly, the condition statements are a distinguishing feature of the two different workflows.

  • For the On Demand service, condition statements are used solely to distinguish between three cases. The cases being 0% usage, 100>x>0% usage and 100% usage. Based on these cases, different emails would be sent.
  • In contrast, for the Usage Alert service, there are two main purposes for the condition statements. The first purpose is to ensure that the usage alert message, has not previously been sent for that limit. The second is to distinguish between the three cases. The cases being Billed Hour percentage >50%, >75% and 100%. Based on these cases, different emails will be sent.


Lastly, the two quite unique features of the On Demand service are:

  • The use of the Image Charts API, which is used to produce the usage graph.
  • The report function, which is used to order the billed hours in the report breakdown, which was utilised to make the report as readable and transparent as possible.


Our Product

The final product consists of the following email alerts that our clients can receive:


Figure 1. On Demand service, which includes the usage graph and breakdown report seen below. 



Figure 2. Usage Limit service, which also includes the day (s) remaining in the month, to improve visibility of usage.  


The current TimeKeeper solution addresses the clients requirements effectively through the combination of the usage service and on demand reporting. However, this is just the first iteration of the solution. Moving forward, the integration of a web app may provide a more aesthetically pleasing and functional interface for client interaction. Continuous improvement will be an area of focus as the customer experience evolves. 

The value of this service cannot be understated. TimeKeeper is an ideal solution for strengthening relationships between Jira support teams and our valued clients. Automation will lead to increased transparency and will have the added benefit of reducing the workload of internal resources. Consequently, our availability for clients will increase. Therefore, TimeKeeper will continue to foster the ever important relationship between Deloitte and its clients. 

Deloitte’s Azure Operate service delivers Service Desk, Monitoring, Incident/Problem Resolution, Request Fulfilment and Continual Service Improvement function to take the complexity out of maintaining, monitoring and enhancing integration solutions. Discover and see in more detail what we could unlock for your organisation. Have a conversation with one of our experts - CONTACT US.


If you like what you read, join our team as we seek to solve wicked problems within Complex Programs, Process Engineering, Integration, Cloud Platforms, DevOps & more!


Have a look at our opening positions in Deloitte. You can search and see which ones we have in Cloud & Engineering.


Have more enquiries? Reach out to our Talent Team directly and they will be able to support you best.

Leave a comment on this blog: