Confluence has been updated to version 6.15.9

This article describes a Trigger concept in Exalate.

You can start issue synchronization automatically according to a specified search query with the help of a trigger.

If the issue fits a search query it is triggered for synchronization automatically. Once someone updates the issue which is under sync the changes are synchronized automatically.

Example

Every issue tracker has its own search query language. Since Exalate supports different issue trackers the search syntax may vary. 

Jira JQL query

When you create an issue in project BLUE with label sync, that issue will start synchronization automatically. 

Also, the same trigger will start the synchronization if any issue in project BLUE has been updated with label sync. 

Sync issues in project Blue with label 'sync'
project = BLUE AND labels = sync

GitHub search query

Exalate app for GitHub uses GitHub advanced search syntax to filter issues in the trigger.

Sync issues in status 'open' with label 'bug'
is:issue is:open label:bug

ServiceNow search query

Exalate app for ServiceNow uses ServiceNow search syntax to filter incidents in the trigger. 

Sync incidents with urgency 1 - High
urgency=1

Azure DevOps search query

Triggers use a WIQL (Work Item Query Language) to search Azure DevOps work items. Use the Work Item Query Language Syntax to create a search query.

You only need the conditions found in the WHERE clause of the WIQL to filter the work items. Check the example below:

Sync all the work items with type 'Task'
[Work Item Type] = 'Task'

For more examples check this page.

HP ALM/QC search query

Sync only defects which have user field 03 not empty and the status 'New' or 'Open'
user-03[<>''];status[New or Open]

Zendesk search query

Exalate app for Zendesk uses Zendesk search syntax for the filter query. Below you can see an example: 

Sync issues of type Ticket with status 'Open'
type:ticket status:open

Salesforce search query

Exalate app for Salesforce uses Salesforce Object Query Language to filter objects in a trigger.

You only need the conditions found in the WHERE clause of the SOQL for the trigger. The entity type should be selected from the list before specifying the search query. Check the example below:

Sync Opportunity with stage 'Prospecting' and Order Number '123'
StageName= 'Prospecting' AND OrderNumber__c = '123'


(warning) LIMITATION! Currently, it is not possible to create a trigger using a query with text area fields. Textarea fields contain text that can be longer than 4000 bytes. Unlike string fields, textarea fields cannot be specified in the WHERE clause of a queryString of a query() call. More information on the limitation.

How to create a trigger?

How to create a trigger
To configure the trigger, please follow the steps:

  1. Navigate to the Triggers tab in the Exalate admin menu 


  2. Click Create Trigger


  3. Select the type of entity you want to synchronize. 

    If you want to synchronize multiple entities, create separate triggers for every entity type.

  4. In the If field, enter the desired filter to decide which issues will get automatically synced to the other side. 

    Use the platform search syntax to specify the filter query. 

         

3. Select the Connection you want to sync with in Then sync with connection list.

4. Optionally, input information to keep a reference for the trigger in the Notes field.

6. Enable the toggle to activate the trigger. In case the toggle is disabled, the trigger won't work.

7. Create trigger.


  • To start the synchronization you need to Bulk Exalate on the trigger. It helps to synchronize all issues that fit trigger search query. Check how to bulk Exalate issues.


  • To stop the synchronization you need to Bulk Unexalate on the trigger. It helps to stop the synchronization of all issues that fit trigger search query. Check how to bulk Exalate issues.

What if the connection used for a trigger has been disabled?

Whenever a connection used in a particular trigger is disabled, Exalate will still collect all the changes which are related to issues that are under sync using that connection.

The changes will be queued as sync requests. Once the connection is reenabled, sync transactions can continue from the point where they have been paused.

What if the trigger has been disabled?

Disabling the trigger makes Exalate ignore the create/update events for the issue that is matching the query.


Back to General Exalate concepts