This article was written by Francis Martens, co-founder of iDalko. iDalko is a Platinum Atlassian Solution Partner & a Tempo Partner based in Belgium, France and Ukraine. iDalko is also the developer of the issue tracker synchronization tool Exalate and the Table Grid for Jira.
Synchronizing worklog information between a Jira instance which uses Tempo Timesheets in the cloud and any other Jira instance is a challenge. Tempo Timesheets Cloud hosts all timesheet related data in a separate server, and accessing it requires a completely different approach than when synchronizing the worklog information managed by Jira.
This blog introduces the concept of Exalate Modules, which adds extensibility to the product. With these modules, it will be easy to minimize the details of advanced system interactions and simplify the integration into synchronization.
Why would you want to sync worklogs anyway?
If you’re working with subcontractors, have tight ongoing collaborations with another company, or are in a situation where you work with other Jira instances, odds are that you may need to synchronize issues to streamline communication.
If you don’t know about Jira to Jira synchronization, I explain everything you need to know here.
For example, Jimmy is subcontracting a team of engineers for a data analytics algorithm. The team of subcontractors prefers to use default Jira tools to track their time while Jimmy uses Tempo Timesheets to keep track of the total time spent on day to day basis.
More specifically, you might be interested in syncing your worklogs between instances to have accurate and updated time tracking information. Some use cases could be:
- Overseeing what all teams are up to, with enough transparency to fuel communications both internally and with clients
- Seeing the time spent on certain issues/projects/sprints/new releases for better decision-making
- Having data for billing & invoicing and metrics that matter
Sounds easy, what’s the catch?
When synchronizing information, you need to retrieve data from the underlying systems. In the case of the combination of Jira Cloud with Tempo Timesheets, two different systems need to be accessed.
Instead of all data being hosted on a single server in your organization, the data will be hosted in separate cloud servers at different locations. Jira is hosted on the Atlassian servers, and Tempo is hosted on the Tempo servers.
We represented that in the following visual:
Note that each symbol in the diagram above represents a separate cloud. Under normal circumstances, you’d need to MacGyver your way out of this one.
We’re talking: a nice budget to write hundreds of lines of code, continually testing your system to ensure no issues occur between synchronizations, and updating your DIY system every time Tempo (or Jira) updates their API.
In brief, the way Jira and Tempo data are stored (in their own respective clouds) makes it tricky to extract the data and have it communicate between instances.
You can read more on the topic here.
Stop Coding your DIY, we solved it already!
We created Exalate to address synchronization between issue trackers - such as Jira
Exalate enables you to synchronize tasks, issues, tickets, and more in Jira - automatically and in any direction. Its out-of-the-box functionality makes it easy to synchronize issues between teams with different workflows.
Going back to the case of syncing tracked time between two Jira cloud instances - one which uses default worklogs, and one which uses Tempo worklogs - Exalate syncs your data and lets instances communicate between each other.
With Exalate’s Tempo Timesheets Module, you can:
- Grab all relevant info from the subcontractor's environment
- Apply the worklog data on the Tempo Timesheets cloud
The best part is that Tempo based worklog information can also be synced with any other connected system (such as a Jira Server using Tempo), or even between Jira Cloud and Zendesk. In other words, there are many more scenarios where this would work. You can have a deeper dive at different scenarios here.
Exalate has some pre-packaged scripts called Exalate Modules to simplify the integration of advanced systems. More technical information may be found here.
Note that using Exalate would not require the user to accommodate different workflows; that is easily done by the module.
With one line of code, you may now create a simple bridge between these Cloud instances and allow for seamless communication.
Beyond data synchronization
Congratulations, in the span of five minutes you’ve found a solution to your synchronization problems. A solution that won’t require hundreds of lines of codes, an intern to constantly refill coffee for your coding team, or a lot of trouble every time something changes.
We’ve also looked at some use cases in which syncing time related data would be advantageous, and a solution to achieve proper communication between different Jira instances.
But wait, there's more!
More Exalate modules are coming soon! Soon we’ll have awesome use cases for other popular apps:
- Insight Asset Management from our favourite Vikings, Riada
- Nfeed from our friends at Valiantys
- Big Picture from the minds at SoftwarePlant
Today, we only looked at a specific use case for Tempo Timesheets, but Exalate can do much more! This includes:
- Syncing worklogs between multiple Jira instances that all use Tempo Timesheets
- Collaborating with external teams and subcontractors who have their own Jira projects and unique workflows
- Collaborating locally between various projects
- Communicating between a Jira help desk clerk and a developer to enhance the cooperation between support and development
- And much more
To learn more about how Exalate can benefit your organization, visit us at exalate.com