This article describes main difference between the Exalate application for supported issue trackers. 

Major features are available for all supported platforms.  But some functionality might be restricted due to the underlying issue tracker API or the tracker functionality itself. 

Below you can find a detailed explanation in a comparison table. 

FeaturesJira ServerJira CloudHP QC/ALMGitHub

General

Licensing

more details

License is perpetual and the purchase price includes 12 months of maintenance (support and version updates).

  • Instance license: each instance requires a valid license to synchronize. Provided by the Atlassian marketplace.
  • Network license: only one side pays for the synchronization between instances. Provided by iDalko.


JIRA Сloud is monthly subscription-based license. Therefore you are automatically billed for apps together with host products.

  • Instance license: each instance requires a valid license to synchronize. Provided by the Atlassian marketplace.
  • Network license: only one side pays for the synchronization between instances. Provided by iDalko.
  • Instance license: each instance requires a valid license to synchronize. Provided by iDalko.
  • Instance license: each instance requires a valid license to synchronize. Provided by iDalko.
  • Network license: only one side pays for the synchronization between instances. Provided by iDalko.

Hosting and data storage

You host the app on your server.

JIRA server URL is also the Exalate URL once you install the app.

We are hosting the Exalate app for JIRA Cloud on our own servers.

It means that you have 2 separate servers: 

  • one with the JIRA Cloud instance itself
  • another one with the Exalate app on it. 

The Exalate app has its own Exalate URL, that is different from JIRA Cloud instance URL.

There is a possibility for connectivity delays between the JIRA Cloud and the Exalate app. The physical location of the servers that host the app and the instance might affect the connectivity performance.

You host the app on your server.

The Exalate app has its own URL, which is different from the your HP QC/ALM URL.

You have 2 separate items: 

  • GitHub account with repository itself
  • Exalate app for GitHub hosted on a separate server. 


The app has its own Exalate URL and it' is different from the GitHub repository URL. We host the app on our servers. It communicates with the GitHub repository.

Backups and updates

Since the app is hosted on your server,  you decide how often to update and backup data. 

The Exalate app is upgraded automatically.

Atlassian automatically detects updates to Atlassian Connect apps with a polling service and updates your app. More details about automatic updates.

We perform a back up every hour on the Exalate servers to avoid data loss.

If a customer unsubscribes from our Cloud app we mark stored Customer Data, for deletion. The data is deleted after 180 days at the latest if the customer does not re-subscribe. However, the customer can contact us to ask for an earlier deletion. 

Since the app is hosted on your server,  you decide how often to update and backup data. 

The Exalate app is upgraded automatically.

We perform a back up every hour on the Exalate servers to avoid data loss.

If a customer unsubscribes from our app we mark stored Customer Data, for deletion. The data is deleted after 180 days at the latest if the customer does not re-subscribe. However, the customer can contact us to ask for an earlier deletion. 

Monitoring

Monitoring could be done only by the JIRA server admin, since the app is hosted on the same server, where you host Jira instance.

Since the Exalate cloud app is hosted on our own servers, we do system health monitoring for the app.

Monitoring could be done only by server admin, since the app is hosted on your server. Since the Exalate app is hosted on our own servers, we do system health monitoring for the app.

Exalate specific

This block includes specific app configuration elements, that may differ depending on the underlying issue tracker

Connection type

Public

Local


Public


Public

Scope of the sync

Any issue within the instance, not limited to the specific project.

Any issue within the instance, not limited to the specific project.Limited to the project scopeThe scope of the Exalate connection is limited to a single repository with the GitHub user/company account used to installed the app

Exalate/Unexalate buttons

(plus)(plus)(minus)(minus)

Sync panel

(plus)(plus)(minus)(minus)

Error flags

(plus)(plus)(minus)(minus) to be more specific: Github error flags (from the console there are error flags)

Exalate administrators

(warning) You can configure a separate user group called exalate-administrators in Jira user management.

(plus)(plus)(plus)

Attachments sync

(plus)(plus)(plus)(warning) attachment can be added only as a part of comment, on Jira you 'll get the URL of the image only. The image is not displayed inside a Jira comment when syncing

Issue links sync

(plus)(plus)(minus)(warning) GitHub allows to add issue links only as a part of a comment.

WorkLogs

(plus)(plus)(minus)(minus)

Workflows and status sync

Jira Server API helps to get all transitions global and static

API allows to get only global transitions

To get the static transitions, Jira Cloud REST API requires authentication as a current user. We're not able to perform such request since we do not use user credentials

You can assign a status to a defect with the node helperYou can assign a status to an issue with the node helper

Ways to starts issue sync

  • Exalate button
  • API
  • Trigger
  • Post function
  • Exalate button
  • API
  • Trigger
  • Post function


  • API
  • Trigger


  • API
  • Trigger


How Exalate gets issue change data

Exalate subscribes on the issue events to get issue changesExalate subscribes on the issue events to get issue changesExalate polls the issue tracker to get the data

Exalate subscribes on the webhooks to get issue changes

Scripting

Most of the functionality provided in the app is available for all supported platforms,  but there are limitations caused by the API for different issue trackers.

The app architecture is different for every platform. It affects advanced scripting, which would be different depending on the platform.

Below you can see a list of the most common differences in Groovy scripting

API

REST API REST API (depends on the HP QC/ALM version)REST API

JAVA version

depends on your Jira versionis determined by iDalko, since we host the app on our own serversdepends on the JAVA version, installed on the server, where you have Exalate app runningis determined by iDalko, since we host the app on our own servers

helper methods

script helpers