Triggers in Exalate enable you to start synchronization automatically.
How to Create a Trigger?
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.
Triggers in Jira
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.
Check the example of the Jira Query Language (JQL) trigger query below.
When you create an issue in project = BLUE with labels = sync issue will be synchronized automatically.
Also, the same trigger will start the synchronization if any issue in project BLUE has been updated with label sync.
project = BLUE AND labels = sync
Using saved filters
You can use JQL saved filters in trigger configuration. Please makes sure that the filter is shared with the proxy user.
Filters can be shared with other users via user groups, projects, and project roles. They can also be shared globally. Any filter that is shared is visible to users who have the Administer Jira global permission.
Use filter ID (filter = 10500) or name (filter = "My filter") to configure a trigger
Changes due to compliance with GDPR
JQL query containing user identifiers such as username, display name or email will stop working starting from 29th of March due to Atlassian compliance with GDPR.
Update your JQL query to use account IDs instead. Find more details in REST API migration guide and deprecation notice - userName and userKey. You can get the user account IDs with the help of JIRA Cloud REST API.
JQL with userNames
issuetype = Bug AND assignee in (mia) AND reporter in (alana) order by lastViewed DESC
JQL with account IDs
issuetype = Bug AND assignee in (abcde-
) AND reporter in (abc551-c4e99) order by lastViewed DESC
Triggers in Azure DevOps
Triggers use a WIQL (Work Item Query Language) or the Azure DevOps Search Syntax 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 some examples below:
Synchronize all work items with type 'Task' from a project 'ProjectName'
[Work Item Type] = 'Task' AND System.TeamProject = 'ProjectName'
Starting from Exalate for Azure DevOps version 5.4.0 make sure to indicate the project name as
System.TeamProject = 'ProjectName'
Sync work items from project 'BatCave' with type 'Task', assignee 'Bruce Wayne', and status 'Doing'
[Work Item Type] = 'Task' AND [Team Project] = 'BatCave' AND [System.AssignedTo] = 'Bruce Wayne' AND State = 'Doing' AND [Area Path] = 'BatCave\Operation' AND [System.Tags] Contains 'azure'
Sync all work items that have a custom field with the title 'MyCustomTextField' and value 'Sonic'
[Custom.MyCustomTextField] = ‘Sonic’
Sync all work items created 2 days ago
You can specify either the reference name or the friendly name. The following examples are valid WIQL syntax:
- Reference name with spaces:
- Friendly name with spaces:
Names without spaces don't require square brackets:
ID, Title, State
Triggers in GitHub
Use the GitHub advanced search syntax to specify the query. Make sure to specify the repo or org. If no repo is specified, the trigger will use the repo that was set during the creation of the connection.
Below you can see some examples:
Synchronize issues in status Open with label bug from the repo test
Synchronize pull requests in status Open
If the search query contains whitespaces you need to surround it with quotation marks. Check the example below:
Synchronize issues with a label bug fix
Synchronize pull requests in status in progress
is: "in progress"
Triggers in Zendesk
Use the Zendesk search syntax to specify the filter query. Below you can see an example
Zendesk search: sync issues of type ticket with status open
Sync tickets with ticket type INCIDENT and priority Urgent
Triggers in ServiceNow
Use the ServiceNow search syntax to specify the filter query. Below you can see an example
Servicenow search: sync incidents with urgency 1-High
Sync incidents that include "Test" in the description
Triggers in Salesforce
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.
In Salesforce you can select conditions to filter an object for synchronization. Depending on the entity type selected you will see different input fields.
Alternatively, you can enable search queries. Use Salesforce Object Query Language to specify the filter query.
Check out the following search query examples for Opportunity:
StageName= 'Prospecting' AND Name like '%demo%'
This search query defines the Opportunity stage as 'Prospecting' and an Opportunity name that partially matches the word 'demo'
This search query defines an Opportunity's exact name as 'demo opportunity' and its order number - 123
Triggers in HP ALM/QC
To specify the filter query, use the formatting allowed by the HP ALM REST API (check Filtering a Collection of Entities for more details):
Sync only defects that are in status Open
Sync only defects that have user field 03 not empty
Sync only test cases which are in status Repair
Sync only test cases in which ID is above one and the status is Ready or Design
id[>1]; status[Ready or Design]