Jira Connector for Azure Data Factory (SSIS) : Make generic REST API request (bulk write)

Integrate Azure Data Factory (SSIS) and Jira
Integrate Azure Data Factory (SSIS) and Jira

Learn how to make generic REST API request (bulk write) using the Jira Connector for Azure Data Factory (SSIS). This connector enables you to read and write Jira data effortlessly. Track, manage, and automate issues, projects, worklogs, and comments — almost no coding required. We'll walk you through the exact setup.

Let's dive in!

Prerequisites

Before we begin, make sure the following prerequisites are met:

  1. SSIS designer installed. Sometimes it is referred as BIDS or SSDT (download it from Microsoft).
  2. Basic knowledge of SSIS package development using Microsoft SQL Server Integration Services.
  3. SSIS PowerPack is installed (if you are new to SSIS PowerPack, then get started!).

Make generic REST API request in SSIS

  1. Begin with opening Visual Studio and Create a New Project.

  2. Select Integration Service Project and in new project window set the appropriate name and location for project. And click OK.

    In the new SSIS project screen you will find the following:

    • SSIS ToolBox on left side bar
    • Solution Explorer and Property Window on right bar
    • Control flow, data flow, event Handlers, Package Explorer in tab windows
    • Connection Manager Window in the bottom
    SSIS Project Screen
    Note: If you don't see ZappySys SSIS PowerPack Task or Components in SSIS Toolbox, please refer to this help link.
  3. Now, Drag and Drop SSIS Data Flow Task from SSIS Toolbox. Double click on the Data Flow Task to see Data Flow designer.

    SSIS Data Flow Task - Drag and Drop
  4. Read the data from the source, using any desired source component. You can even make an API call using the ZappySys JSON/XML/API Source and read data from there. In this example, we will use an OLE DB Source component to read real-time data from a SQL Server database.

  5. From the SSIS Toolbox drag and drop API Destination (Predefined Templates) on the Data Flow Designer surface and connect source component with it, and double click to edit it.
    SSIS API Destination (Predefined Templates) - Drag and Drop

  6. Select New Connection to create a new connection:

    API Destination - Jira
    Read and write Jira data effortlessly. Track, manage, and automate issues, projects, worklogs, and comments — almost no coding required.
    API Destination - Jira

  7. To configure the Jira connector, choose one of the following methods:

    • Choose from Popular Connector List: Select a pre-installed service directly from the dropdown menu.
    • Search Online: Use this to find and download a new connector file to your computer.
    • Use Saved/Downloaded File: Once the file is downloaded, browse your local drive to load it into the configuration.

    After that, just click Continue >>:

    Jira
    API Destination -
  8. Proceed with selecting the desired Authentication Type. Then select API Base URL (in most cases default one is the right one). Finally, fill in all the required parameters and set optional parameters if needed. You may press a link Steps to Configure which will help set certain parameters. More info is available in Authentication section.

    Jira authentication
    Firstly, login into your Atlassian account and then go to your Jira profile:

    1. Go to Profile > Security.
    2. Click Create and manage API tokens.
    3. Then click Create API token button and give your token a label.
    4. When window appears with new API token, copy and use it in this connection manager.
    5. That's it!
    API Connection Manager configuration

    Just perform these simple steps to finish authentication configuration:

    1. Set Authentication Type to API Key based Authentication [Http]
    2. Optional step. Modify API Base URL if needed (in most cases default will work).
    3. Fill in all the required parameters and set optional parameters if needed.
    4. Finally, hit OK button:
    Jira
    API Key based Authentication [Http]
    https://[$Subdomain$].atlassian.net/rest/api/3
    Required Parameters
    Subdomain Fill-in the parameter...
    Atlassian User Name (email) Fill-in the parameter...
    API Key Fill-in the parameter...
    Optional Parameters
    CustomColumnsRegex
    RetryMode RetryWhenStatusCodeMatch
    RetryStatusCodeList 429
    RetryCountMax 5
    RetryMultiplyWaitTime True
    ZappySys Http Connection
    Jira authentication
    Follow official Atlassian instructions on how to create a PAT (Personal Access Token) for JIRA
    API Connection Manager configuration

    Just perform these simple steps to finish authentication configuration:

    1. Set Authentication Type to Personal Access Token (PAT) Authentication [Http]
    2. Optional step. Modify API Base URL if needed (in most cases default will work).
    3. Fill in all the required parameters and set optional parameters if needed.
    4. Finally, hit OK button:
    Jira
    Personal Access Token (PAT) Authentication [Http]
    https://[$Subdomain$].atlassian.net/rest/api/3
    Required Parameters
    Subdomain Fill-in the parameter...
    Token (PAT Bearer Token) Fill-in the parameter...
    Optional Parameters
    CustomColumnsRegex
    RetryMode RetryWhenStatusCodeMatch
    RetryStatusCodeList 429
    RetryCountMax 5
    RetryMultiplyWaitTime True
    ZappySys Http Connection
    Jira authentication

    OAuth App must be created in Atlassian Developer Console. It is found at https://developer.atlassian.com/console/myapps/ [API reference]

    Firstly, login into your Atlassian account and then create Jira application:

    1. Go to Atlassian Developer area.
    2. Click Create and select OAuth 2.0 integration item to create an OAuth app:

      Create OAuth integration app in Atlassian
    3. Give your app a name, accept the terms and hit Create:

      Name OAuth app in Atlassian
    4. To enable permissions/scopes for your application, click Permissions tab, then hit Add button, and click Configure button, once it appears:

      Enable scopes in OAuth app in Atlassian
    5. Continue by hitting Edit Scopes button to assign scopes for the application:

      Edit scopes in OAuth app in Atlassian
    6. Select these scopes or all of them:

      Add Jira scopes in OAuth app in Atlassian
    7. Then click Authorization option on the left and click Add button:

      Add authorization in OAuth app in Atlassian
    8. Enter your own Callback URL (Redirect URL) or simply enter https://zappysys.com/oauth, if you don't have one:

      Set callback URL for OAuth app in Atlassian
    9. Then hit Settings option and copy Client ID and Secret into your favorite text editor (we will need them in the next step):

      Get Jira data via REST API and OAuth
    10. Now go to SSIS package or ODBC data source and in OAuth authentication set these parameters:

      • For ClientId parameter use Client ID value from the previous steps.
      • For ClientSecret parameter use Secret value from the previous steps.
      • For Scope parameter use the Scopes you set previously (specify them all here):
        • offline_access (a must)
        • read:jira-user
        • read:jira-work
        • write:jira-work
        • manage:jira-project
        • manage:jira-configuration
        NOTE: A full list of available scopes is available in Atlassian documentation.
      • For Subdomain parameter use your Atlassian subdomain value (e.g. mycompany, if full host name is mycompany.atlassian.net).
    11. Click Generate Token to generate tokens.
    12. Finally, select Organization Id from the drop down.
    13. That's it! You can now use Jira Connector!
    API Connection Manager configuration

    Just perform these simple steps to finish authentication configuration:

    1. Set Authentication Type to OAuth (**Must change API Base URL to V3 OAuth**) [OAuth]
    2. Optional step. Modify API Base URL if needed (in most cases default will work).
    3. Fill in all the required parameters and set optional parameters if needed.
    4. Press Generate Token button to generate the tokens.
    5. Finally, hit OK button:
    Jira
    OAuth (**Must change API Base URL to V3 OAuth**) [OAuth]
    https://[$Subdomain$].atlassian.net/rest/api/3
    Required Parameters
    ClientId Fill-in the parameter...
    ClientSecret Fill-in the parameter...
    Scope Fill-in the parameter...
    ReturnUrl Fill-in the parameter...
    Organization Id (Select after clicking [Generate Token]) Fill-in the parameter...
    Optional Parameters
    Custom Columns for output (Select after clicking [Generate Token])
    RetryMode RetryWhenStatusCodeMatch
    RetryStatusCodeList 429
    RetryCountMax 5
    RetryMultiplyWaitTime True
    ZappySys OAuth Connection

  9. Select Generic Table (Bulk Read or Write) table from the dropdown, then select Insert, Update as operation, and hit Preview Data:

    API Destination - Jira
    Read and write Jira data effortlessly. Track, manage, and automate issues, projects, worklogs, and comments — almost no coding required.
    Jira
    Generic Table (Bulk Read or Write)
    Insert, Update
    Required Parameters
    Url Fill-in the parameter...
    Request Method Fill-in the parameter...
    Optional Parameters
    IsMultiPart
    Filter
    Request Format (Content-Type) Default
    Body {$rows$}
    JsonOutputFormat Multicontent
    DoNotOutputNullProperty
    Batch Size (Default=1) 1
    Meta Detection Order StaticDynamicVirtual
    Input Columns - For Mapping (e.g. MyCol1:string(10); MyCol2:int32 ...) - Use bool, int32, int64, datetime, decimal, double
    Output Columns (e.g. MyCol1:string(10); MyCol2:int32 ...) - Use bool, int32, int64, datetime, decimal, double
    Request Format
    Response Format Default
    Headers Accept: */* || Cache-Control: no-cache
    Csv - Column Delimiter ,
    Csv - Row Delimiter {NEWLINE}
    Csv - Quote Around Value True
    Csv - Always Quote regardless type
    Encoding
    CharacterSet
    Writer DateTime Format
    Csv - Has Header Row True
    Xml - ElementsToTreatAsArray
    Layout Map <?xml version="1.0" encoding="utf-8"?> <!-- Example#1: Output all columns --> <settings> <dataset id="root" main="True" readfrominput="True" /> <map src="*" /> </settings> <!-- Example#2: Records under array <?xml version="1.0" encoding="utf-8"?> <settings singledataset="True"> <dataset id="root" main="True" readfrominput="True" /> <map name="MyArray" dataset="root" maptype="DocArray"> <map src="OrderID" name="OrderID" /> <map src="OrderDate" name="OrderDate" /> </map> </settings> --> <!-- Example#3: Records under nested section <?xml version="1.0" encoding="utf-8"?> <settings> <dataset id="dsRoot" main="True" readfrominput="True" /> <map name="NestedSection"> <map src="OrderID" name="OrderID_MyLabel" /> <map src="OrderDate" name="OrderDate_MyLabel" /> </map> </settings> -->
    SSIS API Destination - Access table operation

  10. Finally, map the desired columns:

    API Destination - Jira
    Read and write Jira data effortlessly. Track, manage, and automate issues, projects, worklogs, and comments — almost no coding required.
    API Destination - Jira

  11. That's it; we successfully configured the POST API Call. In a few clicks we configured the Jira API call using ZappySys Jira Connector

    Execute Package

Deploy SSIS package to Azure Data Factory (ADF)

Once your SSIS package is complete, deploy it to the Azure-SSIS runtime within Azure Data Factory. The setup process requires you to upload the SSIS PowerPack installer to Azure Blob Storage and then customize the runtime configuration using the main.cmd file. For a complete walkthrough of these steps, see our detailed guide on the Azure Data Factory (SSIS) and Jira integration.

Conclusion

And there you have it — a complete guide on how to make generic REST API request (bulk write) in Azure Data Factory (SSIS) without writing complex code. All of this was powered by Jira Connector, which handled the REST API pagination and authentication for us automatically.

Download the trial now or ping us via chat if you have any questions or are looking for a specific feature (you can also reach out to us by submitting a ticket):

More actions supported by Jira Connector

Got another use case in mind? We've documented the exact setups for a variety of essential Jira operations directly in Azure Data Factory (SSIS), so you can skip the trial and error. Find your next step-by-step guide below:

More Jira integrations

All
Data Integration
Database
BI & Reporting
Productivity
Programming Languages
Automation & Scripting
ODBC applications