<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>odbc json driver Archives | ZappySys Blog</title>
	<atom:link href="https://zappysys.com/blog/tag/odbc-json-driver/feed/" rel="self" type="application/rss+xml" />
	<link>https://zappysys.com/blog/tag/odbc-json-driver/</link>
	<description>SSIS / ODBC Drivers / API Connectors for JSON, XML, Azure, Amazon AWS, Salesforce, MongoDB and more</description>
	<lastBuildDate>Wed, 19 Mar 2025 12:46:26 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.4.4</generator>

<image>
	<url>https://zappysys.com/blog/wp-content/uploads/2023/01/cropped-zappysys-symbol-large-32x32.png</url>
	<title>odbc json driver Archives | ZappySys Blog</title>
	<link>https://zappysys.com/blog/tag/odbc-json-driver/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Read data from QuickBooks Online into SQL Server via ODBC Driver</title>
		<link>https://zappysys.com/blog/read-data-from-quickbooks-online-to-sql-server/</link>
		
		<dc:creator><![CDATA[ZappySys]]></dc:creator>
		<pubDate>Wed, 23 Jan 2019 12:12:20 +0000</pubDate>
				<category><![CDATA[JSON File / REST API Driver]]></category>
		<category><![CDATA[REST API Integration]]></category>
		<category><![CDATA[T-SQL (SQL Server)]]></category>
		<category><![CDATA[json driver]]></category>
		<category><![CDATA[oauth]]></category>
		<category><![CDATA[oauth2]]></category>
		<category><![CDATA[odbc]]></category>
		<category><![CDATA[odbc json driver]]></category>
		<category><![CDATA[quickbooks]]></category>
		<guid isPermaLink="false">https://zappysys.com/blog/?p=5133</guid>

					<description><![CDATA[<p>Introduction QuickBooks Online is a well-known Cloud-based Accounting Software. In this post, you will learn how to implement QuickBooks Online API Integration with SQL Server or any other RDBMS (e.g. Oracle, MySQL, Postgresql) using ODBC in few clicks. We will use ODBC JSON / REST API Driver to read data from QuickBooks Online and Load into SQL Server / other targets (Using OAuth [&#8230;]</p>
<p>The post <a href="https://zappysys.com/blog/read-data-from-quickbooks-online-to-sql-server/">Read data from QuickBooks Online into SQL Server via ODBC Driver</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Introduction</h2>
<p><a href="https://zappysys.com/blog/wp-content/uploads/2019/01/QuickBookLogo.png" target="_blank" rel="noopener"><img decoding="async" class="alignleft wp-image-6399 " src="https://zappysys.com/blog/wp-content/uploads/2019/01/QuickBookLogo.png" alt="QuickBooks Online Logo" width="164" height="164" srcset="https://zappysys.com/blog/wp-content/uploads/2019/01/QuickBookLogo.png 225w, https://zappysys.com/blog/wp-content/uploads/2019/01/QuickBookLogo-150x150.png 150w" sizes="(max-width: 164px) 100vw, 164px" /></a>QuickBooks Online is a well-known Cloud-based Accounting Software. In this post, you will learn how to implement <a href="https://developer.intuit.com/docs/00_quickbooks_online/1_get_started/00_get_started" target="_blank" rel="noopener">QuickBooks Online API</a> Integration with SQL Server or any other RDBMS (e.g. Oracle, MySQL, Postgresql) using <strong>ODBC</strong> in few clicks. We will use <a href="https://zappysys.com/products/odbc-powerpack/odbc-json-rest-api-driver/" target="_blank" rel="noopener">ODBC JSON / REST API Driver</a> to read data from QuickBooks Online and Load into SQL Server / other targets (Using OAuth Connection). We will discuss on How to Create an Intuit Developer Account, How to Create QuickBooks Online App for OAuth.</p>
<p>In nutshell, this post will focus on how to call QuickBooks Online API using ODBC.<br />
So let’s get started.</p>
<p>&nbsp;</p>
<h2><span id="Prerequisites">Prerequisites</span></h2>
<p>Before we look into Step-By-Step section to extract and read data from <strong>QuickBooks Online to SQL Server</strong> let’s make sure you met the following requirements.</p>
<ol>
<li>A first requirement will be to SQL Server Database Engine Installed</li>
<li>The second requirement will be SSMS installed</li>
<li>Finally, make sure to have <a href="https://zappysys.com/products/odbc-powerpack/" target="_blank" rel="noopener">ZappySys ODBC PowerPack</a> installed.</li>
</ol>
<div class="content_block" id="custom_post_widget-6478"><h2>What is QuickBooks Online</h2>
<b>QuickBooks</b> is an accounting software package developed and marketed by Intuit. QuickBooks products are geared mainly toward small and medium-sized businesses and offer on-premises accounting applications as well as cloud-based versions that accept business payments, manage and pay bills, and payroll functions.
<h2>Getting Started</h2>
In order to start, we will show several examples. ZappySys includes an <a href="https://zappysys.com/products/odbc-powerpack/odbc-json-rest-api-driver/" target="_blank" rel="noopener">ODBC JSON / REST API Driver</a> that will help you to call QuickBooks Online API, read various data from QuickBooks Online with ODBC. To learn more about QuickBooks Online API <a href="https://developer.intuit.com/docs/00_quickbooks_online/1_get_started/00_get_started" target="_blank" rel="noopener">check this help file</a>.

To access QuickBooks Online data using REST API call, you need to create an Intuit Developer Account and then create QuickBooks Online App.
<h3>Create an Intuit Developer Account</h3>
Follow the mentioned steps below to create an Intuit developer account:
<ol>
 	<li>you can visit this site <a class="link-https" title="https://developer.intuit.com" href="https://developer.intuit.com/" target="_blank" rel="noopener">developer.intuit.com</a>, and click on Sign up from the menu bar.</li>
 	<li>A registration form will be opened in a Popup. you can fill up and then click on Create Account.
<div class="wp-caption alignnone">

<a href="https://zappysys.com/blog/wp-content/uploads/2018/09/intuit-developer-account-signup-page-e1551710928190.png" target="_blank" rel="noopener"><img decoding="async" src="https://zappysys.com/blog/wp-content/uploads/2018/09/intuit-developer-account-signup-page-e1551710928190.png" alt="Signup Form: Intuit Developer Account" /></a>
<p class="wp-caption-text">Signup Form: Intuit Developer Account</p>

</div></li>
 	<li>Complete the validation check and click <strong>Continue</strong>.</li>
 	<li>On the confirmation dialog, provide a few details to fill out your profile and click <strong>All set</strong>.</li>
</ol>
<div class="locale-US style-wrap">

Your account is created! You'll automatically be redirected to the <a title="3. Create an app" href="https://developer.intuit.com/docs/00_quickbooks_online/1_get_started/30_create_an_app" target="_blank" rel="internal noopener">app creation page</a> to get coding on your app.
<div class="su-note-inner su-clearfix" style="background-color: #fff4b7;border-color: #fffdf1;color: #333333;padding: 8px">

<strong>Note:</strong>

Choose the user ID of your account carefully. Once an app is created in a given account it cannot be moved to another account or deleted. If you are building apps for a client, we recommend you create a dedicated account for that client that stays with them, leaving them full access.

</div>
<h3>Create a QuickBooks Online App</h3>
Follow the steps below to start creating your QuickBooks Online app.
<ol>
 	<li>From the <a class="link-https" title="https://developer.intuit.com" href="https://developer.intuit.com/" target="_blank" rel="external nofollow noopener">developer</a> portal, click on <strong>My Apps</strong>.</li>
 	<li>after that, Click <strong>Create a new app.
</strong>
<div class="wp-caption alignnone">

<a href="https://zappysys.com/blog/wp-content/uploads/2018/09/create-new-app-intuit-e1551711044554.png" target="_blank" rel="noopener"><img decoding="async" src="https://zappysys.com/blog/wp-content/uploads/2018/09/create-new-app-intuit-e1551711044554.png" alt="Create new App: Select APIS" /></a>
<p class="wp-caption-text">Create a new App: Select APIS</p>

</div></li>
 	<li>Click the <strong>Select APIs</strong> button under Just start coding.</li>
 	<li>Select the APIs you wish to use. This selection can always be changed later via your <a title="Configure app settings" href="https://developer.intuit.com/docs/00_quickbooks_online/4_go_live/30_publish_to_app_store/45_configure_app_settings" target="_blank" rel="internal noopener">app's settings</a>.</li>
 	<li>Your new app opens to its Dashboard tab.</li>
 	<li>Click the <strong>Keys</strong> tab. This is where you can find all keys related to your app.
<div class="wp-caption alignnone">

<a href="https://zappysys.com/blog/wp-content/uploads/2018/09/intuit-myapps-credentials-for-oauth2-e1551711138195.png" target="_blank" rel="noopener"><img decoding="async" src="https://zappysys.com/blog/wp-content/uploads/2018/09/intuit-myapps-credentials-for-oauth2-e1551711138195.png" alt="Intuit App: Client Id,Secret Keys for OAuth Connection" /></a>
<p class="wp-caption-text">Intuit App: Client Id, Secret Keys for OAuth Connection</p>

</div></li>
 	<li>To copy a key or token, click its <strong>Copy</strong> button.</li>
</ol>
Finally, we are ready with an App. Let´s start with an example. In this example, we will show how to retrieve all Invoices data from QuickBooks Online with ODBC.

</div></div>
<h3><span id="Create_ODBC_Native_Zappysys_JSON_Driver_Data_Source"><span id="Create_ODBC_DSN_8211_JSON_Driver">Create ODBC – Native Zappysys JSON Driver Data Source</span></span></h3>
<ol>
<li>To do this, first of all, we will open the ZappySys Data Gateway Configuration:
<div id="attachment_5283" style="width: 410px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2018/11/start-menu-open-zappysys-data-gateway.png" target="_blank" rel="noopener"><img fetchpriority="high" decoding="async" aria-describedby="caption-attachment-5283" class="wp-image-5283 size-full" src="https://zappysys.com/blog/wp-content/uploads/2018/11/start-menu-open-zappysys-data-gateway.png" alt="Open ZappySys Data Gateway" width="400" height="315" srcset="https://zappysys.com/blog/wp-content/uploads/2018/11/start-menu-open-zappysys-data-gateway.png 400w, https://zappysys.com/blog/wp-content/uploads/2018/11/start-menu-open-zappysys-data-gateway-300x236.png 300w" sizes="(max-width: 400px) 100vw, 400px" /></a><p id="caption-attachment-5283" class="wp-caption-text">Open ZappySys Data Gateway</p></div></li>
<li>Add the Native &#8211; ZappySys JSON Driver Data source.
<div id="attachment_5284" style="width: 568px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-5284" class="wp-image-5284 size-full" src="https://zappysys.com/blog/wp-content/uploads/2018/11/zappysys-data-gateway-add-data-source.png" alt="Add Gateway Data Source (Native JSON Driver)" width="558" height="533" srcset="https://zappysys.com/blog/wp-content/uploads/2018/11/zappysys-data-gateway-add-data-source.png 558w, https://zappysys.com/blog/wp-content/uploads/2018/11/zappysys-data-gateway-add-data-source-300x287.png 300w" sizes="(max-width: 558px) 100vw, 558px" /><p id="caption-attachment-5284" class="wp-caption-text">Add Gateway Data Source (Native JSON Driver)</p></div></li>
<li>Now it&#8217;s time to connect with QuickBooks. Let&#8217;s use JSON Driver Data source with the following URL:<br />
<pre class="crayon-plain-tag">https://{RequestURL}/v3/company/{realmID}/query?query={selectStatement}</pre>
here, We have used 3 placeholders<strong>.<br />
* {RequestURL}</strong>is either a SandBox base URL or Production base URL.<br />
<pre class="crayon-plain-tag">Sandbox Base URL: https://sandbox-quickbooks.api.intuit.com
Production Base URL: https://quickbooks.api.intuit.com</pre>
* <strong>{realmID} </strong>is your QuickBooks Online sandbox/production <strong>company ID</strong>.<br />
* <strong>{selectStatement} </strong>can be any query something like <strong>Select * From Invoice (*Note: select statement must be URL encoded first)<br />
For more information on Query, an Invoice Request API <a href="https://developer.intuit.com/docs/api/accounting/invoice">see this</a><br />
</strong>I am using my sandbox URL like this:<br />
<pre class="crayon-plain-tag">https://sandbox-quickbooks.api.intuit.com/v3/company/193514799372394/query?query=SELECT * FROM Invoice STARTPOSITION &lt;%startposition%&gt; MAXRESULTS 1000</pre>
<div id="attachment_10598" style="width: 666px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/read-data-from-quickbooks-online-to-sql-server/reading-data-from-intuit-quickbooks-via-odbc-driver-2/#main"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-10598" class="wp-image-10598 size-full" src="https://zappysys.com/blog/wp-content/uploads/2019/01/Reading-data-from-Intuit-QuickBooks-via-ODBC-driver-1.png" alt="" width="656" height="806" srcset="https://zappysys.com/blog/wp-content/uploads/2019/01/Reading-data-from-Intuit-QuickBooks-via-ODBC-driver-1.png 656w, https://zappysys.com/blog/wp-content/uploads/2019/01/Reading-data-from-Intuit-QuickBooks-via-ODBC-driver-1-244x300.png 244w" sizes="(max-width: 656px) 100vw, 656px" /></a><p id="caption-attachment-10598" class="wp-caption-text">Setup QuickBooks ODBC-based data source configuration</p></div></li>
<li>Configure the new OAuth Connection for <strong>QuickBooks Online</strong> as below.<br />
Basically, you need to configure the configurations of App on the General tab (i.e. OAuth Provider, Client ID, Client Secret, Scopes, etc.)</p>
<div id="attachment_4776" style="width: 781px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/read-data-quickbooks-online-using-ssis/ssis-oauth-connection-manager-for-intuit-quickbooks-online-api-general-tab/#main" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-4776" class="wp-image-4776 size-full" src="https://zappysys.com/blog/wp-content/uploads/2018/09/ssis-oauth-connection-manager-for-intuit-quickbooks-online-api-general-tab.png" alt="SSIS OAuth Connection Manager: General Tab Configurations" width="771" height="697" srcset="https://zappysys.com/blog/wp-content/uploads/2018/09/ssis-oauth-connection-manager-for-intuit-quickbooks-online-api-general-tab.png 771w, https://zappysys.com/blog/wp-content/uploads/2018/09/ssis-oauth-connection-manager-for-intuit-quickbooks-online-api-general-tab-300x271.png 300w, https://zappysys.com/blog/wp-content/uploads/2018/09/ssis-oauth-connection-manager-for-intuit-quickbooks-online-api-general-tab-768x694.png 768w" sizes="(max-width: 771px) 100vw, 771px" /></a><p id="caption-attachment-4776" class="wp-caption-text">OAuth Connection Manager: General Tab Configurations</p></div></li>
<li>Most importantly, you also need to Enter your Callback URL in Advanced Tab.
<div id="attachment_4777" style="width: 781px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/read-data-quickbooks-online-using-ssis/ssis-oauth-connection-manager-for-intuit-quickbooks-online-api-advanced-tab/#main" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-4777" class="wp-image-4777 size-full" src="https://zappysys.com/blog/wp-content/uploads/2018/09/ssis-oauth-connection-manager-for-intuit-quickbooks-online-api-advanced-tab.png" alt="SSIS OAuth Connection Manager: Advanced Tab Configurations" width="771" height="697" srcset="https://zappysys.com/blog/wp-content/uploads/2018/09/ssis-oauth-connection-manager-for-intuit-quickbooks-online-api-advanced-tab.png 771w, https://zappysys.com/blog/wp-content/uploads/2018/09/ssis-oauth-connection-manager-for-intuit-quickbooks-online-api-advanced-tab-300x271.png 300w, https://zappysys.com/blog/wp-content/uploads/2018/09/ssis-oauth-connection-manager-for-intuit-quickbooks-online-api-advanced-tab-768x694.png 768w" sizes="(max-width: 771px) 100vw, 771px" /></a><p id="caption-attachment-4777" class="wp-caption-text">OAuth Connection Manager: Advanced Tab Configurations</p></div></li>
<li>Similarly, you need to check &#8220;<strong>Do not include credentials in header</strong>&#8221;
<div id="attachment_4778" style="width: 781px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/read-data-quickbooks-online-using-ssis/ssis-oauth-connection-manager-for-intuit-quickbooks-online-api-oauth-2-grant-options-tab/#main" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-4778" class="wp-image-4778 size-full" src="https://zappysys.com/blog/wp-content/uploads/2018/09/ssis-oauth-connection-manager-for-intuit-quickbooks-online-api-oauth-2-grant-options-tab.png" alt="SSIS OAuth Connection Manager: OAuth2 Grant Options Tab Configurations" width="771" height="697" srcset="https://zappysys.com/blog/wp-content/uploads/2018/09/ssis-oauth-connection-manager-for-intuit-quickbooks-online-api-oauth-2-grant-options-tab.png 771w, https://zappysys.com/blog/wp-content/uploads/2018/09/ssis-oauth-connection-manager-for-intuit-quickbooks-online-api-oauth-2-grant-options-tab-300x271.png 300w, https://zappysys.com/blog/wp-content/uploads/2018/09/ssis-oauth-connection-manager-for-intuit-quickbooks-online-api-oauth-2-grant-options-tab-768x694.png 768w" sizes="(max-width: 771px) 100vw, 771px" /></a><p id="caption-attachment-4778" class="wp-caption-text">OAuth Connection Manager: OAuth2 Grant Options Tab Configurations</p></div></li>
<li>Click on Generate Token button to Generate token and then click on Test Connection button and click on OK to save the connection manager configurations settings.
<div id="attachment_6415" style="width: 781px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/read-data-from-quickbooks-online-to-sql-server/odbc-quickbooks-oauth-test/#main" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-6415" class="wp-image-6415 size-full" src="https://zappysys.com/blog/wp-content/uploads/2019/01/odbc-quickbooks-oauth-test.png" alt="" width="771" height="738" srcset="https://zappysys.com/blog/wp-content/uploads/2019/01/odbc-quickbooks-oauth-test.png 771w, https://zappysys.com/blog/wp-content/uploads/2019/01/odbc-quickbooks-oauth-test-300x287.png 300w, https://zappysys.com/blog/wp-content/uploads/2019/01/odbc-quickbooks-oauth-test-768x735.png 768w" sizes="(max-width: 771px) 100vw, 771px" /></a><p id="caption-attachment-6415" class="wp-caption-text">Generate Token and Test Connection</p></div></li>
<li>Let&#8217;s continue on, and enable pagination by configuring it like in the image below in the <em>Pagination</em> tab. In the <em>Page Num Indicator</em> field input this value: <code>&lt;%startposition%&gt;</code> Then set <em>Increment By</em> value to a maximum number of results possible: <code>1000</code><a href="https://zappysys.com/blog/wp-content/uploads/2019/01/Pagination-reading-data-from-Intuit-QuickBooks-via-ODBC-driver.png"><br />
</a></p>
<div id="attachment_10595" style="width: 668px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/read-data-from-quickbooks-online-to-sql-server/pagination-reading-data-from-intuit-quickbooks-via-odbc-driver/#main"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-10595" class="wp-image-10595 size-full" src="https://zappysys.com/blog/wp-content/uploads/2019/01/Pagination-reading-data-from-Intuit-QuickBooks-via-ODBC-driver.png" alt="" width="658" height="508" srcset="https://zappysys.com/blog/wp-content/uploads/2019/01/Pagination-reading-data-from-Intuit-QuickBooks-via-ODBC-driver.png 658w, https://zappysys.com/blog/wp-content/uploads/2019/01/Pagination-reading-data-from-Intuit-QuickBooks-via-ODBC-driver-300x232.png 300w" sizes="(max-width: 658px) 100vw, 658px" /></a><p id="caption-attachment-10595" class="wp-caption-text">Configuring pagination to get QuickBooks all rows in ODBC JSON-based driver data source</p></div></li>
<li>Finally, now using Code Generator we will generate the query.
<div id="attachment_6416" style="width: 766px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/read-data-from-quickbooks-online-to-sql-server/odbc-json-driver-generate-quickbooks-query/#main" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-6416" class="wp-image-6416 size-full" src="https://zappysys.com/blog/wp-content/uploads/2019/01/odbc-json-driver-generate-quickbooks-query.png" alt="odbc-json-driver-generate-quickbooks-query" width="756" height="432" srcset="https://zappysys.com/blog/wp-content/uploads/2019/01/odbc-json-driver-generate-quickbooks-query.png 756w, https://zappysys.com/blog/wp-content/uploads/2019/01/odbc-json-driver-generate-quickbooks-query-300x171.png 300w" sizes="(max-width: 756px) 100vw, 756px" /></a><p id="caption-attachment-6416" class="wp-caption-text">Generate Query</p></div></li>
</ol>
<h3>Load QuickBooks Invoices data in MS SQL Server</h3>
<div class="content_block" id="custom_post_widget-6457">Once you configured the data source in Gateway, we can now setup Linked Server in SQL Server to query API data.
<ol style="margin-left: 10px;">
 	<li>Assuming you have installed SQL Server and SSMS. If not then get both for FREE from here: <a href="https://www.microsoft.com/en-us/sql-server/sql-server-editions-express" target="_blank" rel="noopener">Get SQL Server Express</a> and  <a href="https://docs.microsoft.com/en-us/sql/ssms/download-sql-server-management-studio-ssms" target="_blank" rel="noopener">Get SSMS</a></li>
 	<li>Open SSMS and connect to SQL Server.</li>
 	<li>Go to Root &gt; Server Objects &gt; Linked Servers node. Right click and click <strong>New Linked Server...</strong>
<div class="wp-caption alignnone">

<a href="https://i1.wp.com/zappysys.com/blog/wp-content/uploads/2018/03/create-new-linked-server-ssms.png?ssl=1" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://i1.wp.com/zappysys.com/blog/wp-content/uploads/2018/03/create-new-linked-server-ssms.png?w=720&amp;ssl=1" alt="Add Linked Server in SQL Server" width="420" height="262" /></a>
<p class="wp-caption-text">Add Linked Server in SQL Server</p>

</div></li>
 	<li> Now enter the linked server name, select Provider as SQL Native Client</li>
 	<li>Enter data source as <strong><span class="lang:default decode:true crayon-inline">GatewayServerName, PORT_NUMBER</span></strong> where server name is where ZappySys Gateway is running (Can be same as SQL Server machine or remote machine). Default PORT_NUMBER is 5000 but confirm on Data gateway &gt; General tab in case its different.</li>
 	<li>Enter Catalog Name. This must match name from Data gateway Data sources grid &gt; Name column
<div class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2018/11/ssms-sql-server-configure-linked-server-2.png">
<img decoding="async" src="https://zappysys.com/blog/wp-content/uploads/2018/11/ssms-sql-server-configure-linked-server-2.png" alt="Configure Linked Server Provider, Catalog, Server, Port for ZappySys Data Gateway Connection" />
</a>
<p class="wp-caption-text">Configure Linked Server Provider, Catalog, Server, Port for ZappySys Data Gateway Connection</p>
</div>
<div style="color: #31708f;background-color: #d9edf7;border-color: #bce8f1;padding: 15px;margin-bottom: 20px;border: 1px solid transparent;border-radius: 4px;">
<strong>INFO:</strong><br/>
<ul>
    <li>
      For <strong>SQL Server 2012, 2014, 2016, 2017, and 2019</strong>, use the <em>SQL Server Native Client 11.0</em> as the Provider.
    </li>
    <li>
      For <strong>SQL Server 2022 or higher</strong>, use the <em>Microsoft OLE DB Driver for SQL Server</em> as the Provider.
    </li>
  </ul>
</div></li>
 	<li>Click on Security Tab and select last option "<strong>Be made using this security context</strong>". Enter your gateway user account here.</li>
<li>
        <p>Optional: Under the Server Options Tab, Enable <b>RPC</b> and <b>RPC Out</b> and Disable Promotion of Distributed Transactions<b>(MSDTC)</b>.</p>
		<div class="wp-caption alignnone">
			<img decoding="async" class="block margin-bottom-10 img-thumbnail" src="https://zappysys.com/blog/wp-content/uploads/2018/11/linked-server-options-rpc-msdtc.png" title="RPC and MSDTC Settings" alt="RPC and MSDTC Settings" />
			<p class="wp-caption-text">RPC and MSDTC Settings</p>
		</div>
        <hr />
        <p>
            You need to enable RPC Out if you plan to use <b><i>EXEC(...) AT [MY_LINKED_SERVER_NAME]</i></b> rather than OPENQUERY.
            <br />
            If don't enabled it, you will encounter the <i>'Server "MY_LINKED_SERVER_NAME" is not configured for RPC'</i> error.
        </p>
        <p>
            Query Example:
            <code class="sql">EXEC('Select * from Products') AT [MY_LINKED_SERVER_NAME]</code>
        </p>
        <hr />
        <p>
            If you plan to use <b><i>'INSERT INTO...EXEC(....) AT [MY_LINKED_SERVER_NAME]'</i></b> in that case you need to Disable Promotion of Distributed Transactions(MSDTC).
            <br />
            If don't disabled it, you will encounter the <i>'The operation could not be performed because OLE DB provider "SQLNCLI11/MSOLEDBSQL" for linked server "MY_LINKED_SERVER_NAME" was unable to begin a distributed transaction.'</i> error.
        </p>
        <p>
            Query Example:
<pre class="">Insert Into dbo.Products 
EXEC('Select * from Products') AT [MY_LINKED_SERVER_NAME]</pre>
        </p>
        <hr />
</li>
 	<li>Click OK to save Linked Server</li>
 	<li>In SSMS execute below SQL query to test your connectivity.
<pre class="">SELECT * FROM OPENQUERY( MY_LINKED_SERVER_NAME, 'SELECT * FROM $')</pre>
</li>
 	<li>Here is the preview after you run some REST API query in SQL Server. Notice that you can override default configuration by supplying <a href="https://zappysys.com/onlinehelp/odbc-powerpack/scr/json-odbc-driver-connectionstring.htm" target="_blank" rel="noopener">many parameters</a> in WITH clause (second query example in the screenshot).
<div class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2019/01/odbc_json_driver__api_query_data_in_mssqlserver.png" target="_blank" rel="noopener">
<img loading="lazy" decoding="async" width="750" height="354" class="wp-image-6455 size-full" src="https://zappysys.com/blog/wp-content/uploads/2019/01/odbc_json_driver__api_query_data_in_mssqlserver.png" alt="odbc_json_driver_api_query_data_in_mssqlserver" srcset="https://zappysys.com/blog/wp-content/uploads/2019/01/odbc_json_driver__api_query_data_in_mssqlserver.png 750w, https://zappysys.com/blog/wp-content/uploads/2019/01/odbc_json_driver__api_query_data_in_mssqlserver-300x142.png 300w" sizes="(max-width: 750px) 100vw, 750px" />
</a>
<p class="wp-caption-text">SSMS Output - Query REST API via Linked Server OPENQUERY statement (Connect to ZappySys Data Gateway)</p>

</div></li>
 	<li>You can wrap your queries inside View or wrap inside Stored procedure to parameterize. Here is an example of creating the view which calls REST API queries.
<pre class="lang:tsql decode:true">CREATE VIEW dbo.vw_MyAPICall_View 
AS 
/*Call REST API inside SQL Server View*/
SELECT * FROM OPENQUERY( MY_LINKED_SERVER_NAME , 'SELECT * FROM $');

GO
</pre>
</li>
 	<li>Notice in above approach if you parameterize Stored Procedure then <a href="https://zappysys.com/blog/create-csv-list-sql-server-table-columns-datatypes/" target="_blank" rel="noopener">check this article to understand Dynamic Metadata</a>.</li>
 	<li>Now let's insert API data into the new data table "tblMyAPiData" in the SQL server database. For that, we need to execute below SQL query.
<pre class="lang:tsql decode:true ">Select * into tblMyAPiData FROM OPENQUERY( MY_LINKED_SERVER_NAME , 'SELECT * FROM $')</pre>
<div class="wp-caption alignnone">

<a href="https://zappysys.com/blog/wp-content/uploads/2019/02/odbc_json_driver_insert_data_in_sql.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" width="681" height="571" class="wp-image-6469 size-full" src="https://zappysys.com/blog/wp-content/uploads/2019/02/odbc_json_driver_insert_data_in_sql.png" alt="odbc_json_driver_insert_data_in_sql" srcset="https://zappysys.com/blog/wp-content/uploads/2019/02/odbc_json_driver_insert_data_in_sql.png 681w, https://zappysys.com/blog/wp-content/uploads/2019/02/odbc_json_driver_insert_data_in_sql-300x252.png 300w" sizes="(max-width: 681px) 100vw, 681px" /></a>
<p class="wp-caption-text">Insert data into the new table</p>

</div></li>
 	<li>Let's insert and update records into the already created table <span class="lang:default decode:true crayon-inline">"tblMyAPiData"</span>
<ul>
 	<li>To do that first we need to insert the new API data into the <span class="lang:default decode:true crayon-inline">"#temp_tblMyAPiData"</span> temporary database table.</li>
 	<li>Now let's delete the old records from the database table which are updated.</li>
 	<li>At the last insert all new API data into the database table.</li>
 	<li>To do that, we need to query like below SQL queries.</li>
</ul>
<pre class="lang:default decode:true">SELECT * into #temp_tblMyAPiData FROM OPENQUERY(MY_LINKED_SERVER_NAME, 'SELECT * FROM $')

DELETE FROM [dbo].[tblMyAPiData] WHERE id in (SELECT id FROM #temp_tblMyAPiData)

INSERT INTO tblMyAPiData
SELECT * FROM #temp_tblMyAPiData</pre>
&nbsp;</li>
 	<li>In the upper step, we see how to insert and update new records. Now if you want to update particular fields records only then you need to query like this.
<pre class="lang:default decode:true">Update dbtbl_1
set dbtbl_1.field1 = dbtbl_2.field1,
    dbtbl_1.field2 = dbtbl_2.field2
FROM tblMyAPiData dbtbl_1
JOIN (SELECT * FROM OPENQUERY(MY_LINKED_SERVER_NAME, 'SELECT * FROM $')) dbtbl_2 on dbtbl_1.id=dbtbl_2.id</pre>
<div class="su-note-inner su-clearfix" style="background-color: #fff4b7;border-color: #fffdf1;color: #333333">
<blockquote>*NOTE: If you are getting error like : "<strong>Cannot resolve the collation conflict between “Latin1_General_CI_AI” and “SQL_Latin1_General_CP1_CI_AS” in the equal to operation</strong>" then you need to query like this :
<pre class="lang:default decode:true">Update dbtbl_1
set dbtbl_1.field1 = dbtbl_2.field1,
    dbtbl_1.field2 = dbtbl_2.field2
FROM tblMyAPiData dbtbl_1
JOIN (SELECT * FROM OPENQUERY(MY_LINKED_SERVER_NAME, 'SELECT * FROM $')) dbtbl_2 
on dbtbl_1.id=dbtbl_2.id 
<strong>COLLATE SQL_Latin1_General_CP1_CI_AS</strong></pre>
&nbsp;</blockquote>
</div></li>
</ol></div>
<h2><span id="Step-by-Step_Import_REST_API_into_Power_BI">Conclusion</span></h2>
<p>So in this blog, we learned how to generate a QuickBooks API Token, Load QuickBooks Invoices data in MS SQL Server table using <a href="https://zappysys.com/products/odbc-powerpack/odbc-json-rest-api-driver/" target="_blank" rel="noopener">ODBC JSON / REST API Driver</a> in a very simple way. You can achieve many more functionalities with this tool. Check our blogs/articles on <strong>JSON / REST API Driver</strong> <a href="https://zappysys.com/blog/category/odbc-powerpack/odbc-drivers/json-rest-api-driver/" target="_blank" rel="noopener">https://zappysys.com/blog/category/odbc-powerpack/odbc-drivers/json-rest-api-driver/</a> to find out what <em>this tool</em> is capable of more.</p>
<h2><span id="References">References</span></h2>
<p>Finally, you can use the following links for more information about the use of QuickBooks API with our tools:</p>
<ul>
<li><a href="https://developer.atlassian.com/cloud/jira/platform/rest/" target="_blank" rel="noopener">QuickBooks Documentation for API</a></li>
<li><strong>Landing Page</strong> for <a href="https://zappysys.com/products/odbc-powerpack/odbc-json-rest-api-driver/" target="_blank" rel="noopener">ODBC JSON / REST API Driver</a>, you can also find <a href="https://youtu.be/iwezz0Z3D4U" target="_blank" rel="noopener">Tutorial Video</a> here.</li>
<li><strong>Help File:</strong> Documentation of <a href="https://zappysys.com/onlinehelp/odbc-powerpack/index.htm#page=json-odbc-driver-intro.htm" target="_blank" rel="noopener">JSON Driver</a>.</li>
<li><strong>Blog/articles link</strong>: <a href="https://zappysys.com/blog/category/odbc-powerpack/odbc-drivers/json-rest-api-driver/" target="_blank" rel="noopener">https://zappysys.com/blog/category/odbc-powerpack/odbc-drivers/json-rest-api-driver/</a></li>
</ul>
<p>The post <a href="https://zappysys.com/blog/read-data-from-quickbooks-online-to-sql-server/">Read data from QuickBooks Online into SQL Server via ODBC Driver</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Read JIRA data in SSRS Reports (SQL Server Reporting Services)</title>
		<link>https://zappysys.com/blog/read-jira-data-in-ssrs-reports/</link>
		
		<dc:creator><![CDATA[ZappySys]]></dc:creator>
		<pubDate>Thu, 27 Dec 2018 13:04:45 +0000</pubDate>
				<category><![CDATA[JSON File / REST API Driver]]></category>
		<category><![CDATA[Reporting - Microsoft SSRS]]></category>
		<category><![CDATA[jira]]></category>
		<category><![CDATA[odbc]]></category>
		<category><![CDATA[odbc json driver]]></category>
		<category><![CDATA[rest api]]></category>
		<category><![CDATA[SQL Server Reporting Services]]></category>
		<category><![CDATA[ssrs]]></category>
		<guid isPermaLink="false">https://zappysys.com/blog/?p=5759</guid>

					<description><![CDATA[<p>Introduction In our previous blog we saw how to read rest api in SSRS reports. We recommend you go through that article first. In this post we will look at specific example on How to read JIRA data in SSRS Reports (SQL Server Reporting Services), along with few other topics such as how to generate an [&#8230;]</p>
<p>The post <a href="https://zappysys.com/blog/read-jira-data-in-ssrs-reports/">Read JIRA data in SSRS Reports (SQL Server Reporting Services)</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2><span id="Introduction">Introduction</span></h2>
<div class="su-note"  style="border-color:#e5de9d;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;"><div class="su-note-inner su-u-clearfix su-u-trim" style="background-color:#FFF8B7;border-color:#ffffff;color:#333333;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;"><strong>UPDATE:</strong> ZappySys has released a brand new <a href="https://zappysys.com/api/integration-hub/jira-connector/odbc">API Connector for Jira Online</a> which makes it much simpler to <strong>Read/Write Jira Data in ODBC</strong> compared to the steps listed in this article. You can still use steps from this article but if you are new to API or want to avoid learning curve with API then use newer approach.</p>
<p>Please visit <a href="https://zappysys.com/api/integration-hub/">this page to see all</a> Pre-Configured ready to use API connectors which you can use in <a href="https://zappysys.com/products/ssis-powerpack/ssis-api-source/">SSIS API Source</a> / <a href="https://zappysys.com/products/ssis-powerpack/ssis-api-destination/">SSIS API Destination</a> OR <a href="https://zappysys.com/products/odbc-powerpack/odbc-api-driver/">API ODBC Driver</a> (for non-SSIS Apps such as Excel, Power BI, Informatica).</p>
</div></div>
<a href="https://zappysys.com/blog/wp-content/uploads/2018/12/jira-to-ssrs.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" class="alignleft wp-image-5762 size-thumbnail" src="https://zappysys.com/blog/wp-content/uploads/2018/12/jira-to-ssrs-150x150.png" alt="jira-to-ssrs" width="150" height="150" /></a>In our previous blog we saw how to <a href="https://zappysys.com/blog/read-rest-api-using-ssrs-reports-call-json-xml-web-service/" target="_blank" rel="noopener">read rest api in SSRS reports</a>. We recommend you go through that article first. In this post we will look at specific example on <strong>How to read JIRA data in SSRS Reports (SQL Server Reporting Services)</strong>, along with few other topics such as how to generate an API Token using Atlassian Account for <strong>JIRA REST API Call</strong>, how to read all Issues data from JIRA using our ODBC Driver and load it into the SSRS reports.</p>
<p>We will go through the steps to read data from JIRA and Load into SQL Server using <a href="https://zappysys.com/products/odbc-powerpack/odbc-json-rest-api-driver/" target="_blank" rel="noopener">JSON Driver of ODBC PowerPack</a></p>
<p>In nutshell, this post will focus on how to call JIRA API using ODBC PowerPack and how to create SSRS Report.</p>
<p>So let’s get started.</p>
<h2><span id="Requirements">Requirements</span></h2>
<ol>
<li>Make sure you have SSRS designer installed (You can download <a href="https://docs.microsoft.com/en-us/sql/ssdt/download-sql-server-data-tools-ssdt?view=sql-server-2017" target="_blank" rel="noopener">SSDT BI for Visual Studio</a>).</li>
<li>Finally, make sure to have <a href="https://zappysys.com/products/odbc-powerpack/" target="_blank" rel="noopener">ZappySys ODBC PowerPack</a> installed.</li>
</ol>
<h2>What is JIRA</h2>
<p>JIRA is Atlassian’s popular project- and issue-tracking platform used by development and technical support teams to get more work done and faster.</p>
<p>It combines:</p>
<p><strong>issue tracking</strong> &#8211; a software application that allows to record and follow the progress of every problem or &#8220;issue&#8221; that user identifies until the problem is resolved.<br />
<strong>agile project management</strong> &#8211; an iterative approach to planning and guiding project processes. customizable workflow, and a pluggable integration &#8211; integrates with Freshdesk, GitHub, Zendesk, Zapbook, Asana and so on.</p>
<h2>Getting Started</h2>
<p>First of all, we will see several examples. ZappySys includes an <a href="https://zappysys.com/products/ssis-powerpack/ssis-json-file-source/" target="_blank" rel="noopener">SSIS JSON Source Connector</a> that will help you to call JIRA API, read various data from JIRA with SSIS and do many more actions using REST API. To learn more about JIRA API <a href="https://developer.atlassian.com/cloud/jira/platform/rest/" target="_blank" rel="noopener">check this help file</a>.</p>
<div class="content_block" id="custom_post_widget-4816"><h2>Generate API Token</h2>
To access JIRA data using REST API call you need to generate an API Token in your Atlassian account. Follow the steps mentioned below to generate API Token:
<ol>
 	<li>you can directly login to the <a href="https://id.atlassian.com" target="_blank" rel="noopener">JIRA Atlassian Cloud site</a> with your credentials, and redirect to the <a href="https://id.atlassian.com/profile/profile.action" target="_blank" rel="noopener">JIRA Atlassian Cloud Account's Profile Page</a> for generating an API Token.</li>
 	<li>Click <strong>API tokens</strong>, then <strong>Create API token</strong>.
<div class="wp-caption aligncenter">

<a href="https://zappysys.com/blog/wp-content/uploads/2018/07/jira-generate-api-token-step-1.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" class="wp-image-4315 size-full" src="https://zappysys.com/blog/wp-content/uploads/2018/07/jira-generate-api-token-step-1.png" alt="Generate API Token - Step - 1" width="1600" height="605" srcset="https://zappysys.com/blog/wp-content/uploads/2018/07/jira-generate-api-token-step-1.png 1600w, https://zappysys.com/blog/wp-content/uploads/2018/07/jira-generate-api-token-step-1-300x113.png 300w, https://zappysys.com/blog/wp-content/uploads/2018/07/jira-generate-api-token-step-1-768x290.png 768w, https://zappysys.com/blog/wp-content/uploads/2018/07/jira-generate-api-token-step-1-1024x387.png 1024w" sizes="(max-width: 1600px) 100vw, 1600px" /></a>
<p class="wp-caption-text">Generate API Token - Step - 1</p>

</div></li>
 	<li>Create API Token - Give Label name to your API token which you are generating now
<div class="wp-caption aligncenter">

<a href="https://zappysys.com/blog/wp-content/uploads/2018/07/jira-generate-api-token-step-2.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" class="size-full wp-image-4316" src="https://zappysys.com/blog/wp-content/uploads/2018/07/jira-generate-api-token-step-2.png" alt="Generate API Token - Step - 2" width="1599" height="603" srcset="https://zappysys.com/blog/wp-content/uploads/2018/07/jira-generate-api-token-step-2.png 1599w, https://zappysys.com/blog/wp-content/uploads/2018/07/jira-generate-api-token-step-2-300x113.png 300w, https://zappysys.com/blog/wp-content/uploads/2018/07/jira-generate-api-token-step-2-768x290.png 768w, https://zappysys.com/blog/wp-content/uploads/2018/07/jira-generate-api-token-step-2-1024x386.png 1024w" sizes="(max-width: 1599px) 100vw, 1599px" /></a>
<p class="wp-caption-text">Generate API Token - Step - 2</p>

</div></li>
 	<li>Use <strong>Copy to the clipboard</strong>, and paste the token into your or elsewhere:
<div class="su-note-inner su-clearfix" style="background-color:#fff4b7;border-color:#fffdf1;color:#333333"><blockquote>Note:  * For security reasons it isn't possible to view the token after closing the creation dialog; if necessary, create a new token. * You should store the token securely, just as for any password.</blockquote></div>
<div class="wp-caption aligncenter">

<a href="https://zappysys.com/blog/wp-content/uploads/2018/07/jira-generate-api-token-step-3.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" class="size-full wp-image-4321" src="https://zappysys.com/blog/wp-content/uploads/2018/07/jira-generate-api-token-step-3.png" alt="Generate API Token - Step - 3" width="1600" height="602" srcset="https://zappysys.com/blog/wp-content/uploads/2018/07/jira-generate-api-token-step-3.png 1600w, https://zappysys.com/blog/wp-content/uploads/2018/07/jira-generate-api-token-step-3-300x113.png 300w, https://zappysys.com/blog/wp-content/uploads/2018/07/jira-generate-api-token-step-3-768x289.png 768w, https://zappysys.com/blog/wp-content/uploads/2018/07/jira-generate-api-token-step-3-1024x385.png 1024w" sizes="(max-width: 1600px) 100vw, 1600px" /></a>
<p class="wp-caption-text">Generate API Token - Step - 3</p>

</div></li>
 	<li>If you forgot API token, then you can Revoke your old API token and create new API token OR you can create multiple API tokens too.
<div class="wp-caption aligncenter">

<a href="https://zappysys.com/blog/wp-content/uploads/2018/07/jira-generate-api-token-step-4.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" class="wp-image-4326 size-full" src="https://zappysys.com/blog/wp-content/uploads/2018/07/jira-generate-api-token-step-4.png" alt="Generate API token - Step - 4" width="1600" height="601" srcset="https://zappysys.com/blog/wp-content/uploads/2018/07/jira-generate-api-token-step-4.png 1600w, https://zappysys.com/blog/wp-content/uploads/2018/07/jira-generate-api-token-step-4-300x113.png 300w, https://zappysys.com/blog/wp-content/uploads/2018/07/jira-generate-api-token-step-4-768x288.png 768w, https://zappysys.com/blog/wp-content/uploads/2018/07/jira-generate-api-token-step-4-1024x385.png 1024w" sizes="(max-width: 1600px) 100vw, 1600px" /></a>
<p class="wp-caption-text">Generate API token - Step - 4</p>

</div></li>
</ol>
Now we have successfully generated an API token. Let´s start with an example. In this example, we will show how to read Tasks/Issues data from JIRA and store that data into a SQL table with SSIS.</div>
<div class="content_block" id="custom_post_widget-8950"><h2>About JIRA REST API</h2>
JIRA On-premises and Cloud Version both offers REST API. Here are some examples of <a href="https://developer.atlassian.com/server/jira/platform/jira-rest-api-examples/" target="_blank" rel="noopener">JIRA REST API</a>. For reading JIRA REST API data we will use <a href="https://developer.atlassian.com/server/jira/platform/jira-rest-api-example-query-issues-6291606/" target="_blank" rel="noopener">JIRA REST API Search method</a> which returns data in JSON format. Search API support use of <a href="https://developer.atlassian.com/server/jira/platform/jira-rest-api-example-query-issues-6291606/" target="_blank" rel="noopener">JQL Syntax</a> to filter issues. If you don't specify <strong>JQL</strong> parameters in /search endpoint then all issues will be returned. Check this link to learn <a href="https://www.youtube.com/watch?v=oSxBnqdF3-A" target="_blank" rel="noopener">how to build JQL for JIRA REST API Call</a>. If you don't have JIRA hosted instance yet but still want to try REST API Examples on public JIRA Server then try below URL (Its official JIRA site which lists their own issues). For example, try to copy below URL in a browser and hit enter.
<pre class="">https://jira.atlassian.com/rest/api/2/search?jql=project=JRASERVER</pre>
<h2><span id="Step-by-Step_Import_REST_API_into_Power_BI">Step-by-Step: Import JIRA data using REST API </span></h2>
Now once you have API token in the JIRA Atlassian Cloud website we can move to ODBC JSON Driver Configuration Part. For this example purpose you can use the following URL:
<pre class="lang:default decode:true">https://YOUR-DOMAIN.atlassian.net/rest/api/2/search?startAt=0&amp;maxResults=100&amp;jql=project=MYPROJECT</pre>
hence, <strong>your-domain is your Atlassian Cloud account’s domain name (we are using zappysys2.atlassian.net).</strong>
Therefore <strong>startAt</strong> is the index of the first item returned in the page of results.
And another<strong> maxResults</strong> is the maximum number of items that can be returned per page.

Above all, each API endpoint may have a different limit for the number of items returned, and these limits may change without notice. (For more See this <a href="https://developer.atlassian.com/cloud/jira/platform/rest/#pagination" target="_blank" rel="noopener">JIRA API Documentation for Pagination</a>)
<h2><span id="Configure_Data_Source_in_Gateway_ZappySys_JSON_REST_API_Driver_Example">Configure Data Source in Gateway (ZappySys JSON / REST API Driver Example)</span></h2>
Now let's look at how to configure <a href="https://zappysys.com/products/odbc-powerpack/data-gateway/" target="_blank" rel="noopener">ZappySys Data Gateway</a>. This feature acts as a bridge between Client App and ZappySys Drivers. Using data gateway you can use ZappySys Drivers inside applications / operating systems where ZappySys drivers may not be available directly for some reason (e.g. You don't have access to Server for Installation or System does not support ODBC drivers like JAVA programs). <a href="https://zappysys.com/blog/category/odbc-powerpack/odbc-gateway/">Click here to read more</a> on various use cases of Data Gateway.
<h3><span style="font-size: 14pt;">Configure Data Gateway User / Port</span></h3>
Now let's look at steps to configure Data Gateway after installation. We will also create a sample data source for ODATA API (i.e. JSON based REST API Service).
<ol>
 	<li>Assuming you have installed <a href="https://zappysys.com/products/odbc-powerpack/" target="_blank" rel="noopener">ZappySys ODBC PowerPack</a> using default options (Which also enables Data Gateway Service)</li>
 	<li>Search "Gateway" in your start menu and click ZappySys Data Gateway
<div class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2018/11/start-menu-open-zappysys-data-gateway.png">
<img decoding="async" src="https://zappysys.com/blog/wp-content/uploads/2018/11/start-menu-open-zappysys-data-gateway.png" alt="Open ZappySys Data Gateway" /></a>
<p class="wp-caption-text">Open ZappySys Data Gateway</p>

</div></li>
 	<li>First make sure Gateway Service is running (Verify Start icon is disabled)</li>
 	<li>Also verify Port on General Tab
<div class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2018/03/ZappySys-data-gateway-port-5000.png">
<img decoding="async" src="https://zappysys.com/blog/wp-content/uploads/2018/03/ZappySys-data-gateway-port-5000.png" alt="Port Number setting on ZappySys Data Gateway" /></a>
<p class="wp-caption-text">Port Number setting on ZappySys Data Gateway</p>

</div></li>
 	<li>Now go to Users tab. <strong>Click Add</strong> icon to add a new user. Check Is admin to give access to all data sources you add in future. If you don't check admin then you have to manually configure user permission for each data source.
<div class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2018/11/zappysys-data-gateway-add-user.png">
<img decoding="async" src="https://zappysys.com/blog/wp-content/uploads/2018/11/zappysys-data-gateway-add-user.png" alt="Add Data Gateway User" /></a>
<p class="wp-caption-text">Add Data Gateway User</p>

</div></li>
</ol>
&nbsp;
<h4><span style="font-size: 14pt;">Configure Data Source</span></h4>
<ol>
 	<li>After user is added, go to Data Sources tab. <strong>Click Add</strong> icon to create new data source. Select appropriate driver based on your API / File format. You can choose Generic ODBC option to read data from ODBC DSN or use Native Driver option.
<pre class=""><strong>NOTE:</strong> Whenever possible use native driver option for better performance / security and ease of use.</pre>
<div class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2018/11/zappysys-data-gateway-add-data-source.png">
<img decoding="async" src="https://zappysys.com/blog/wp-content/uploads/2018/11/zappysys-data-gateway-add-data-source.png" alt="Add Gateway Data Source (Native JSON Driver)" /></a>
<p class="wp-caption-text">Add Gateway Data Source (Native JSON Driver)</p>

</div></li>
 	<li>Now it's time to connect with JIRA. Let's use JSON Driver Data source with the following URL. Change domain with your own domain.
<div id="crayon-5befbb0bdc2d5563302218" class="crayon-syntax crayon-theme-vs2012 crayon-font-courier-new crayon-os-pc print-yes notranslate">
<div class="crayon-main">
<pre class="lang:default decode:true" style="padding-left: 30px;">https://{yourdomain}.atlassian.net/rest/api/2/search?startAt=0&amp;maxResults=100
</pre>
</div>
</div>
<div class="wp-caption alignnone">

<a href="https://zappysys.com/blog/wp-content/uploads/2018/11/odbc_json_driver_enter_jira_request_url.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" class="size-full wp-image-5390" src="https://zappysys.com/blog/wp-content/uploads/2018/11/odbc_json_driver_enter_jira_request_url.png" alt="ODBC JSON Driver: Enter Request URL" width="802" height="702" srcset="https://zappysys.com/blog/wp-content/uploads/2018/11/odbc_json_driver_enter_jira_request_url.png 802w, https://zappysys.com/blog/wp-content/uploads/2018/11/odbc_json_driver_enter_jira_request_url-300x263.png 300w, https://zappysys.com/blog/wp-content/uploads/2018/11/odbc_json_driver_enter_jira_request_url-768x672.png 768w" sizes="(max-width: 802px) 100vw, 802px" /></a>

ODBC JSON Driver: Enter Request URL

</div></li>
 	<li>It is time to configure the Other Settings. Select HTTP Connection Type from the Connection Type drop-down and Click on Click to Configure Link to Configure the Connection Manager.
<div class="wp-caption alignnone">

[caption id="attachment_5596" align="alignnone" width="1245"]<a href="https://zappysys.com/blog/wp-content/uploads/2018/11/jira-odbc-json-driver-configure-http-api-connection-e1548714720542.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" class="wp-image-5596 size-full" src="https://zappysys.com/blog/wp-content/uploads/2018/11/jira-odbc-json-driver-configure-http-api-connection-e1548714720542.png" alt="JIRA REST API Connection - Use ZappySys JSON Driver HTTP Connection" width="1245" height="695" /></a> JIRA REST API Connection - Use ZappySys JSON Driver HTTP Connection[/caption]

JIRA REST API Connection - Use ZappySys JSON Driver HTTP Connection

</div></li>
 	<li>Now, we are going to set Pagination related configurations for JIRA Search request. Page number indicator must be <span class="crayon-syntax crayon-syntax-inline crayon-theme-vs2012 crayon-theme-vs2012-inline crayon-font-courier-new" style="font-size: 12px !important; line-height: 15px !important;"><span class="crayon-pre crayon-code" style="font-size: 12px !important; line-height: 15px !important;"><span class="crayon-v">startAt</span></span></span> and <span class="crayon-syntax crayon-syntax-inline crayon-theme-vs2012 crayon-theme-vs2012-inline crayon-font-courier-new" style="font-size: 12px !important; line-height: 15px !important;"><span class="crayon-pre crayon-code" style="font-size: 12px !important; line-height: 15px !important;"><span class="crayon-v">maxResults</span></span></span> value in URL must match with Increment By (i.e. 100)
<div class="wp-caption alignnone">

<a href="https://zappysys.com/blog/wp-content/uploads/2018/11/odbc_json_driver_pagination_configurations.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" class="size-full wp-image-5392" src="https://zappysys.com/blog/wp-content/uploads/2018/12/odbc_json_driver_pagination_configuration.png" alt="ODBC JSON Driver - JIRA request Pagination Configurations Settings" width="802" height="702" /></a>

ODBC JSON Driver - JIRA request Pagination Configurations Settings

</div></li>
 	<li>After adding pagination parameters let's add <span id="crayon-5c2b1cd384d9b365821121" class="crayon-syntax crayon-syntax-inline crayon-theme-vs2012 crayon-theme-vs2012-inline crayon-font-courier-new" style="font-size: 12px !important; line-height: 15px !important;"><span class="crayon-pre crayon-code" style="font-size: 12px !important; line-height: 15px !important;"><span class="crayon-v">JQL</span><span class="crayon-o">=</span></span></span> search parameter to get specific data. Here we are searching the data by Project name and status. You can find more information about JQL on this link: <a href="https://confluence.atlassian.com/jiracore/blog/2015/07/search-jira-like-a-boss-with-jql" target="_blank" rel="noopener">Search JIRA like a boss with JQL</a>
Here is example JQL search query for Public JIRA site. Replace jira.atlassian.com and project JRASERVER with your own values.
<pre class="lang:default highlight:0 decode:true">https://jira.atlassian.com/rest/api/2/search?jql=project=JRASERVER
https://jira.atlassian.com/rest/api/2/search?jql=project=JRASERVER AND status=Open
https://jira.atlassian.com/rest/api/2/search?jql=project=JRASERVER AND status in (Open,Done)
https://jira.atlassian.com/rest/api/2/search?jql=project=JRASERVER AND status=Open order by lastViewed DESC</pre>
<div id="attachment_5829" align="aligncenter">

<a href="https://zappysys.com/blog/wp-content/uploads/2018/12/jira-search-using-jql.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" class="wp-image-5830 size-medium_large" src="https://zappysys.com/blog/wp-content/uploads/2018/12/jira-search-using-jql-768x672.png" alt="Search using jql parameter" width="720" height="630" srcset="https://zappysys.com/blog/wp-content/uploads/2018/12/jira-search-using-jql-768x672.png 768w, https://zappysys.com/blog/wp-content/uploads/2018/12/jira-search-using-jql-300x263.png 300w, https://zappysys.com/blog/wp-content/uploads/2018/12/jira-search-using-jql.png 802w" sizes="(max-width: 720px) 100vw, 720px" /></a>

Search using JQL parameter

</div></li>
 	<li>Click on Select Filter to set the Filter.
<div class="wp-caption alignnone">

<a href="https://zappysys.com/blog/wp-content/uploads/2018/11/odbc_json_driver_select_filter.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" class="size-full wp-image-5393" src="https://zappysys.com/blog/wp-content/uploads/2018/11/odbc_json_driver_select_filter.png" alt="ODBC JSON Driver for JIRA API: Select Filter" width="1283" height="699" srcset="https://zappysys.com/blog/wp-content/uploads/2018/11/odbc_json_driver_select_filter.png 1283w, https://zappysys.com/blog/wp-content/uploads/2018/11/odbc_json_driver_select_filter-300x163.png 300w, https://zappysys.com/blog/wp-content/uploads/2018/11/odbc_json_driver_select_filter-768x418.png 768w, https://zappysys.com/blog/wp-content/uploads/2018/11/odbc_json_driver_select_filter-1024x558.png 1024w" sizes="(max-width: 1283px) 100vw, 1283px" /></a>

ODBC JSON Driver for JIRA API: Select Filter

</div></li>
 	<li>You are done with the Configurations, Click on Test Connection to test the Connection.
<div class="wp-caption alignnone">

<a href="https://zappysys.com/blog/wp-content/uploads/2018/11/odbc_json_driver_test_connection.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" class="size-full wp-image-5394" src="https://zappysys.com/blog/wp-content/uploads/2018/11/odbc_json_driver_test_connection.png" alt="ODBC JSON Driver - Test Connection" width="802" height="702" srcset="https://zappysys.com/blog/wp-content/uploads/2018/11/odbc_json_driver_test_connection.png 802w, https://zappysys.com/blog/wp-content/uploads/2018/11/odbc_json_driver_test_connection-300x263.png 300w, https://zappysys.com/blog/wp-content/uploads/2018/11/odbc_json_driver_test_connection-768x672.png 768w" sizes="(max-width: 802px) 100vw, 802px" /></a>

ODBC JSON Driver - Test Connection

</div></li>
 	<li>After that select the table from where you want to get data.
<div class="wp-caption alignnone">

<a href="https://zappysys.com/blog/wp-content/uploads/2018/11/odbc_json_driver_create_query_of_json.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" class="size-full wp-image-5396" src="https://zappysys.com/blog/wp-content/uploads/2018/11/odbc_json_driver_create_query_of_json.png" alt="JSON Driver: Create Query of JSON data" width="749" height="434" srcset="https://zappysys.com/blog/wp-content/uploads/2018/11/odbc_json_driver_create_query_of_json.png 749w, https://zappysys.com/blog/wp-content/uploads/2018/11/odbc_json_driver_create_query_of_json-300x174.png 300w" sizes="(max-width: 749px) 100vw, 749px" /></a>

JSON Driver: Create Query of JSON data

</div></li>
 	<li>Click on the Preview Data button to preview the data.
<div class="wp-caption alignnone">

<a href="https://zappysys.com/blog/wp-content/uploads/2018/11/odbc_json_driver_preview_data.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" class="wp-image-5553 size-full" src="https://zappysys.com/blog/wp-content/uploads/2018/11/odbc_json_driver_preview_data.png" alt="Preview issues table data" width="1016" height="734" srcset="https://zappysys.com/blog/wp-content/uploads/2018/11/odbc_json_driver_preview_data.png 1016w, https://zappysys.com/blog/wp-content/uploads/2018/11/odbc_json_driver_preview_data-300x217.png 300w, https://zappysys.com/blog/wp-content/uploads/2018/11/odbc_json_driver_preview_data-768x555.png 768w" sizes="(max-width: 1016px) 100vw, 1016px" /></a>

Preview issues table data

</div></li>
 	<li>And that’s it, Now we will move forward to the next Phase.</li>
</ol>
<h3>Build your Own JQL Search queries for JIRA Issue</h3>
In previous sections we saw some basic JQL queries to search JIRA Issues using API call. Now lets look at how to build such queries using online UI (Think like a query builder). from JIRA.
<ol>
 	<li>JIRA has its own public Issue repository which you can browse any time by going here <a href="https://jira.atlassian.com/issues/" target="_blank" rel="noopener">https://jira.atlassian.com/issues/</a></li>
 	<li>Now try to change filter settings for search criteria (E.g. change Project, Status etc)</li>
 	<li>You will notice when you make change your URL keeps changing too. From that URL you can extract ?jql=xxxxxxx  part and use it as template for your own JIRA API search queries.</li>
</ol>
For more information check <a href="https://www.youtube.com/watch?v=oSxBnqdF3-A" target="_blank" rel="noopener">how to build JQL for JIRA REST API Call</a>.</div>
<h3>Create and configure new SSRS Reports (Using ODBC Connection)</h3>
<p>Let&#8217;s create a new SSRS project.</p>
<ol>
<li>In SSRS, in a new Reporting Service Project, add a new Data Source:
<div id="attachment_3219" style="width: 585px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2018/04/add-ssrs-data-source.jpg" target="_blank" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-3219" class="wp-image-3219 size-full" src="https://zappysys.com/blog/wp-content/uploads/2018/04/add-ssrs-data-source.jpg" alt="Add REST data source in SSRS" width="575" height="207" srcset="https://zappysys.com/blog/wp-content/uploads/2018/04/add-ssrs-data-source.jpg 575w, https://zappysys.com/blog/wp-content/uploads/2018/04/add-ssrs-data-source-300x108.jpg 300w" sizes="(max-width: 575px) 100vw, 575px" /></a><p id="caption-attachment-3219" class="wp-caption-text">Add SSRS data source</p></div></li>
<li>Also, specify a name for the data source and in type select ODBC. Press Edit to select the ODBC connection for JSON and REST API and select the ZappySys Data Source name that we created before.
<div id="attachment_5760" style="width: 1209px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2018/12/add-ssrs-json-data-source.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-5760" class="wp-image-5760 size-full" src="https://zappysys.com/blog/wp-content/uploads/2018/12/add-ssrs-json-data-source.png" alt="Add ODBC JSON Data Source" width="1199" height="551" srcset="https://zappysys.com/blog/wp-content/uploads/2018/12/add-ssrs-json-data-source.png 1199w, https://zappysys.com/blog/wp-content/uploads/2018/12/add-ssrs-json-data-source-300x138.png 300w, https://zappysys.com/blog/wp-content/uploads/2018/12/add-ssrs-json-data-source-768x353.png 768w, https://zappysys.com/blog/wp-content/uploads/2018/12/add-ssrs-json-data-source-1024x471.png 1024w" sizes="(max-width: 1199px) 100vw, 1199px" /></a><p id="caption-attachment-5760" class="wp-caption-text">Add ODBC JSON Data Source</p></div></li>
<li>Now let’s create a new SSRS report which uses the API data source we created in the previous section.</li>
<li>Right-click on the Reports node and click Add New Report (Wizard mode)
<div id="attachment_3228" style="width: 446px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2018/04/ssrs-add-new-json-report.jpg" target="_blank" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-3228" class="wp-image-3228 size-full" src="https://zappysys.com/blog/wp-content/uploads/2018/04/ssrs-add-new-json-report.jpg" alt="Add report" width="436" height="271" srcset="https://zappysys.com/blog/wp-content/uploads/2018/04/ssrs-add-new-json-report.jpg 436w, https://zappysys.com/blog/wp-content/uploads/2018/04/ssrs-add-new-json-report-300x186.jpg 300w" sizes="(max-width: 436px) 100vw, 436px" /></a><p id="caption-attachment-3228" class="wp-caption-text">Add new SSRS report</p></div>
<p>&nbsp;</li>
<li>In New report, wizard window clicks on next button until you reach the step of query builder like below screen. Now Press the query builder button.<div class="su-note"  style="border-color:#e5da9d;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;"><div class="su-note-inner su-u-clearfix su-u-trim" style="background-color:#fff4b7;border-color:#ffffff;color:#333333;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;">Note: You can also copy and paste the query directly into the Query string box which we created in the previous phase.</p><pre class="crayon-plain-tag">SELECT * FROM "issues"</pre><p>
</div></div>
<div id="attachment_3230" style="width: 735px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2018/04/ssrs-query-builder.jpg" target="_blank" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-3230" class="wp-image-3230 size-full" src="https://zappysys.com/blog/wp-content/uploads/2018/04/ssrs-query-builder.jpg" alt="Create query from REST API" width="725" height="521" srcset="https://zappysys.com/blog/wp-content/uploads/2018/04/ssrs-query-builder.jpg 725w, https://zappysys.com/blog/wp-content/uploads/2018/04/ssrs-query-builder-300x216.jpg 300w" sizes="(max-width: 725px) 100vw, 725px" /></a><p id="caption-attachment-3230" class="wp-caption-text">Query builder</p></div></li>
<li>Now, press the Add table icon and go to Views. Select issues(DATA) and press Add.
<div id="attachment_5781" style="width: 730px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2018/12/ssrs-add-table.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-5781" class="wp-image-5781 size-medium_large" src="https://zappysys.com/blog/wp-content/uploads/2018/12/ssrs-add-table-768x572.png" alt="ssrs-add-table" width="720" height="536" srcset="https://zappysys.com/blog/wp-content/uploads/2018/12/ssrs-add-table-768x572.png 768w, https://zappysys.com/blog/wp-content/uploads/2018/12/ssrs-add-table-300x223.png 300w, https://zappysys.com/blog/wp-content/uploads/2018/12/ssrs-add-table.png 917w" sizes="(max-width: 720px) 100vw, 720px" /></a><p id="caption-attachment-5781" class="wp-caption-text">SSRS Add Table</p></div></li>
<li>Now remove <strong>DATA.</strong> prefix from the query so that our query look&#8217;s like as below and Click Ok button:<br />
<pre class="crayon-plain-tag">SELECT issues.* FROM issues</pre>
</li>
<li>Now press Next Button and select <strong>Tabular</strong> Report Type and go to next in the following option until the completing wizard and specify a name for the report and finally press the <strong>Finish</strong> button.</li>
<li>Now click on the Preview a report. It shows the report and exports the REST API data to Word, Excel, PowerPoint, etc:
<div id="attachment_5784" style="width: 750px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2018/12/ssrs-preview-report-issues-1.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-5784" class="wp-image-5784 size-full" src="https://zappysys.com/blog/wp-content/uploads/2018/12/ssrs-preview-report-issues-1.png" alt="SSRS Preview a Report" width="740" height="578" srcset="https://zappysys.com/blog/wp-content/uploads/2018/12/ssrs-preview-report-issues-1.png 740w, https://zappysys.com/blog/wp-content/uploads/2018/12/ssrs-preview-report-issues-1-300x234.png 300w" sizes="(max-width: 740px) 100vw, 740px" /></a><p id="caption-attachment-5784" class="wp-caption-text">SSRS Preview a Report</p></div></li>
<li>That’s all we have successfully imported the JIRA data in SSRS Reports (SQL Server Reporting Services).</li>
</ol>
<h2><span id="Conclusion">Conclusion</span></h2>
<p>In this blog, we have learned how to retrieve the data from JIRA using ODBC JSON Driver and then generated the SSRS Reports using those data with ODBC DSN in a very simple way. You can achieve many more functionalities with the use of <a href="https://zappysys.com/products/odbc-powerpack/">ODBC PowerPack</a>.</p>
<h2><span id="References">References</span></h2>
<p>Finally, you can use the following links for more information about the use of JIRA API with our tools:</p>
<ul>
<li><a href="https://developer.atlassian.com/cloud/jira/platform/rest/" target="_blank" rel="noopener">JIRA Documentation for API</a></li>
<li><strong>Landing Page</strong> for <a href="https://zappysys.com/products/odbc-powerpack/odbc-json-rest-api-driver/" target="_blank" rel="noopener">ODBC JSON / REST API Driver</a>, you can also find <a href="https://youtu.be/iwezz0Z3D4U" target="_blank" rel="noopener">Tutorial Video</a> here.</li>
<li><strong>Help File:</strong> Documentation of <a href="https://zappysys.com/onlinehelp/odbc-powerpack/index.htm#page=json-odbc-driver-intro.htm" target="_blank" rel="noopener">JSON Driver</a>.</li>
<li><strong>Blog/articles link</strong>: <a href="https://zappysys.com/blog/category/odbc-powerpack/odbc-drivers/json-rest-api-driver/" target="_blank" rel="noopener">https://zappysys.com/blog/category/odbc-powerpack/odbc-drivers/json-rest-api-driver/</a></li>
</ul>
<p>The post <a href="https://zappysys.com/blog/read-jira-data-in-ssrs-reports/">Read JIRA data in SSRS Reports (SQL Server Reporting Services)</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>How to Import JIRA data in Power BI</title>
		<link>https://zappysys.com/blog/how-to-import-jira-data-in-powerbi/</link>
		
		<dc:creator><![CDATA[ZappySys]]></dc:creator>
		<pubDate>Wed, 26 Dec 2018 07:53:23 +0000</pubDate>
				<category><![CDATA[JSON File / REST API Driver]]></category>
		<category><![CDATA[Reporting - Microsoft Power BI]]></category>
		<category><![CDATA[REST API]]></category>
		<category><![CDATA[jira]]></category>
		<category><![CDATA[json]]></category>
		<category><![CDATA[odbc]]></category>
		<category><![CDATA[odbc json driver]]></category>
		<category><![CDATA[power bi]]></category>
		<category><![CDATA[rest api]]></category>
		<guid isPermaLink="false">https://zappysys.com/blog/?p=5715</guid>

					<description><![CDATA[<p>Introduction In our previous blog we saw how to import rest api in Power BI. We recommend you go through that article first. In this article, we will learn how to Import JIRA data in Power BI. For that, we will create a successful HTML Connection then request for reading JIRA data and loading into Power [&#8230;]</p>
<p>The post <a href="https://zappysys.com/blog/how-to-import-jira-data-in-powerbi/">How to Import JIRA data in Power BI</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Introduction</h2>
<div class="su-note"  style="border-color:#e5de9d;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;"><div class="su-note-inner su-u-clearfix su-u-trim" style="background-color:#FFF8B7;border-color:#ffffff;color:#333333;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;"><strong>UPDATE:</strong> ZappySys has released a brand new <a href="https://zappysys.com/api/integration-hub/zendesk-connector/power-bi">API Connector for Jira Online</a> which makes it much simpler to <strong>Read/Write Jira Data in Power BI</strong> compared to the steps listed in this article. You can still use steps from this article but if you are new to API or want to avoid learning curve with API then use newer approach.</p>
<p>Please visit <a href="https://zappysys.com/api/integration-hub/">this page to see all</a> Pre-Configured ready to use API connectors which you can use in <a href="https://zappysys.com/products/ssis-powerpack/ssis-api-source/">SSIS API Source</a> / <a href="https://zappysys.com/products/ssis-powerpack/ssis-api-destination/">SSIS API Destination</a> OR <a href="https://zappysys.com/products/odbc-powerpack/odbc-api-driver/">API ODBC Driver</a> (for non-SSIS Apps such as Excel, Power BI, Informatica).</p>
</div></div>
<a href="https://zappysys.com/blog/wp-content/uploads/2018/06/jira-to-power-biimport-export.png"><img loading="lazy" decoding="async" class="alignleft wp-image-5717 size-thumbnail" src="https://zappysys.com/blog/wp-content/uploads/2018/06/jira-to-power-biimport-export-150x150.png" alt="jira-to-power-biimport-export" width="150" height="150" /></a>In our previous blog we saw how to <a href="https://zappysys.com/blog/howto-import-json-rest-api-power-bi/" target="_blank" rel="noopener">import rest api in Power BI</a>. We recommend you go through that article first. In this article, we will learn how to <strong>Import JIRA data in Power BI</strong>. For that, we will create a successful HTML Connection then request for reading JIRA data and loading into Power BI</p>
<p>Power BI is a very popular Business Analytic tool used to get business information. It is very popular because it is easy to install, simple to learn and very intuitive. Also, REST API is very popular these days and we wanted to show you a way to integrate them in Power BI with the help of the <a href="https://zappysys.com/products/odbc-powerpack/">ZappySys ODBC PowerPack</a>. This software includes powerful drivers to <strong>query REST API</strong> URL, Local <strong>XML / JSON files</strong> and <strong>XML SOAP Web Service</strong> with simple SQL queries.</p>
<p>In nutshell, this post will focus on how to call JIRA API using <a href="https://zappysys.com/products/odbc-powerpack/">Zappysys ODBC PowerPack</a>. So let&#8217;s get started</p>
<h2><span id="Requirements">Prerequisite</span></h2>
<ol>
<li>First, you will need to have our <a href="https://zappysys.com/products/odbc-powerpack/">ZappySys ODBC Power Pack.</a></li>
<li>In the second place, you will need to have internet access.</li>
<li>On third place, <a href="https://powerbi.microsoft.com/en-us/desktop/" target="_blank" rel="noopener">Power BI Desktop (FREE)</a> installed.</li>
<li><a href="https://id.atlassian.com/manage-profile">JIRA Atlassian</a> account.</li>
</ol>
<h2>What is JIRA</h2>
<p>JIRA is Atlassian’s popular project- and issue-tracking platform used by development and technical support teams to get more work done and faster.</p>
<p>It combines:</p>
<p><strong>issue tracking</strong> &#8211; a software application that allows to record and follow the progress of every problem or &#8220;issue&#8221; that user identifies until the problem is resolved.<br />
<strong>agile project management</strong> &#8211; an iterative approach to planning and guiding project processes. customizable workflow, and a pluggable integration &#8211; integrates with Freshdesk, GitHub, Zendesk, Zapbook, Asana and so on.</p>
<h2><span id="Getting_Started">Getting Started</span></h2>
<p>In order to start, we will show several examples. ZappySys ODBC PowerPack includes the ZappySys JSON Driver that will help you to call JIRA API, retrieve various data from JIRA and load that data in Power BI. To learn more about JIRA API <a href="https://developer.atlassian.com/cloud/jira/platform/rest/" target="_blank" rel="noopener">check this help file</a>.</p>
<div class="content_block" id="custom_post_widget-4816"><h2>Generate API Token</h2>
To access JIRA data using REST API call you need to generate an API Token in your Atlassian account. Follow the steps mentioned below to generate API Token:
<ol>
 	<li>you can directly login to the <a href="https://id.atlassian.com" target="_blank" rel="noopener">JIRA Atlassian Cloud site</a> with your credentials, and redirect to the <a href="https://id.atlassian.com/profile/profile.action" target="_blank" rel="noopener">JIRA Atlassian Cloud Account's Profile Page</a> for generating an API Token.</li>
 	<li>Click <strong>API tokens</strong>, then <strong>Create API token</strong>.
<div class="wp-caption aligncenter">

<a href="https://zappysys.com/blog/wp-content/uploads/2018/07/jira-generate-api-token-step-1.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" class="wp-image-4315 size-full" src="https://zappysys.com/blog/wp-content/uploads/2018/07/jira-generate-api-token-step-1.png" alt="Generate API Token - Step - 1" width="1600" height="605" srcset="https://zappysys.com/blog/wp-content/uploads/2018/07/jira-generate-api-token-step-1.png 1600w, https://zappysys.com/blog/wp-content/uploads/2018/07/jira-generate-api-token-step-1-300x113.png 300w, https://zappysys.com/blog/wp-content/uploads/2018/07/jira-generate-api-token-step-1-768x290.png 768w, https://zappysys.com/blog/wp-content/uploads/2018/07/jira-generate-api-token-step-1-1024x387.png 1024w" sizes="(max-width: 1600px) 100vw, 1600px" /></a>
<p class="wp-caption-text">Generate API Token - Step - 1</p>

</div></li>
 	<li>Create API Token - Give Label name to your API token which you are generating now
<div class="wp-caption aligncenter">

<a href="https://zappysys.com/blog/wp-content/uploads/2018/07/jira-generate-api-token-step-2.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" class="size-full wp-image-4316" src="https://zappysys.com/blog/wp-content/uploads/2018/07/jira-generate-api-token-step-2.png" alt="Generate API Token - Step - 2" width="1599" height="603" srcset="https://zappysys.com/blog/wp-content/uploads/2018/07/jira-generate-api-token-step-2.png 1599w, https://zappysys.com/blog/wp-content/uploads/2018/07/jira-generate-api-token-step-2-300x113.png 300w, https://zappysys.com/blog/wp-content/uploads/2018/07/jira-generate-api-token-step-2-768x290.png 768w, https://zappysys.com/blog/wp-content/uploads/2018/07/jira-generate-api-token-step-2-1024x386.png 1024w" sizes="(max-width: 1599px) 100vw, 1599px" /></a>
<p class="wp-caption-text">Generate API Token - Step - 2</p>

</div></li>
 	<li>Use <strong>Copy to the clipboard</strong>, and paste the token into your or elsewhere:
<div class="su-note-inner su-clearfix" style="background-color:#fff4b7;border-color:#fffdf1;color:#333333"><blockquote>Note:  * For security reasons it isn't possible to view the token after closing the creation dialog; if necessary, create a new token. * You should store the token securely, just as for any password.</blockquote></div>
<div class="wp-caption aligncenter">

<a href="https://zappysys.com/blog/wp-content/uploads/2018/07/jira-generate-api-token-step-3.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" class="size-full wp-image-4321" src="https://zappysys.com/blog/wp-content/uploads/2018/07/jira-generate-api-token-step-3.png" alt="Generate API Token - Step - 3" width="1600" height="602" srcset="https://zappysys.com/blog/wp-content/uploads/2018/07/jira-generate-api-token-step-3.png 1600w, https://zappysys.com/blog/wp-content/uploads/2018/07/jira-generate-api-token-step-3-300x113.png 300w, https://zappysys.com/blog/wp-content/uploads/2018/07/jira-generate-api-token-step-3-768x289.png 768w, https://zappysys.com/blog/wp-content/uploads/2018/07/jira-generate-api-token-step-3-1024x385.png 1024w" sizes="(max-width: 1600px) 100vw, 1600px" /></a>
<p class="wp-caption-text">Generate API Token - Step - 3</p>

</div></li>
 	<li>If you forgot API token, then you can Revoke your old API token and create new API token OR you can create multiple API tokens too.
<div class="wp-caption aligncenter">

<a href="https://zappysys.com/blog/wp-content/uploads/2018/07/jira-generate-api-token-step-4.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" class="wp-image-4326 size-full" src="https://zappysys.com/blog/wp-content/uploads/2018/07/jira-generate-api-token-step-4.png" alt="Generate API token - Step - 4" width="1600" height="601" srcset="https://zappysys.com/blog/wp-content/uploads/2018/07/jira-generate-api-token-step-4.png 1600w, https://zappysys.com/blog/wp-content/uploads/2018/07/jira-generate-api-token-step-4-300x113.png 300w, https://zappysys.com/blog/wp-content/uploads/2018/07/jira-generate-api-token-step-4-768x288.png 768w, https://zappysys.com/blog/wp-content/uploads/2018/07/jira-generate-api-token-step-4-1024x385.png 1024w" sizes="(max-width: 1600px) 100vw, 1600px" /></a>
<p class="wp-caption-text">Generate API token - Step - 4</p>

</div></li>
</ol>
Now we have successfully generated an API token. Let´s start with an example. In this example, we will show how to read Tasks/Issues data from JIRA and store that data into a SQL table with SSIS.</div>
<div class="content_block" id="custom_post_widget-5776"><h2>About JIRA REST API</h2>
JIRA On-premises and Cloud Version both offers REST API. Here are some examples of <a href="https://developer.atlassian.com/server/jira/platform/jira-rest-api-examples/" target="_blank" rel="noopener">JIRA REST API</a>. For reading JIRA REST API data we will use <a href="https://developer.atlassian.com/server/jira/platform/jira-rest-api-example-query-issues-6291606/" target="_blank" rel="noopener">JIRA REST API Search method</a> which returns data in JSON format. Search API support use of <a href="https://developer.atlassian.com/server/jira/platform/jira-rest-api-example-query-issues-6291606/" target="_blank" rel="noopener">JQL Syntax</a> to filter issues. If you don't specify <strong>JQL</strong> parameters in /search endpoint then all issues will be returned. Check this link to learn <a href="https://www.youtube.com/watch?v=oSxBnqdF3-A" target="_blank" rel="noopener">how to build JQL for JIRA REST API Call</a>. If you don't have JIRA hosted instance yet but still want to try REST API Examples on public JIRA Server then try below URL (Its official JIRA site which lists their own issues). For example, try to copy below URL in a browser and hit enter.
<pre class="">https://jira.atlassian.com/rest/api/2/search?jql=project=JRASERVER</pre>
<h2><span id="Step-by-Step_Import_REST_API_into_Power_BI">Step-by-Step: Import JIRA data using REST API </span></h2>
Now once you have API token in the JIRA Atlassian Cloud website we can move to ODBC JSON Driver Configuration Part. For this example purpose you can use the following URL:
<pre class="lang:default decode:true">https://YOUR-DOMAIN.atlassian.net/rest/api/2/search?startAt=0&amp;maxResults=100&amp;jql=project=MYPROJECT</pre>
hence, <strong>your-domain is your Atlassian Cloud account’s domain name (we are using zappysys2.atlassian.net).</strong>
Therefore <strong>startAt</strong> is the index of the first item returned in the page of results.
And another<strong> maxResults</strong> is the maximum number of items that can be returned per page.

Above all, each API endpoint may have a different limit for the number of items returned, and these limits may change without notice. (For more See this <a href="https://developer.atlassian.com/cloud/jira/platform/rest/#pagination" target="_blank" rel="noopener">JIRA API Documentation for Pagination</a>)
<h3><span id="Create_ODBC_DSN_8211_JSON_Driver">Create ODBC – Zappysys JSON Driver Data Source</span></h3>
<ol>
 	<li>To do this, we will first open the ODBC Data Source : <strong>Select 64-Bit</strong> for 64bit apps and 32bit if your app / process doesnt support 64bit.
<div class="wp-caption alignnone">

<a href="https://zappysys.com/blog/wp-content/uploads/2018/06/open-ODBC-Data-souce-administrator.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" class="wp-image-4232 size-full" src="https://zappysys.com/blog/wp-content/uploads/2018/06/open-ODBC-Data-souce-administrator.png" alt="ODBC Windows" width="393" height="531" srcset="https://zappysys.com/blog/wp-content/uploads/2018/06/open-ODBC-Data-souce-administrator.png 393w, https://zappysys.com/blog/wp-content/uploads/2018/06/open-ODBC-Data-souce-administrator-222x300.png 222w" sizes="(max-width: 393px) 100vw, 393px" /></a> Windows ODBC Data Sources

</div></li>
 	<li>Click on Add button in User DSN Tab and then select JSON Driver from the driver list and click on Finish button to Create a new JSON Driver.
<div class="wp-caption alignnone">

<a href="https://zappysys.com/blog/wp-content/uploads/2018/06/odbc-user-dsn-select-driver.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" class="wp-image-3993 size-full" src="https://zappysys.com/blog/wp-content/uploads/2018/06/odbc-user-dsn-select-driver.png" alt="ODBC User DSN Tab: Add new Driver Screen" width="1057" height="422" srcset="https://zappysys.com/blog/wp-content/uploads/2018/06/odbc-user-dsn-select-driver.png 1057w, https://zappysys.com/blog/wp-content/uploads/2018/06/odbc-user-dsn-select-driver-300x120.png 300w, https://zappysys.com/blog/wp-content/uploads/2018/06/odbc-user-dsn-select-driver-768x307.png 768w, https://zappysys.com/blog/wp-content/uploads/2018/06/odbc-user-dsn-select-driver-1024x409.png 1024w" sizes="(max-width: 1057px) 100vw, 1057px" /></a> ODBC User DSN Tab: Add new Driver Screen

</div></li>
 	<li>Now it's time to connect with JIRA. Let's use JSON Driver Data source with the following URL. Change domain with your own domain.
<div id="crayon-5befbb0bdc2d5563302218" class="crayon-syntax crayon-theme-vs2012 crayon-font-courier-new crayon-os-pc print-yes notranslate">
<div class="crayon-main">
<pre class="lang:default decode:true" style="padding-left: 30px;">https://{yourdomain}.atlassian.net/rest/api/2/search?startAt=0&amp;maxResults=100
</pre>
</div>
</div>
<div class="wp-caption alignnone">

<a href="https://zappysys.com/blog/wp-content/uploads/2018/11/odbc_json_driver_enter_jira_request_url.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" class="size-full wp-image-5390" src="https://zappysys.com/blog/wp-content/uploads/2018/11/odbc_json_driver_enter_jira_request_url.png" alt="ODBC JSON Driver: Enter Request URL" width="802" height="702" srcset="https://zappysys.com/blog/wp-content/uploads/2018/11/odbc_json_driver_enter_jira_request_url.png 802w, https://zappysys.com/blog/wp-content/uploads/2018/11/odbc_json_driver_enter_jira_request_url-300x263.png 300w, https://zappysys.com/blog/wp-content/uploads/2018/11/odbc_json_driver_enter_jira_request_url-768x672.png 768w" sizes="(max-width: 802px) 100vw, 802px" /></a>

ODBC JSON Driver: Enter Request URL

</div></li>
 	<li>It is time to configure the Other Settings. Select HTTP Connection Type from the Connection Type drop-down and Click on Click to Configure Link to Configure the Connection Manager.
<div class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2018/11/jira-odbc-json-driver-configure-http-api-connection-e1548714720542.png" target="_blank" rel="noopener"><img decoding="async" class="wp-image-5830 size-medium_large" src="https://zappysys.com/blog/wp-content/uploads/2018/11/jira-odbc-json-driver-configure-http-api-connection-e1548714720542.png" alt="JIRA REST API Connection - Use ZappySys JSON Driver HTTP Connection" width="720" /></a>JIRA REST API Connection - Use ZappySys JSON Driver HTTP Connection</div></li>
 	<li>Now, we are going to set Pagination related configurations for JIRA Search request. Page number indicator must be <span class="crayon-syntax crayon-syntax-inline crayon-theme-vs2012 crayon-theme-vs2012-inline crayon-font-courier-new" style="font-size: 12px !important; line-height: 15px !important;"><span class="crayon-pre crayon-code" style="font-size: 12px !important; line-height: 15px !important;"><span class="crayon-v">startAt</span></span></span> and <span class="crayon-syntax crayon-syntax-inline crayon-theme-vs2012 crayon-theme-vs2012-inline crayon-font-courier-new" style="font-size: 12px !important; line-height: 15px !important;"><span class="crayon-pre crayon-code" style="font-size: 12px !important; line-height: 15px !important;"><span class="crayon-v">maxResults</span></span></span> value in URL must match with Increment By (i.e. 50)
<div class="wp-caption alignnone">

<a href="https://zappysys.com/blog/wp-content/uploads/2018/12/odbc_json_driver_pagination_configuration.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" class="aligncenter wp-image-9305 size-medium_large" src="https://zappysys.com/blog/wp-content/uploads/2018/12/odbc_json_driver_pagination_configuration.png" alt="ODBC JSON Driver - JIRA request Pagination Configurations Settings" width="720" height="630" srcset="https://zappysys.com/blog/wp-content/uploads/2018/12/odbc_json_driver_pagination_configuration.png 802w, https://zappysys.com/blog/wp-content/uploads/2018/12/odbc_json_driver_pagination_configuration-300x263.png 300w, https://zappysys.com/blog/wp-content/uploads/2018/12/odbc_json_driver_pagination_configuration-768x672.png 768w" sizes="(max-width: 720px) 100vw, 720px" /></a>

ODBC JSON Driver - JIRA request Pagination Configurations Settings

</div></li>
 	<li>After adding pagination parameters let's add <span id="crayon-5c2b1cd384d9b365821121" class="crayon-syntax crayon-syntax-inline crayon-theme-vs2012 crayon-theme-vs2012-inline crayon-font-courier-new" style="font-size: 12px !important; line-height: 15px !important;"><span class="crayon-pre crayon-code" style="font-size: 12px !important; line-height: 15px !important;"><span class="crayon-v">JQL</span><span class="crayon-o">=</span></span></span> search parameter to get specific data. Here we are searching the data by Project name and status. You can find more information about JQL on this link: <a href="https://confluence.atlassian.com/jiracore/blog/2015/07/search-jira-like-a-boss-with-jql" target="_blank" rel="noopener">Search JIRA like a boss with JQL</a>
Here is example JQL search query for Public JIRA site. Replace jira.atlassian.com and project JRASERVER with your own values.
<pre class="lang:default highlight:0 decode:true">https://jira.atlassian.com/rest/api/2/search?jql=project=JRASERVER
https://jira.atlassian.com/rest/api/2/search?jql=project=JRASERVER AND status=Open
https://jira.atlassian.com/rest/api/2/search?jql=project=JRASERVER AND status in (Open,Done)
https://jira.atlassian.com/rest/api/2/search?jql=project=JRASERVER AND status=Open order by lastViewed DESC</pre>
<div id="attachment_5829" align="aligncenter">

<a href="https://zappysys.com/blog/wp-content/uploads/2018/12/jira-search-using-jql.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" class="wp-image-5830 size-medium_large" src="https://zappysys.com/blog/wp-content/uploads/2018/12/jira-search-using-jql-768x672.png" alt="Search using jql parameter" width="720" height="630" srcset="https://zappysys.com/blog/wp-content/uploads/2018/12/jira-search-using-jql-768x672.png 768w, https://zappysys.com/blog/wp-content/uploads/2018/12/jira-search-using-jql-300x263.png 300w, https://zappysys.com/blog/wp-content/uploads/2018/12/jira-search-using-jql.png 802w" sizes="(max-width: 720px) 100vw, 720px" /></a>

Search using JQL parameter

</div></li>
 	<li>Click on Select Filter to set the Filter.
<div class="wp-caption alignnone">

<a href="https://zappysys.com/blog/wp-content/uploads/2018/11/odbc_json_driver_select_filter.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" class="size-full wp-image-5393" src="https://zappysys.com/blog/wp-content/uploads/2018/11/odbc_json_driver_select_filter.png" alt="ODBC JSON Driver for JIRA API: Select Filter" width="1283" height="699" srcset="https://zappysys.com/blog/wp-content/uploads/2018/11/odbc_json_driver_select_filter.png 1283w, https://zappysys.com/blog/wp-content/uploads/2018/11/odbc_json_driver_select_filter-300x163.png 300w, https://zappysys.com/blog/wp-content/uploads/2018/11/odbc_json_driver_select_filter-768x418.png 768w, https://zappysys.com/blog/wp-content/uploads/2018/11/odbc_json_driver_select_filter-1024x558.png 1024w" sizes="(max-width: 1283px) 100vw, 1283px" /></a>

ODBC JSON Driver for JIRA API: Select Filter

</div></li>
 	<li>You are done with the Configurations, Click on Test Connection to test the Connection.
<div class="wp-caption alignnone">

<a href="https://zappysys.com/blog/wp-content/uploads/2018/11/odbc_json_driver_test_connection.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" class="size-full wp-image-5394" src="https://zappysys.com/blog/wp-content/uploads/2018/11/odbc_json_driver_test_connection.png" alt="ODBC JSON Driver - Test Connection" width="802" height="702" srcset="https://zappysys.com/blog/wp-content/uploads/2018/11/odbc_json_driver_test_connection.png 802w, https://zappysys.com/blog/wp-content/uploads/2018/11/odbc_json_driver_test_connection-300x263.png 300w, https://zappysys.com/blog/wp-content/uploads/2018/11/odbc_json_driver_test_connection-768x672.png 768w" sizes="(max-width: 802px) 100vw, 802px" /></a>

ODBC JSON Driver - Test Connection

</div></li>
 	<li>After that select the table from where you want to get data.
<div class="wp-caption alignnone">

<a href="https://zappysys.com/blog/wp-content/uploads/2018/11/odbc_json_driver_create_query_of_json.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" class="size-full wp-image-5396" src="https://zappysys.com/blog/wp-content/uploads/2018/11/odbc_json_driver_create_query_of_json.png" alt="JSON Driver: Create Query of JSON data" width="749" height="434" srcset="https://zappysys.com/blog/wp-content/uploads/2018/11/odbc_json_driver_create_query_of_json.png 749w, https://zappysys.com/blog/wp-content/uploads/2018/11/odbc_json_driver_create_query_of_json-300x174.png 300w" sizes="(max-width: 749px) 100vw, 749px" /></a>

JSON Driver: Create Query of JSON data

</div></li>
 	<li>Click on the Preview Data button to preview the data.
<div class="wp-caption alignnone">

<a href="https://zappysys.com/blog/wp-content/uploads/2018/11/odbc_json_driver_preview_data.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" class="wp-image-5553 size-full" src="https://zappysys.com/blog/wp-content/uploads/2018/11/odbc_json_driver_preview_data.png" alt="Preview issues table data" width="1016" height="734" srcset="https://zappysys.com/blog/wp-content/uploads/2018/11/odbc_json_driver_preview_data.png 1016w, https://zappysys.com/blog/wp-content/uploads/2018/11/odbc_json_driver_preview_data-300x217.png 300w, https://zappysys.com/blog/wp-content/uploads/2018/11/odbc_json_driver_preview_data-768x555.png 768w" sizes="(max-width: 1016px) 100vw, 1016px" /></a>

Preview issues table data

</div></li>
 	<li>And that’s it, Now we will move forward to the next Phase.</li>
</ol>
<h3>Build your Own JQL Search queries for JIRA Issue</h3>
In previous sections we saw some basic JQL queries to search JIRA Issues using API call. Now lets look at how to build such queries using online UI (Think like a query builder). from JIRA.
<ol>
 	<li>JIRA has its own public Issue repository which you can browse any time by going here <a href="https://jira.atlassian.com/issues/" target="_blank" rel="noopener">https://jira.atlassian.com/issues/</a></li>
 	<li>Now try to change filter settings for search criteria (E.g. change Project, Status etc)</li>
 	<li>You will notice when you make change your URL keeps changing too. From that URL you can extract ?jql=xxxxxxx  part and use it as template for your own JIRA API search queries.</li>
</ol>
For more information check <a href="https://www.youtube.com/watch?v=oSxBnqdF3-A" target="_blank" rel="noopener">how to build JQL for JIRA REST API Call</a>.</div>
<h2><span id="Load_data_into_Power_BI">Load JIRA data into Power BI (Connect JIRA REST API)</span></h2>
<div class="content_block" id="custom_post_widget-6247">In the previous section, we configured and added the ZappySys drivers in the ODBC Driver Administrator with information to connect to REST API. We queried the REST API data in JSON / XML format. Now let's look at how to import REST API data in Power BI using from ODBC connection.
<ol>
 	<li>Open Power BI Desktop and select the <strong>Get data </strong>option.
<div class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2018/03/Get-data-Power-bi-desktop.png">
<img decoding="async" src="https://zappysys.com/blog/wp-content/uploads/2018/03/Get-data-Power-bi-desktop.png" alt="Get data using power bi" />
</a>
<p class="wp-caption-text">Get data using Power BI</p>

</div></li>
</ol>
<ol>
 	<li>Once Get data is clicked, Go to <strong>Other</strong> and select <strong>ODBC.</strong>
<div class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2018/03/power-bi-odbc-other-data-source.png">
<img decoding="async" src="https://zappysys.com/blog/wp-content/uploads/2019/01/odbc-power-bi-import-rest-api-2-1.png" alt="Import ODBC data source in power bi" />
</a>
<p class="wp-caption-text">Import ODBC data source in Power BI</p>

</div></li>
 	<li>After that select ODBC DSN name from the DSN dropdown</li>
 	<li>Now it's time to import data. Basically, there are two modes to import data. <strong>Table Mode</strong> and <strong>Query Mode</strong>. Query mode is the most common but we will show you both ways.</li>
 	<li><strong>Import using Power BI Query Mode:  </strong>Select your DSN and click Advanced Option to enter custom SQL Query to Import your REST API data. You can use ODBC DSN Data sources Preview tool to generate SQL Query. For example you can enter query like below. If you are not sure use Query builder (Found on Driver Preview Window)
<pre class="lang:tsql decode:true">SELECT * FROM $
WITH(SRC='https://my-api-url')</pre>
<div class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2018/03/power-bi-import-from-rest-api-url-odbc-json-driver.png">
<img decoding="async" src="https://zappysys.com/blog/wp-content/uploads/2019/01/odbc-power-bi-import-rest-api-1-1.png" alt="Import JSON / REST API data in Power BI using SQL Query Mode" />
</a>
<p class="wp-caption-text">Import JSON / REST API data in Power BI using SQL Query Mode</p>

</div>
&nbsp;</li>
 	<li><strong>Import using Power BI Table Mode:  </strong>If you don't specify SQL query under advanced options then you may get a chance to select Table name to import and Credentials. If Power BI asks for credentials then select <strong>Windows</strong> and connect.
<div class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2018/03/select-credentials-zappysys.png">
<img decoding="async" src="https://zappysys.com/blog/wp-content/uploads/2019/01/odbc-power-bi-import-rest-api-3.png" alt="Select credentials for ODBC Source" />
</a>
<p class="wp-caption-text">Select credentials for ODBC Source</p>

</div></li>
 	<li>Once you enter select table, you can choose Select data to import and click OK (Below screeenshot is for the Table mode import when no SQL specified. You can pick desired table to import)
<div class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2018/03/Navigator-odbc-json-get-values.png">
<img decoding="async" src="https://zappysys.com/blog/wp-content/uploads/2019/01/odbc-power-bi-import-rest-api-4.png" alt="Select Table to import in Power BI" />
</a>
<p class="wp-caption-text">Select Table to import in Power BI</p>

</div></li>
 	<li>You can also display data in map using Map visualization like below. Press the map and check Address this option will display the addresses in a map.
<div class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2018/03/maps-power-view.png">
<img decoding="async" src="https://zappysys.com/blog/wp-content/uploads/2019/01/odbc-power-bi-import-rest-api-5.png" alt="see address in power bi map" />
</a>
<p class="wp-caption-text">See Address data in power bi map</p>

</div>
<div class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2018/03/maps-address-power-bi.png">
<img decoding="async" src="https://zappysys.com/blog/wp-content/uploads/2019/01/odbc-power-bi-import-rest-api-6.png" alt="Map visualization in Power BI" />
</a>
<p class="wp-caption-text">Map visualization in Power BI</p>

</div></li>
 	<li>Now, let's display data in Table Format. Select in values more columns and select the data grid to visualize the data.
<div class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2018/03/visualization-power-bi-select-columns.png">
<img decoding="async" src="https://zappysys.com/blog/wp-content/uploads/2019/01/odbc-power-bi-import-rest-api-7.png" alt="Select columns in Power BI" />
</a>
<p class="wp-caption-text">Select columns in Power BI</p>

</div></li>
 	<li>Once data is displayed, Right click on the data and select <strong>Show Data</strong>.
<div class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2018/03/power-bi-show-data.png">
<img decoding="async" src="https://zappysys.com/blog/wp-content/uploads/2019/01/odbc-power-bi-import-rest-api-8.png" alt="show data in power bi" />
</a>
<p class="wp-caption-text">Show data in Power BI</p>

</div></li>
 	<li>The data will be displayed
<div class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2018/03/power-bi-read-data.png">
<img decoding="async" src="https://zappysys.com/blog/wp-content/uploads/2019/01/odbc-power-bi-import-rest-api-9.png" alt="View Power BI Table data" />
</a>
<p class="wp-caption-text">read json information data</p>

</div></li>
</ol></div>
<h2><span id="Conclusion">Conclusion</span></h2>
<p>In this blog, we have learned how to retrieve the data from JIRA using ODBC JSON Driver and then Load those data in Power BI with ODBC DSN in a very simple way. You can achieve many more functionalities with the use of <a href="https://zappysys.com/products/odbc-powerpack/">ODBC PowerPack</a>.</p>
<h2><span id="References">References</span></h2>
<p>Finally, you can use the following links for more information about the use of JIRA API with our tools:</p>
<ul>
<li><a href="https://developer.atlassian.com/cloud/jira/platform/rest/" target="_blank" rel="noopener">JIRA Documentation for API</a></li>
<li><strong>Landing Page</strong> for <a href="https://zappysys.com/products/odbc-powerpack/odbc-json-rest-api-driver/" target="_blank" rel="noopener">ODBC JSON / REST API Driver</a>, you can also find <a href="https://youtu.be/iwezz0Z3D4U" target="_blank" rel="noopener">Tutorial Video</a> here.</li>
<li><strong>Help File:</strong> Documentation of <a href="https://zappysys.com/onlinehelp/odbc-powerpack/index.htm#page=json-odbc-driver-intro.htm" target="_blank" rel="noopener">JSON Driver</a>.</li>
<li><strong>Blog/articles link</strong>: <a href="https://zappysys.com/blog/category/odbc-powerpack/odbc-drivers/json-rest-api-driver/" target="_blank" rel="noopener">https://zappysys.com/blog/category/odbc-powerpack/odbc-drivers/json-rest-api-driver/</a></li>
</ul>
<p>The post <a href="https://zappysys.com/blog/how-to-import-jira-data-in-powerbi/">How to Import JIRA data in Power BI</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Load JIRA data into SQL Server with ODBC &#8211; Call REST API</title>
		<link>https://zappysys.com/blog/load-jira-data-sql-server-odbc-call-rest-api/</link>
		
		<dc:creator><![CDATA[ZappySys]]></dc:creator>
		<pubDate>Sat, 17 Nov 2018 11:37:44 +0000</pubDate>
				<category><![CDATA[JSON File / REST API Driver]]></category>
		<category><![CDATA[ODBC Drivers]]></category>
		<category><![CDATA[ODBC PowerPack]]></category>
		<category><![CDATA[REST API]]></category>
		<category><![CDATA[http connection]]></category>
		<category><![CDATA[jira rest api]]></category>
		<category><![CDATA[json driver]]></category>
		<category><![CDATA[odbc]]></category>
		<category><![CDATA[odbc json driver]]></category>
		<category><![CDATA[rest api]]></category>
		<guid isPermaLink="false">https://zappysys.com/blog/?p=5389</guid>

					<description><![CDATA[<p>Introduction In this blog, we will learn How to Load JIRA data in ODBC and load JIRA data into SQL Server Table, along with few other topics such as how to generate an API Token using Atlassian Account for JIRA REST API Call, how to read all Issues data from JIRA with ODBC. We will go through [&#8230;]</p>
<p>The post <a href="https://zappysys.com/blog/load-jira-data-sql-server-odbc-call-rest-api/">Load JIRA data into SQL Server with ODBC &#8211; Call REST API</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2><span id="Introduction">Introduction</span></h2>
<div class="su-note"  style="border-color:#e5de9d;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;"><div class="su-note-inner su-u-clearfix su-u-trim" style="background-color:#FFF8B7;border-color:#ffffff;color:#333333;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;"><strong>UPDATE:</strong> ZappySys has released a brand new <a href="https://zappysys.com/api/integration-hub/jira-connector/odbc">API Connector for Jira Online</a> which makes it much simpler to <strong>Read/Write Jira Data in ODBC</strong> compared to the steps listed in this article. You can still use steps from this article but if you are new to API or want to avoid learning curve with API then use newer approach.</p>
<p>Please visit <a href="https://zappysys.com/api/integration-hub/">this page to see all</a> Pre-Configured ready to use API connectors which you can use in <a href="https://zappysys.com/products/ssis-powerpack/ssis-api-source/">SSIS API Source</a> / <a href="https://zappysys.com/products/ssis-powerpack/ssis-api-destination/">SSIS API Destination</a> OR <a href="https://zappysys.com/products/odbc-powerpack/odbc-api-driver/">API ODBC Driver</a> (for non-SSIS Apps such as Excel, Power BI, Informatica).</p>
</div></div>
<a href="https://zappysys.com/blog/wp-content/uploads/2018/07/jira-logo.jpg" target="_blank" rel="noopener"><img loading="lazy" decoding="async" class="wp-image-4291 size-thumbnail alignleft" src="https://zappysys.com/blog/wp-content/uploads/2018/07/jira-logo-150x150.jpg" alt="jira-logo" width="150" height="150" /></a>In this blog, we will learn <strong>How to Load JIRA data in ODBC and load JIRA data into SQL Server Table</strong>, along with few other topics such as how to generate an API Token using Atlassian Account for <strong>JIRA REST API Call</strong>, how to read all Issues data from JIRA with ODBC.</p>
<p>We will go through the steps to read data from JIRA and Load into SQL Server using <a href="https://zappysys.com/products/odbc-powerpack/odbc-json-rest-api-driver/" target="_blank" rel="noopener">JSON Driver of ODBC PowerPack</a></p>
<p>In nutshell, this post will focus on how to call JIRA API using ODBC PowerPack.</p>
<p>So let’s get started.</p>
<h2><span id="Requirements">Requirements</span></h2>
<ol>
<li>A first requirement will be to SQL Server Database Engine Installed</li>
<li>The second requirement will be SSMS installed</li>
<li>Finally, make sure to have <a href="https://zappysys.com/products/odbc-powerpack/" target="_blank" rel="noopener">ZappySys ODBC PowerPack</a> installed.</li>
</ol>
<h2>What is JIRA</h2>
<p>JIRA is Atlassian’s popular project- and issue-tracking platform used by development and technical support teams to get more work done and faster.</p>
<p>It combines:</p>
<p><strong>issue tracking</strong> &#8211; a software application that allows to record and follow the progress of every problem or &#8220;issue&#8221; that user identifies until the problem is resolved.<br />
<strong>agile project management</strong> &#8211; an iterative approach to planning and guiding project processes. customizable workflow, and a pluggable integration &#8211; integrates with Freshdesk, GitHub, Zendesk, Zapbook, Asana and so on.</p>
<h2>Getting Started</h2>
<p>First of all, we will see several examples. ZappySys includes an <a href="https://zappysys.com/products/odbc-powerpack/odbc-json-rest-api-driver/" target="_blank" rel="noopener">ODBC JSON Source Connector</a> that will help you to call JIRA API, read various data from JIRA with ODBC and do many more actions using REST API. To learn more about JIRA API <a href="https://developer.atlassian.com/cloud/jira/platform/rest/" target="_blank" rel="noopener">check this help file</a>.</p>
<div class="content_block" id="custom_post_widget-4816"><h2>Generate API Token</h2>
To access JIRA data using REST API call you need to generate an API Token in your Atlassian account. Follow the steps mentioned below to generate API Token:
<ol>
 	<li>you can directly login to the <a href="https://id.atlassian.com" target="_blank" rel="noopener">JIRA Atlassian Cloud site</a> with your credentials, and redirect to the <a href="https://id.atlassian.com/profile/profile.action" target="_blank" rel="noopener">JIRA Atlassian Cloud Account's Profile Page</a> for generating an API Token.</li>
 	<li>Click <strong>API tokens</strong>, then <strong>Create API token</strong>.
<div class="wp-caption aligncenter">

<a href="https://zappysys.com/blog/wp-content/uploads/2018/07/jira-generate-api-token-step-1.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" class="wp-image-4315 size-full" src="https://zappysys.com/blog/wp-content/uploads/2018/07/jira-generate-api-token-step-1.png" alt="Generate API Token - Step - 1" width="1600" height="605" srcset="https://zappysys.com/blog/wp-content/uploads/2018/07/jira-generate-api-token-step-1.png 1600w, https://zappysys.com/blog/wp-content/uploads/2018/07/jira-generate-api-token-step-1-300x113.png 300w, https://zappysys.com/blog/wp-content/uploads/2018/07/jira-generate-api-token-step-1-768x290.png 768w, https://zappysys.com/blog/wp-content/uploads/2018/07/jira-generate-api-token-step-1-1024x387.png 1024w" sizes="(max-width: 1600px) 100vw, 1600px" /></a>
<p class="wp-caption-text">Generate API Token - Step - 1</p>

</div></li>
 	<li>Create API Token - Give Label name to your API token which you are generating now
<div class="wp-caption aligncenter">

<a href="https://zappysys.com/blog/wp-content/uploads/2018/07/jira-generate-api-token-step-2.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" class="size-full wp-image-4316" src="https://zappysys.com/blog/wp-content/uploads/2018/07/jira-generate-api-token-step-2.png" alt="Generate API Token - Step - 2" width="1599" height="603" srcset="https://zappysys.com/blog/wp-content/uploads/2018/07/jira-generate-api-token-step-2.png 1599w, https://zappysys.com/blog/wp-content/uploads/2018/07/jira-generate-api-token-step-2-300x113.png 300w, https://zappysys.com/blog/wp-content/uploads/2018/07/jira-generate-api-token-step-2-768x290.png 768w, https://zappysys.com/blog/wp-content/uploads/2018/07/jira-generate-api-token-step-2-1024x386.png 1024w" sizes="(max-width: 1599px) 100vw, 1599px" /></a>
<p class="wp-caption-text">Generate API Token - Step - 2</p>

</div></li>
 	<li>Use <strong>Copy to the clipboard</strong>, and paste the token into your or elsewhere:
<div class="su-note-inner su-clearfix" style="background-color:#fff4b7;border-color:#fffdf1;color:#333333"><blockquote>Note:  * For security reasons it isn't possible to view the token after closing the creation dialog; if necessary, create a new token. * You should store the token securely, just as for any password.</blockquote></div>
<div class="wp-caption aligncenter">

<a href="https://zappysys.com/blog/wp-content/uploads/2018/07/jira-generate-api-token-step-3.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" class="size-full wp-image-4321" src="https://zappysys.com/blog/wp-content/uploads/2018/07/jira-generate-api-token-step-3.png" alt="Generate API Token - Step - 3" width="1600" height="602" srcset="https://zappysys.com/blog/wp-content/uploads/2018/07/jira-generate-api-token-step-3.png 1600w, https://zappysys.com/blog/wp-content/uploads/2018/07/jira-generate-api-token-step-3-300x113.png 300w, https://zappysys.com/blog/wp-content/uploads/2018/07/jira-generate-api-token-step-3-768x289.png 768w, https://zappysys.com/blog/wp-content/uploads/2018/07/jira-generate-api-token-step-3-1024x385.png 1024w" sizes="(max-width: 1600px) 100vw, 1600px" /></a>
<p class="wp-caption-text">Generate API Token - Step - 3</p>

</div></li>
 	<li>If you forgot API token, then you can Revoke your old API token and create new API token OR you can create multiple API tokens too.
<div class="wp-caption aligncenter">

<a href="https://zappysys.com/blog/wp-content/uploads/2018/07/jira-generate-api-token-step-4.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" class="wp-image-4326 size-full" src="https://zappysys.com/blog/wp-content/uploads/2018/07/jira-generate-api-token-step-4.png" alt="Generate API token - Step - 4" width="1600" height="601" srcset="https://zappysys.com/blog/wp-content/uploads/2018/07/jira-generate-api-token-step-4.png 1600w, https://zappysys.com/blog/wp-content/uploads/2018/07/jira-generate-api-token-step-4-300x113.png 300w, https://zappysys.com/blog/wp-content/uploads/2018/07/jira-generate-api-token-step-4-768x288.png 768w, https://zappysys.com/blog/wp-content/uploads/2018/07/jira-generate-api-token-step-4-1024x385.png 1024w" sizes="(max-width: 1600px) 100vw, 1600px" /></a>
<p class="wp-caption-text">Generate API token - Step - 4</p>

</div></li>
</ol>
Now we have successfully generated an API token. Let´s start with an example. In this example, we will show how to read Tasks/Issues data from JIRA and store that data into a SQL table with SSIS.</div>
<h2>About JIRA REST API</h2>
<p>JIRA On premises and Cloud Version both offers REST API. Here are some examples of <a href="https://developer.atlassian.com/server/jira/platform/jira-rest-api-examples/" target="_blank" rel="noopener">JIRA REST API</a> . For reading JIRA REST API data we will use <a href="https://developer.atlassian.com/server/jira/platform/jira-rest-api-example-query-issues-6291606/" target="_blank" rel="noopener">JIRA REST API Search method</a> which returns data in JSON format. Search API support use of <a href="https://developer.atlassian.com/server/jira/platform/jira-rest-api-example-query-issues-6291606/" target="_blank" rel="noopener">JQL Syntax</a> to filter issues. If you don&#8217;t specify <strong>JQL</strong> parameters in /search endpoint then all issues will be returned. Check this link to learn <a href="https://www.youtube.com/watch?v=oSxBnqdF3-A" target="_blank" rel="noopener">how to build JQL for JIRA REST API Call</a>. If you don&#8217;t have JIRA hosted instance yet but still want to try REST API Examples on public JIRA Server then try below URL (Its official JIRA site which lists their own issues). For example try to copy below URL in browser and hit enter.</p><pre class="crayon-plain-tag">https://jira.atlassian.com/rest/api/2/search?jql=project=JRASERVER</pre><p>
<h2><span id="Step-by-Step_Import_REST_API_into_Power_BI">Step-by-Step: Import JIRA data REST API into SQL</span></h2>
<p>Now once you have API token in the JIRA Atlassian Cloud website we can move to ODBC JSON Driver Configuration Part. For this example purpose you can use the following URL:</p><pre class="crayon-plain-tag">https://YOUR-DOMAIN.atlassian.net/rest/api/2/search?startAt=0&amp;maxResults=100&amp;jql=project=MYPROJECT</pre><p>
hence, <strong>your-domain is your Atlassian Cloud account’s domain name (we are using zappysys2.atlassian.net).</strong><br />
Therefore <strong>startAt</strong> is the index of the first item returned in the page of results.<br />
And another<strong> maxResults</strong> is the maximum number of items that can be returned per page.</p>
<p>Above all, each API endpoint may have a different limit for the number of items returned, and these limits may change without notice. (For more See this <a href="https://developer.atlassian.com/cloud/jira/platform/rest/#pagination" target="_blank" rel="noopener">JIRA API Documentation for Pagination</a>)</p>
<h3><span id="Create_ODBC_DSN_8211_JSON_Driver">Create ODBC – Native Zappysys JSON Driver Data Source</span></h3>
<ol>
<li>To do this, first of all, we will open the ZappySys Data Gateway Configuration:
<div id="attachment_5283" style="width: 410px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2018/11/start-menu-open-zappysys-data-gateway.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-5283" class="wp-image-5283 size-full" src="https://zappysys.com/blog/wp-content/uploads/2018/11/start-menu-open-zappysys-data-gateway.png" alt="Open ZappySys Data Gateway" width="400" height="315" srcset="https://zappysys.com/blog/wp-content/uploads/2018/11/start-menu-open-zappysys-data-gateway.png 400w, https://zappysys.com/blog/wp-content/uploads/2018/11/start-menu-open-zappysys-data-gateway-300x236.png 300w" sizes="(max-width: 400px) 100vw, 400px" /></a><p id="caption-attachment-5283" class="wp-caption-text">Open ZappySys Data Gateway</p></div></li>
<li>Add the Native &#8211; ZappySys JSON Driver Data source.
<div id="attachment_5284" style="width: 568px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2018/11/zappysys-data-gateway-add-data-source.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-5284" class="wp-image-5284 size-full" src="https://zappysys.com/blog/wp-content/uploads/2018/11/zappysys-data-gateway-add-data-source.png" alt="Add Gateway Data Source (Native JSON Driver)" width="558" height="533" srcset="https://zappysys.com/blog/wp-content/uploads/2018/11/zappysys-data-gateway-add-data-source.png 558w, https://zappysys.com/blog/wp-content/uploads/2018/11/zappysys-data-gateway-add-data-source-300x287.png 300w" sizes="(max-width: 558px) 100vw, 558px" /></a><p id="caption-attachment-5284" class="wp-caption-text">Add Gateway Data Source (Native JSON Driver)</p></div></li>
<li>Now it&#8217;s time to connect with JIRA. Let&#8217;s use JSON Driver Data source with the following URL:
<div id="crayon-5befbb0bdc2d5563302218" class="crayon-syntax crayon-theme-vs2012 crayon-font-courier-new crayon-os-pc print-yes notranslate">
<div class="crayon-main">
<pre class="crayon-plain-tag">https://zappysys2.atlassian.net/rest/api/2/search?startAt=0&amp;maxResults=100</pre>
</div>
</div>
<div id="attachment_5390" style="width: 812px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2018/11/odbc_json_driver_enter_jira_request_url.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-5390" class="size-full wp-image-5390" src="https://zappysys.com/blog/wp-content/uploads/2018/11/odbc_json_driver_enter_jira_request_url.png" alt="ODBC JSON Driver: Enter Request URL" width="802" height="702" srcset="https://zappysys.com/blog/wp-content/uploads/2018/11/odbc_json_driver_enter_jira_request_url.png 802w, https://zappysys.com/blog/wp-content/uploads/2018/11/odbc_json_driver_enter_jira_request_url-300x263.png 300w, https://zappysys.com/blog/wp-content/uploads/2018/11/odbc_json_driver_enter_jira_request_url-768x672.png 768w" sizes="(max-width: 802px) 100vw, 802px" /></a><p id="caption-attachment-5390" class="wp-caption-text">ODBC JSON Driver: Enter Request URL</p></div></li>
<li>It is time to configure the Other Settings. Select HTTP Connection Type from the Connection Type drop-down and Click on Click to Configure Link to Configure the Connection Manager.
<div id="attachment_5596" style="width: 1394px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2018/11/jira-odbc-json-driver-configure-http-api-connection.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-5596" class="wp-image-5596 size-full" src="https://zappysys.com/blog/wp-content/uploads/2018/11/jira-odbc-json-driver-configure-http-api-connection.png" alt="JIRA REST API Connection - Use ZappySys JSON Driver HTTP Connection" width="1384" height="700" /></a><p id="caption-attachment-5596" class="wp-caption-text">JIRA REST API Connection &#8211; Use ZappySys JSON Driver HTTP Connection</p></div></li>
<li>Now, we are going to set Pagination related configurations for JIRA Search request. Page number indicator must be <pre class="crayon-plain-tag">startAt</pre>  and <pre class="crayon-plain-tag">maxResults</pre>  value in URL must match with Increment By (i.e. 100)
<div id="attachment_9122" style="width: 836px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2018/11/ODBC-JSON-Driver-JIRA-request-Pagination-Configurations-Settings.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-9122" class="size-full wp-image-9122" src="https://zappysys.com/blog/wp-content/uploads/2018/11/ODBC-JSON-Driver-JIRA-request-Pagination-Configurations-Settings.png" alt="ODBC JSON Driver - JIRA request Pagination Configurations Settings" width="826" height="733" srcset="https://zappysys.com/blog/wp-content/uploads/2018/11/ODBC-JSON-Driver-JIRA-request-Pagination-Configurations-Settings.png 826w, https://zappysys.com/blog/wp-content/uploads/2018/11/ODBC-JSON-Driver-JIRA-request-Pagination-Configurations-Settings-300x266.png 300w, https://zappysys.com/blog/wp-content/uploads/2018/11/ODBC-JSON-Driver-JIRA-request-Pagination-Configurations-Settings-768x682.png 768w" sizes="(max-width: 826px) 100vw, 826px" /></a><p id="caption-attachment-9122" class="wp-caption-text">ODBC JSON Driver &#8211; JIRA request Pagination Configurations Settings</p></div></li>
<li>After adding pagination parameters let&#8217;s add <pre class="crayon-plain-tag">JQL=</pre> search parameter to get specific data. Here we are searching the data by Project name and status. You can find more information about JQL on this link: <a href="https://confluence.atlassian.com/jiracore/blog/2015/07/search-jira-like-a-boss-with-jql" target="_blank" rel="noopener">Search JIRA like a boss with JQL</a>
<div id="attachment_5829" align="aligncenter">
<p><a href="https://zappysys.com/blog/wp-content/uploads/2018/12/jira-search-using-jql.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" class="wp-image-5830 size-medium_large" src="https://zappysys.com/blog/wp-content/uploads/2018/12/jira-search-using-jql-768x672.png" alt="Search using jql parameter" width="720" height="630" srcset="https://zappysys.com/blog/wp-content/uploads/2018/12/jira-search-using-jql-768x672.png 768w, https://zappysys.com/blog/wp-content/uploads/2018/12/jira-search-using-jql-300x263.png 300w, https://zappysys.com/blog/wp-content/uploads/2018/12/jira-search-using-jql.png 802w" sizes="(max-width: 720px) 100vw, 720px" /></a></p>
<p>Search using JQL parameter</p>
</div>
</li>
<li>Click on Select Filter to set the Filter.
<div id="attachment_5393" style="width: 1293px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2018/11/odbc_json_driver_select_filter.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-5393" class="size-full wp-image-5393" src="https://zappysys.com/blog/wp-content/uploads/2018/11/odbc_json_driver_select_filter.png" alt="ODBC JSON Driver for JIRA API: Select Filter" width="1283" height="699" srcset="https://zappysys.com/blog/wp-content/uploads/2018/11/odbc_json_driver_select_filter.png 1283w, https://zappysys.com/blog/wp-content/uploads/2018/11/odbc_json_driver_select_filter-300x163.png 300w, https://zappysys.com/blog/wp-content/uploads/2018/11/odbc_json_driver_select_filter-768x418.png 768w, https://zappysys.com/blog/wp-content/uploads/2018/11/odbc_json_driver_select_filter-1024x558.png 1024w" sizes="(max-width: 1283px) 100vw, 1283px" /></a><p id="caption-attachment-5393" class="wp-caption-text">ODBC JSON Driver for JIRA API: Select Filter</p></div></li>
<li>You are done with the Configurations, Click on Test Connection to test the Connection.
<div id="attachment_5394" style="width: 812px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2018/11/odbc_json_driver_test_connection.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-5394" class="size-full wp-image-5394" src="https://zappysys.com/blog/wp-content/uploads/2018/11/odbc_json_driver_test_connection.png" alt="ODBC JSON Driver - Test Connection" width="802" height="702" srcset="https://zappysys.com/blog/wp-content/uploads/2018/11/odbc_json_driver_test_connection.png 802w, https://zappysys.com/blog/wp-content/uploads/2018/11/odbc_json_driver_test_connection-300x263.png 300w, https://zappysys.com/blog/wp-content/uploads/2018/11/odbc_json_driver_test_connection-768x672.png 768w" sizes="(max-width: 802px) 100vw, 802px" /></a><p id="caption-attachment-5394" class="wp-caption-text">ODBC JSON Driver &#8211; Test Connection</p></div></li>
<li>After that select the table from where you want to get data.
<div id="attachment_5396" style="width: 759px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2018/11/odbc_json_driver_create_query_of_json.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-5396" class="size-full wp-image-5396" src="https://zappysys.com/blog/wp-content/uploads/2018/11/odbc_json_driver_create_query_of_json.png" alt="JSON Driver: Create Query of JSON data" width="749" height="434" srcset="https://zappysys.com/blog/wp-content/uploads/2018/11/odbc_json_driver_create_query_of_json.png 749w, https://zappysys.com/blog/wp-content/uploads/2018/11/odbc_json_driver_create_query_of_json-300x174.png 300w" sizes="(max-width: 749px) 100vw, 749px" /></a><p id="caption-attachment-5396" class="wp-caption-text">JSON Driver: Create Query of JSON data</p></div></li>
<li>Click on the Preview Data button to preview the data.
<div id="attachment_5553" style="width: 1026px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2018/11/odbc_json_driver_preview_data.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-5553" class="wp-image-5553 size-full" src="https://zappysys.com/blog/wp-content/uploads/2018/11/odbc_json_driver_preview_data.png" alt="Preview issues table data" width="1016" height="734" srcset="https://zappysys.com/blog/wp-content/uploads/2018/11/odbc_json_driver_preview_data.png 1016w, https://zappysys.com/blog/wp-content/uploads/2018/11/odbc_json_driver_preview_data-300x217.png 300w, https://zappysys.com/blog/wp-content/uploads/2018/11/odbc_json_driver_preview_data-768x555.png 768w" sizes="(max-width: 1016px) 100vw, 1016px" /></a><p id="caption-attachment-5553" class="wp-caption-text">Preview issues table data</p></div></li>
<li>Now using Code Generator we will generate the query.
<div id="attachment_5555" style="width: 948px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2018/11/odbc_json_driver_generate_query.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-5555" class="wp-image-5555 size-full" src="https://zappysys.com/blog/wp-content/uploads/2018/11/odbc_json_driver_generate_query.png" alt="ODBC - Generate the query" width="938" height="860" srcset="https://zappysys.com/blog/wp-content/uploads/2018/11/odbc_json_driver_generate_query.png 938w, https://zappysys.com/blog/wp-content/uploads/2018/11/odbc_json_driver_generate_query-300x275.png 300w, https://zappysys.com/blog/wp-content/uploads/2018/11/odbc_json_driver_generate_query-768x704.png 768w" sizes="(max-width: 938px) 100vw, 938px" /></a><p id="caption-attachment-5555" class="wp-caption-text">Generate the query</p></div></li>
</ol>
<h3><span id="Create_ODBC_DSN_8211_JSON_Driver">Load JIRA data in MS SQL Server</span></h3>
<div class="content_block" id="custom_post_widget-5558">Once you configured the data source in Gateway, we can now setup Linked Server in SQL Server to query API data.
<ol style="margin-left: 10px;">
 	<li>Assuming you have installed SQL Server and SSMS. If not then get both for FREE from here: <a href="https://www.microsoft.com/en-us/sql-server/sql-server-editions-express">Get SQL Server Express</a> and  <a href="https://docs.microsoft.com/en-us/sql/ssms/download-sql-server-management-studio-ssms" target="_blank" rel="noopener">Get SSMS</a></li>
 	<li>Open SSMS and connect to SQL Server.</li>
 	<li>Go to Root &gt; Server Objects &gt; Linked Servers node. Right click and click <strong>New Linked Server...</strong>
<div class="wp-caption alignnone">

<a href="https://zappysys.com/blog/wp-content/uploads/2018/03/create-new-linked-server-ssms.png?ssl=1"><img loading="lazy" decoding="async" src="https://zappysys.com/blog/wp-content/uploads/2018/03/create-new-linked-server-ssms.png?w=720&amp;ssl=1" alt="Add Linked Server in SQL Server" width="420" height="262" /></a>
<p class="wp-caption-text">Add Linked Server in SQL Server</p>

</div></li>
 	<li> Now enter the linked server name, select Provider as SQL Native Client</li>
 	<li>Enter data source as <strong><span class="lang:default decode:true crayon-inline">GatewayServerName,PORT_NUMBER</span></strong> where server name is where ZappySys Gateway is running (Can be same as SQL Server machine or remote machine). Default PORT_NUMBER is 5000 but confirm on Data gateway &gt; General tab in case its different.</li>
 	<li>Enter Catalog Name. This must match name from Data gateway Data sources grid &gt; Name column
<div class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2018/11/ssms-sql-server-configure-linked-server-2.png">
<img decoding="async" src="https://zappysys.com/blog/wp-content/uploads/2018/11/ssms-sql-server-configure-linked-server-2.png" alt="Configure Linked Server Provider, Catalog, Server, Port for ZappySys Data Gateway Connection" />
</a>
<p class="wp-caption-text">Configure Linked Server Provider, Catalog, Server, Port for ZappySys Data Gateway Connection</p>
</div>
<div style="color: #31708f;background-color: #d9edf7;border-color: #bce8f1;padding: 15px;margin-bottom: 20px;border: 1px solid transparent;border-radius: 4px;">
<strong>INFO:</strong><br/>
<ul>
    <li>
      For <strong>SQL Server 2012, 2014, 2016, 2017, and 2019</strong>, use the <em>SQL Server Native Client 11.0</em> as the Provider.
    </li>
    <li>
      For <strong>SQL Server 2022 or higher</strong>, use the <em>Microsoft OLE DB Driver for SQL Server</em> as the Provider.
    </li>
  </ul>
</div></li>
 	<li>Click on Security Tab and select last option "<strong>Be made using this security context</strong>". Enter your gateway user account here.</li>
<li>
        <p>Optional: Under the Server Options Tab, Enable <b>RPC</b> and <b>RPC Out</b> and Disable Promotion of Distributed Transactions<b>(MSDTC)</b>.</p>
		<div class="wp-caption alignnone">
			<img decoding="async" class="block margin-bottom-10 img-thumbnail" src="https://zappysys.com/blog/wp-content/uploads/2018/11/linked-server-options-rpc-msdtc.png" title="RPC and MSDTC Settings" alt="RPC and MSDTC Settings" />
			<p class="wp-caption-text">RPC and MSDTC Settings</p>
		</div>
        <hr />
        <p>
            You need to enable RPC Out if you plan to use <b><i>EXEC(...) AT [MY_LINKED_SERVER_NAME]</i></b> rather than OPENQUERY.
            <br />
            If don't enabled it, you will encounter the <i>'Server "MY_LINKED_SERVER_NAME" is not configured for RPC'</i> error.
        </p>
        <p>
            Query Example:
            <code class="sql">EXEC('Select * from Products') AT [MY_LINKED_SERVER_NAME]</code>
        </p>
        <hr />
        <p>
            If you plan to use <b><i>'INSERT INTO...EXEC(....) AT [MY_LINKED_SERVER_NAME]'</i></b> in that case you need to Disable Promotion of Distributed Transactions(MSDTC).
            <br />
            If don't disabled it, you will encounter the <i>'The operation could not be performed because OLE DB provider "SQLNCLI11/MSOLEDBSQL" for linked server "MY_LINKED_SERVER_NAME" was unable to begin a distributed transaction.'</i> error.
        </p>
        <p>
            Query Example:
<pre class="">Insert Into dbo.Products 
EXEC('Select * from Products') AT [MY_LINKED_SERVER_NAME]</pre>
        </p>
        <hr />
</li>
 	<li>Click OK to save Linked Server</li>
 	<li>In SSMS execute below SQL query to test your connectivity.
<pre class="">SELECT * FROM OPENQUERY( MY_LINKED_SERVER_NAME, 'SELECT * FROM $')</pre>
</li>
 	<li>Here is the preview after you run some REST API query in SQL Server. Notice that you can override default configuration by supplying <a href="https://zappysys.com/onlinehelp/odbc-powerpack/scr/json-odbc-driver-connectionstring.htm" target="_blank" rel="noopener">many parameters</a> in WITH clause (second query example in the screenshot).
<div class="wp-caption alignnone">
<div class="wp-caption alignnone">

<a href="https://zappysys.com/blog/wp-content/uploads/2018/12/odbc_json_driver__jira_query_data_in_mssqlserver.png"><img loading="lazy" decoding="async" class="wp-image-5561 size-full" src="https://zappysys.com/blog/wp-content/uploads/2018/12/odbc_json_driver__jira_query_data_in_mssqlserver.png" alt="ODBC - Query API Data in SQL Server" width="1537" height="725" /></a>

ODBC - Query API Data in SQL Server

</div>
<p class="wp-caption-text">SSMS Output - Query REST API via Linked Server OPENQUERY statement (Connect to ZappySys Data Gateway)</p>

</div></li>
 	<li>You can wrap your queries inside View or wrap inside Stored procedure to parameterize. Here is an example of creating the view which calls REST API queries. Below View can be consumed like a normal table from any Tools or Programming Language which supports connectivity to SQL Server.
<pre class="lang:tsql decode:true">CREATE VIEW dbo.vwApiInvoices 
AS 
/*Call REST API inside SQL Server View*/
SELECT * FROM OPENQUERY( MY_LINKED_SERVER_NAME , 'SELECT * FROM $');

GO
</pre>
</li>
 	<li>Notice in above approach if you parameterize Stored Procedure then <a href="https://zappysys.com/blog/create-csv-list-sql-server-table-columns-datatypes/" target="_blank" rel="noopener">check this article to understand Dynamic Metadata</a>.</li>
 	<li>Now let's insert JIRA data into the new data table <span class="lang:default decode:true crayon-inline ">"tblissues"</span>  in the SQL server database. For that, we need to execute below SQL query.
<pre class="lang:default decode:true">SELECT * into tblissues FROM OPENQUERY( MY_LINKED_SERVER_NAME, 'SELECT * FROM $')</pre>
<div class="aligncenter">

<a href="https://zappysys.com/blog/wp-content/uploads/2018/12/odbc_json_driver_insert_data_in_sql.png"><img loading="lazy" decoding="async" class="size-full wp-image-5842" src="https://zappysys.com/blog/wp-content/uploads/2018/12/odbc_json_driver_insert_data_in_sql.png" alt="Insert Data into the table" width="681" height="571" srcset="https://zappysys.com/blog/wp-content/uploads/2018/12/odbc_json_driver_insert_data_in_sql.png 681w, https://zappysys.com/blog/wp-content/uploads/2018/12/odbc_json_driver_insert_data_in_sql-300x252.png 300w" sizes="(max-width: 681px) 100vw, 681px" /></a>

Insert Data into the table

</div></li>
 	<li>Let's insert and update records into the already created table <span class="lang:default decode:true crayon-inline ">"tblissues"</span> .
<ul>
 	<li>To do that first we need to insert the new JIRA data into the <span class="lang:default decode:true crayon-inline">"#temp_tblissues"</span> temporary database table.</li>
 	<li>Now let's delete the old records from the database table which are updated.</li>
 	<li>At the last insert all new JIRA data into the database table.</li>
 	<li>To do that, we need to query like below SQL queries.</li>
</ul>
<pre class="lang:default decode:true">SELECT * into #temp_tblissues FROM OPENQUERY(MY_LINKED_SERVER_NAME, 'SELECT * FROM $')

DELETE FROM [dbo].[tblissues] WHERE id in (SELECT id FROM #temp_tblissues)

INSERT INTO tblissues
SELECT * FROM #temp_tblissues</pre>
&nbsp;</li>
 	<li>In the upper step, we see how to insert and update new records. Now if you want to update particular fields records only then you need to query like this. In this query, We are updating <span class="lang:default decode:true crayon-inline">"fields_duedate"</span>  and <span class="lang:default decode:true crayon-inline ">"fields_issuetype_name"</span>  fields only.
<pre class="lang:default decode:true">Update dbti_1
set dbti_1.fields_duedate = jira_2.fields_duedate,
dbti_1.fields_issuetype_name = jira_2.fields_issuetype_name
FROM tblissues dbti_1
JOIN (SELECT * FROM OPENQUERY(MY_LINKED_SERVER_NAME, 'SELECT * FROM $')) jira_2 on dbti_1.id=jira_2.id</pre>
<div class="su-note-inner su-clearfix" style="background-color: #fff4b7;border-color: #fffdf1;color: #333333">
<blockquote>* If you are getting error like : "<strong>Cannot resolve the collation conflict between “Latin1_General_CI_AI” and “SQL_Latin1_General_CP1_CI_AS” in the equal to operation</strong>" then you need to query like this :
<pre class="lang:default decode:true">Update dbti_1
set dbti_1.fields_duedate = jira_2.fields_duedate,
dbti_1.fields_issuetype_name = jira_2.fields_issuetype_name
FROM tblissues dbti_1
JOIN (SELECT top 1 * FROM OPENQUERY(MY_LINKED_SERVER_NAME, 'SELECT * FROM $')) jira_2 
on dbti_1.id=jira_2.id 
<strong>COLLATE SQL_Latin1_General_CP1_CI_AS</strong></pre>
&nbsp;</blockquote>
</div></li>
</ol></div>
<h2><span id="Step-by-Step_Import_REST_API_into_Power_BI">Conclusion</span></h2>
<p>In this blog, we learned how to generate a JIRA API Token, Load JIRA data of Issues/tickets table using <a href="https://zappysys.com/products/odbc-powerpack/odbc-json-rest-api-driver/" target="_blank" rel="noopener">ODBC JSON / REST API Driver</a> in a very simple way. You can achieve many more functionalities with this tool. Check our blogs/articles on <strong>JSON / REST API Driver</strong> <a href="https://zappysys.com/blog/category/odbc-powerpack/odbc-drivers/json-rest-api-driver/" target="_blank" rel="noopener">https://zappysys.com/blog/category/odbc-powerpack/odbc-drivers/json-rest-api-driver/</a> to find out what <em>this tool</em> is capable of more.</p>
<h2><span id="References">References</span></h2>
<p>Finally, you can use the following links for more information about the use of JIRA API with our tools:</p>
<ul>
<li><a href="https://developer.atlassian.com/cloud/jira/platform/rest/" target="_blank" rel="noopener">JIRA Documentation for API</a></li>
<li><strong>Landing Page</strong> for <a href="https://zappysys.com/products/odbc-powerpack/odbc-json-rest-api-driver/" target="_blank" rel="noopener">ODBC JSON / REST API Driver</a>, you can also find <a href="https://youtu.be/iwezz0Z3D4U" target="_blank" rel="noopener">Tutorial Video</a> here.</li>
<li><strong>Help File:</strong> Documentation of <a href="https://zappysys.com/onlinehelp/odbc-powerpack/index.htm#page=json-odbc-driver-intro.htm" target="_blank" rel="noopener">JSON Driver</a>.</li>
<li><strong>Blog/articles link</strong>: <a href="https://zappysys.com/blog/category/odbc-powerpack/odbc-drivers/json-rest-api-driver/" target="_blank" rel="noopener">https://zappysys.com/blog/category/odbc-powerpack/odbc-drivers/json-rest-api-driver/</a></li>
</ul>
<p>The post <a href="https://zappysys.com/blog/load-jira-data-sql-server-odbc-call-rest-api/">Load JIRA data into SQL Server with ODBC &#8211; Call REST API</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
