Jira Connector Examples
The ZappySys API Driver is a user-friendly interface designed to facilitate the seamless integration of various applications with the Jira API. With its intuitive design and robust functionality, the ZappySys API Driver simplifies the process of configuring specific API endpoints to efficiently read or write data from Jira.
On this page you will find some SQL examples which can be used for API ODBC Driver or Data Gateway API Connector.
List issues [Read more...]
Lists all issues
SELECT * FROM Issues
List a single issue by Id [Read more...]
select * from Issues Where Id=10001
List a single issue by Key [Read more...]
List a single issue by Key or Numeric Id.
SELECT * FROM Issues WITH(Key='CS-1')
List multiple issues by Id or Key [Read more...]
List multiple issues by comma separated Key(s) or Numeric Id(s).
SELECT * FROM Issues WITH(Key='CS-1, CS-2, 10003, 10004')
List all issues for a specific project [Read more...]
List all issues for a specified project code.
SELECT * FROM Issues WITH(Project='CS')
Search issues using Advanced JQL query expression [Read more...]
List issues using JQL query expression
SELECT * FROM Issues WITH (Jql='status IN (Done, Closed) AND created > -5d' )
/*
Useful links:
https://support.atlassian.com/jira-work-management/docs/jql-fields/
https://www.atlassian.com/software/jira/guides/jql/tutorials#advanced-search
https://www.atlassian.com/blog/jira/jql-the-most-flexible-way-to-search-jira-14
Other Possible JQL expressions:
Ids (IN): key IN(10001, 10002, 10003);
Keys (IN): key IN(CS-1, CS-2, CS-3);
Projects (IN): project IN(PROJ1, PROJ2, PROJ3);
Status (EQUAL): status='Done';
Date (Expression 1): created >=-5d;
Date (Expression 2): created >=startOfMonth() AND created <=now();
Date (Expression 3): created >=startOfYear() AND created <=startOfDay();
Date (Static): created >= 2008/12/31;
Date (Static with time): created >= 2008/12/31 23:59;
Project and Status (AND + IN): project=CS AND status NOT IN ('Done', 'Open', 'Closed');
Assignee and Created Date: assignee is NOT EMPTY and created < -1d;
Text (Contains - Fuzzy): Summary ~ 'some words' OR description ~ 'some words';
Text (Contains - Fuzzy Wildcard): Summary ~ 'some*' OR description ~ 'some*';
Text (Contains - Exact): Summary ~ '\"exact words\"' OR description ~ '\"exact words\"';
Text (Does Not Contain - Fuzzy): Summary !~ 'some words' OR description !~ 'some words';
Empty OR Null: fixVersion is empty OR fixVersion is null;
Is Not Empty OR Is Not Null: fixVersion is not empty OR fixVersion is not null;
WAS Operator (previous value): status WAS "Resolved" BY (jsmith,srogen) BEFORE "2019/02/02";
WAS IN Operator: status WAS IN ("Resolved", "In Progress");
WAS NOT IN Operator: status WAS NOT IN ("Resolved", "In Progress");
WAS + BY + DURING (date range): status WAS "Resolved" BY (jsmith,srogen) DURING("2019/02/02", "2020/02/02");
CHANGED operator: assignee CHANGED;
CHANGED operator (multiple): status CHANGED FROM "In Progress" TO "Open"
*/
INSERT Issue [Read more...]
Inserts a single issue to a particular project
INSERT INTO Issues(ProjectKey, IssueTypeName, Summary, Description)
VALUES('SMP', 'Task', 'My ticket inserted through the API', 'A description about an issue')
WITH (Output=1)
UPDATE Issue [Read more...]
Updates an issue
UPDATE Issues
SET Summary = 'This is my summary'
,Description = 'Lot''s of stuff to describe'
,Labels = '[ "bugfix" ]'
,DueDate = '2029-10-10'
--WHERE Id=1234
--WHERE Id='ISSKEY'
WITH (
IssueIdOrKey='ISSKEY', --or use Id in where clause
Output=1,
NotifyUsers=0,
OverrideScreenSecurity=0,
OverrideEditableFlag=0,
ContinueOn404Error=0
)'
UPDATE / Insert Issue with Custom Fields [Read more...]
Updates or Insert an issue with custom fields of various types (dropdown, radio, textarea .. so on)
UPDATE Issues
SET customfield_10050='[{"value":"AAA"},{"value":"BBB"}]' --CUSTOM Checkboxes (Must use Raw JSON)
,customfield_10051='2020-12-31' --CUSTOM Date
,customfield_10052='2020-12-31T23:59:59' --CUSTOM DateTime
--Custom Dropdown / Radio fields
,customfield_10048_value='BBB' --CUSTOM Dropdown (Using value - i.e. item label)
--OR--
--,customfield_10048_id='10022' --CUSTOM Dropdown (Using id - i.e. item id)
--OR
--,customfield_10048='{"value":"BBB"}' --CUSTOM Dropdown (Using Raw value)
,customfield_10053='["bugfix","test"]' --CUSTOM Labels (Must use Raw JSON)
,customfield_10057='[{"value":"AAA"},{"value":"BBB"}]' --CUSTOM Listbox Multiselect (Must use Raw JSON)
,customfield_10049=123455555.123 --CUSTOM Number
,customfield_10054_text='Long string...line-1
Long string... line-2
Long string... line-3' --CUSTOM Paragraph
,customfield_10055_value='BBB' --CUSTOM Radio
--OR
--,customfield_10055_id='10023' --CUSTOM Radio
,customfield_10058='https://zappysys.com' --CUSTOM Url
,customfield_10059='{"accountId":"5dd64082af96bc0efbe55103","displayName":"System"}' --CUSTOM User --accountId=5dd64082af96bc0efbe55103
,customfield_10060='Custom text single line' --CUSTOM text single line
--WHERE Id=10000
WITH (
IssueIdOrKey='ISSKEY', --or use Id in where clause
Output=1,
NotifyUsers=0,
OverrideScreenSecurity=0,
OverrideEditableFlag=0,
ContinueOn404Error=0
)
--For INSERT use same values with same fields like below. For Insert you do not have to specify Id or Key
--INSERT INTO Issues(ProjectKey, IssueTypeName, Summary, Description, customfield_10050,....., customfield_10060)
--VALUES ('SMP', 'Task', 'My ticket inserted through the API', 'A description about an issue', '[{"value":"AAA"},{"value":"BBB"}]' ,... 'Custom text single line')
'
UPDATE multiple Issues matching with JQL search query [Read more...]
Updates multiple issues which match with certain condition (JQL). Adding Where 1=1 or some other WHERE condition invokes Lookup endpoint (refer to other example to learn about JQL - see Search issues using Advanced JQL query expression)
UPDATE Issues
SET Summary = 'This is done on <<fun_now>>'
Where 1=1
WITH (jql='status=done' , ContinueOn404Error=0)
--WITH (jql='key in(10001, 10002, 10003)' , ContinueOn404Error=0)
--WITH (jql='key in(CS-1, CS-2, CS-3)', ContinueOn404Error=0)
DELETE Issue [Read more...]
Deletes a single issue
DELETE FROM Issues
WITH (IssueIdOrKey='10020', OUTPUT=1, ContinueOn404Error=0)
DELETE multiple Issues matching with JQL search query [Read more...]
Delete multiple issues which match with certain condition (JQL). Adding Where 1=1 or some other WHERE condition invokes Lookup endpoint (refer to other example to learn about JQL - see Search issues using Advanced JQL query expression)
DELETE FROM Issues
Where 1=1
WITH (jql='status=done' , ContinueOn404Error=0)
--WITH (jql='key in(10001, 10002, 10003)' , ContinueOn404Error=0)
--WITH (jql='key in(CS-1, CS-2, CS-3)', ContinueOn404Error=0)
List comments for all issues [Read more...]
List comments for all issues
SELECT * FROM Comments
List comments for a specific issue Issue Key or Id [Read more...]
List comments for a specific issue
SELECT * FROM Comments Where IssueId=10003 --OR WITH(Key='10003')
List comments for a specific issue by Key [Read more...]
List comments for a specific issue by key
SELECT * FROM Comments WITH(Key='CS-1')
List comments for issues (search by JQL) [Read more...]
List all comments for issues returned from a JQL search expression (refer to previous example to learn about JQL - see Search issues using Advanced JQL query expression)
SELECT * FROM Comments WITH (Jql='status IN (Done, Closed) AND created > -5d' )
List fields [Read more...]
Lists all fields that are used and available in issue entity
SELECT * FROM Fields
List projects [Read more...]
Lists all available projects
SELECT * FROM Projects
List worklog entries for a specific issue by Id or Key [Read more...]
List all worklog entries for a specific issue
SELECT * FROM Worklogs Where IssueId=10003 --WITH(Key='10003')
List worklogs for issues (search by JQL) [Read more...]
List all worklogs (time entries) for issues returned from a JQL search expression (refer to previous example to learn about JQL - see Search issues using Advanced JQL query expression)
SELECT * FROM Worklogs WITH (Jql='status IN (Done, Closed) AND created > -5d' )
INSERT Project [Read more...]
Inserts a single project
INSERT INTO Projects(ProjectKey, Name, ProjectTypeKey, LeadAccountId, AssigneeType)
VALUES ('TEST', 'Test Project', 'software', '70122:XXXXXXXX-XXXX-XXXX-XXXX-c5da8c98b9e2', 'PROJECT_LEAD)
WITH (Output=1)')
UPDATE Project [Read more...]
Updates a single project
UPDATE Projects
SET Name = 'My Test Kanban Project'
,ProjectCategoryId = 1
WITH (ProjectIdOrKey = 'MYPRJCT', Output=1, ContinueOn404Error=0)
DELETE Project [Read more...]
Deletes a single project
DELETE FROM Projects
WITH (ProjectIdOrKey = '10020', Output=1, ContinueOn404Error=0)
List users [Read more...]
Lists all available users
SELECT * FROM Users
INSERT User [Read more...]
Inserts a single user
INSERT INTO Users(EmailAddress, DisplayName, Name, Password)
VALUES ('my@user.com', 'John Doe', 'John', 'xhedkspstdadaothoua')
WITH (OUTPUT=1)
DELETE User [Read more...]
Deletes a single user
DELETE FROM Users
WITH (OUTPUT=1, accountId = '547059:136095a0-XXXX-XXXX-XXXX-3e4c66f26551', ContinueOn404Error=0)
List worklogs [Read more...]
Lists all worklogs from all issues
SELECT * FROM Worklogs
INSERT Worklog [Read more...]
Inserts a single worklog to a particular issue
INSERT INTO Worklogs(TimeSpentInSeconds, Comment, StartedAt)
VALUES(7200,'My Comment!','2020-02-23T16:20:30.123+0000')
WITH (IssueIdOrKey='ISSKEY-1', OUTPUT=1)
UPDATE Worklog [Read more...]
Updates a worklog
UPDATE Worklogs
SET TimeSpentInSeconds = 28800
,Comment='My Comment!'
,StartedAt='2020-01-23T16:20:30.123+0000'
WITH (IssueIdOrKey='MTK-1', WorklogId='123465', OUTPUT=1, ContinueOn404Error=0)
DELETE Worklog [Read more...]
Deletes a single worklog of an issue
DELETE FROM Worklogs
WITH (IssueIdOrKey='10020', WorklogId='123465', OUTPUT=1, ContinueOn404Error=0)
Update Custom Option Field (Dropdown/Radio) [Read more...]
This example shows how to update a custom field of an issue by Option Value or Id (Of option entry item)
--(By value)
UPDATE Issues
SET customfield_10048_value ='BBB' --supply value (label) of dropdown/radio
WITH (IssueIdOrKey='10020')
--OR-- (By item ID)
UPDATE Issues
SET customfield_10048_id =10023 --supply id of dropdown/radio item
WITH (IssueIdOrKey='10020')
--OR-- (Raw id)
UPDATE Issues
SET customfield_10048='{"id":"10023"}' --supply raw json
WITH (IssueIdOrKey='10020')
--OR-- (Raw value)
UPDATE Issues
SET customfield_10048='{"value":"BBB"}' --supply raw json
WITH (IssueIdOrKey='10020')
--OR-- (set null)
UPDATE Issues
SET customfield_10048 =null
WITH (IssueIdOrKey='10020')
Update Custom Multi Select / User / Team fields (RAW Json Update) [Read more...]
This example shows how to update a custom field of type array or other complex fiels like user
UPDATE Issues
SET customfield_10048='[{"value":"AAA"}, {"value":"CCC"}]' --supply raw json
WITH (IssueIdOrKey='10020')
--OR--
UPDATE Issues
SET customfield_10048 =null --set to null
WITH (IssueIdOrKey='10020')
Getting Started with Examples
ZappySys API Driver is a powerful software solution designed to facilitate the extraction and integration of data from a wide range of sources through APIs. Its intuitive design and extensive feature set make it an essential asset for any organization dealing with complex data integration tasks.
To get started with examples using ZappySys API Driver, please click on the following applications:
Key features of the ZappySys API Driver include:
The API ODBC driver facilitates the reading and writing of data from numerous popular online services (refer to the complete list here) using familiar SQL language without learning complexity of REST API calls. The driver allows querying nested structure and output as a flat table. You can also create your own ODBC / Data Gateway API connector file and use it with this driver.
Intuitive Configuration: The interface is designed to be user-friendly, enabling users to easily set up the specific API endpoints within Jira without requiring extensive technical expertise or programming knowledge.
Customizable Endpoint Setup: Users can conveniently configure the API endpoint settings, including the HTTP request method, endpoint URL, and any necessary parameters, to precisely target the desired data within Jira.
Data Manipulation Capabilities: The ZappySys API Driver allows for seamless data retrieval and writing, enabling users to fetch data from Jira and perform various data manipulation operations as needed, all through an intuitive and straightforward interface.
Secure Authentication Integration: The driver provides secure authentication integration, allowing users to securely connect to the Jira API by inputting the necessary authentication credentials, such as API tokens or other authentication keys.
Error Handling Support: The interface is equipped with comprehensive error handling support, ensuring that any errors or exceptions encountered during the data retrieval or writing process are efficiently managed and appropriately communicated to users for prompt resolution.
Data Visualization and Reporting: The ZappySys API Driver facilitates the seamless processing and presentation of the retrieved data from Jira, enabling users to generate comprehensive reports and visualizations for further analysis and decision-making purposes.
Overall, the ZappySys API Driver serves as a powerful tool for streamlining the integration of applications with Jira, providing users with a convenient and efficient way to access and manage data, all through a user-friendly and intuitive interface.