{"id":4643,"date":"2018-08-18T09:47:14","date_gmt":"2018-08-18T09:47:14","guid":{"rendered":"https:\/\/zappysys.com\/blog\/?p=4643"},"modified":"2025-04-07T13:05:53","modified_gmt":"2025-04-07T13:05:53","slug":"read-vsts-data-ssis-call-rest-api-load-sql-server","status":"publish","type":"post","link":"https:\/\/zappysys.com\/blog\/read-vsts-data-ssis-call-rest-api-load-sql-server\/","title":{"rendered":"Read Azure DevOps data in SSIS (VSTS \/ TFS Online) \u2013 Call REST API \/ Load to SQL Server"},"content":{"rendered":"<h2>Introduction<\/h2>\n<p><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/Visual-Studio-Team-Services-logo-150x150-1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-4646 \" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/Visual-Studio-Team-Services-logo-150x150-1-150x150.png\" alt=\"Visual Studio Team Service Logo\" width=\"91\" height=\"91\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/Visual-Studio-Team-Services-logo-150x150-1-150x150.png 150w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/Visual-Studio-Team-Services-logo-150x150-1.png 300w\" sizes=\"(max-width: 91px) 100vw, 91px\" \/><\/a><\/p>\n<p>In this blog, we will learn\u00a0<strong>How to read data from Azure DevOps in SSIS and load into SQL Server Table.<\/strong>\u00a0Azure DevOps was formally known as TFS Online \/ VSTS.<\/p>\n<p>In this article we will learn, how to read Issues (Work Items) using Azure DevOps API (i.e. VSTS API). In last few years Microsoft has changed marketing names few times for TFS Service. For example everything started with\u00a0 Visual Source Safe (VSS) &gt; TFS &gt; TFS Online &gt; Visual Studio Online &gt; VSTS (Visual Studio Team Services)) and finally now its called <strong>Azure DevOps<\/strong>. In this article we might use terms like VSTS or TFS\u00a0 Online or\u00a0<strong>Azure DevOps<\/strong> but not to get confused its all about <strong>Calling Azure Dev Ops API.<\/strong><\/p>\n<p>In this article we will try to cover few topics such as.<\/p>\n<ul>\n<li>Register an OAuth App to call REST API for\u00a0<strong>Azure DevOps API (i.e. VSTS \/ TFS Online)<\/strong><\/li>\n<li>Read all Issues (Work Items) data from VSTS with SSIS and finally<\/li>\n<li>Create new Issue\/Bug in Visual Studio Team Service Project WorkItems.<\/li>\n<li>Authenticate and Call Azure DevOps <strong>using PAT<\/strong> (Personal Access Tokens) rather than OAuth 2.0<\/li>\n<\/ul>\n<p>We will go through the steps to read Issues data from Visual Studio Team Service and Load into SQL Server using\u00a0\u00a0<a href=\"https:\/\/zappysys.com\/products\/ssis-powerpack\/ssis-rest-api-web-service-task\/\">SSIS REST API Task<\/a> and\u00a0<a href=\"https:\/\/zappysys.com\/products\/ssis-powerpack\/ssis-json-file-source\/\">SSIS JSON Source.<\/a><\/p>\n<p>In nutshell,\u00a0this post will focus on how to call VSTS API using SSIS.<\/p>\n<p>So let&#8217;s get started.<\/p>\n<h2><span id=\"Requirements\">Prerequisite<br \/>\n<\/span><\/h2>\n<ol>\n<li>First, you will need to have SSIS installed<\/li>\n<li>Secondly, make sure to have SSDT<\/li>\n<li>Finally, do not forget to install\u00a0ZappySys\u00a0<a href=\"https:\/\/zappysys.com\/products\/ssis-powerpack\/\">SSIS PowerPack<\/a><\/li>\n<\/ol>\n<h2><span id=\"Conclusion\">Call Azure DevOps API Using PAT (Personal Access Token)<\/span><\/h2>\n<p>There are two ways to call Azure DevOps API. You can use <a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/devops\/integrate\/get-started\/authentication\/oauth\">OAuth 2.0<\/a> or use <a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/devops\/organizations\/accounts\/use-personal-access-tokens-to-authenticate\" target=\"_blank\" rel=\"noopener\">PAT (i.e. Personal Access Token)<\/a>\u00a0In the next section we will see how to use OAuth 2.0 if you like more secure way to authenticate (OAuth 2.0 requires more steps).<\/p>\n<p>Microsoft offers Static API Token (referred as PAT &#8211; Personal Access Token) which you can use like a password (it remains valid for 1 year before you have regenerate).<\/p>\n<p>So let&#8217;s get started.<\/p>\n<h3>Create PAT (Personal Access Token)<\/h3>\n<ol>\n<li>Visit to <span class=\"lang:default highlight:0 decode:true crayon-inline \">https:\/\/dev.azure.com\/YOUR_COMPANY_NAME\/_usersSettings\/tokens<\/span>\u00a0.\u00a0Create Personal Access Token (i.e. PAT ) by clicking User Settings icon &gt; Personal Access Token (see below)\u00a0 (<a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/devops\/organizations\/accounts\/use-personal-access-tokens-to-authenticate?view=azure-devops&amp;tabs=preview-page\" target=\"_blank\" rel=\"noopener\">detailed steps listed here<\/a>\u00a0)\n<div id=\"attachment_9224\" style=\"width: 801px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/azure-devops-create-pat-personal-access-token.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-9224\" class=\"size-full wp-image-9224\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/azure-devops-create-pat-personal-access-token.png\" alt=\"Call Azure DevOps API (formally known as VSTS \/ TFS Online) - Create Personal Access Token (i.e. PAT)\" width=\"791\" height=\"559\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/azure-devops-create-pat-personal-access-token.png 791w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/azure-devops-create-pat-personal-access-token-300x212.png 300w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/azure-devops-create-pat-personal-access-token-768x543.png 768w\" sizes=\"(max-width: 791px) 100vw, 791px\" \/><\/a><p id=\"caption-attachment-9224\" class=\"wp-caption-text\">Call Azure DevOps API (formally known as VSTS \/ TFS Online) &#8211; Create Personal Access Token (i.e. PAT)<\/p><\/div><\/li>\n<li>On Token Configuration Screen change Expiration to maximum (i.e. one year from today)<\/li>\n<li>Now select permission &#8211; We will call Analytics API below (but you can also check Work Items section if you need to call some other API for read \/ write purpose)\n<div id=\"attachment_9225\" style=\"width: 1201px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/azure-devops-api-create-pat-personal-access-token-set-permission.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-9225\" class=\"wp-image-9225 size-full\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/azure-devops-api-create-pat-personal-access-token-set-permission.png\" alt=\"Change Permission \/ Expiration Date for Azure DevOps PAT (Personal Access Token) - Read \/ Write Work Items, Call Analytics API Example\" width=\"1191\" height=\"837\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/azure-devops-api-create-pat-personal-access-token-set-permission.png 1191w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/azure-devops-api-create-pat-personal-access-token-set-permission-300x211.png 300w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/azure-devops-api-create-pat-personal-access-token-set-permission-768x540.png 768w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/azure-devops-api-create-pat-personal-access-token-set-permission-1024x720.png 1024w\" sizes=\"(max-width: 1191px) 100vw, 1191px\" \/><\/a><p id=\"caption-attachment-9225\" class=\"wp-caption-text\">Change Permission \/ Expiration Date for Azure DevOps PAT (Personal Access Token) &#8211; Read \/ Write Work Items, Call Analytics API Example<\/p><\/div><\/li>\n<\/ol>\n<h3>Call Azure DevOps OData API in SSIS &#8211; Read WorkItems\u00a0 Example (Analytics API Service)<\/h3>\n<p>Now lets configure JSON Source to read WorkItems by calling\u00a0 Azure DevOps Analytics API (in Previous few sections we call different set of APIs). <a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/devops\/report\/extend-analytics\/wit-analytics?view=azure-devops\">Check this link<\/a> for more information on AzureDevOps Analytics API (its OData format).<\/p>\n<p>For demo purpose we are calling WorkItems entity but you can read from many other entities like (Read Areas, Iterations, Projects, Teams, Tags etc).\u00a0<a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/devops\/report\/extend-analytics\/data-model-analytics-service?view=azure-devops\">Check this link<\/a> to see which Entity (i.e. Table) you can query for specific OData API version.<\/p>\n<p>So let&#8217;s get started<\/p>\n<ol>\n<li>Go to SSIS designer and drag Data Flow Task on the Designer Surface<br \/>\n<img decoding=\"async\" class=\"figureimage\" title=\"SSIS Data Flow Task - Drag and Drop\" src=\"https:\/\/zappysys.com\/onlinehelp\/ssis-powerpack\/scr\/images\/drag-and-drop-data-flow-task.png\" alt=\"SSIS Data Flow Task - Drag and Drop\" \/><\/li>\n<li>Then double click Data Flow and from toolbox drag ZS JSON Source<br \/>\n<img decoding=\"async\" class=\"figureimage\" title=\"SSIS JSON Source - Drag and Drop\" src=\"https:\/\/zappysys.com\/onlinehelp\/ssis-powerpack\/scr\/images\/json-source\/ssis-json-source-adapter-drag.png\" alt=\"SSIS JSON Source - Drag and Drop\" \/><\/li>\n<li>Double click JSON Source to configure like below\n<ol>\n<li>First change Data Format to <strong>OData<\/strong> (Analytics API we will call in this section is OData format)<\/li>\n<li>Enter URL to Query data like below. Change\u00a0<strong>YOUR_COMPANY_NAME<\/strong> with your own name. Below API URL will call Analytics will\n<pre class=\"lang:default highlight:0 decode:true\">https:\/\/analytics.dev.azure.com\/YOUR_COMPANY_NAME\/Odbc\/_odata\/v3.0\/WorkItems?$select=WorkItemId,Title,WorkItemType,State,CreatedDate&amp;$orderby=CreatedDate desc&amp;$top=11<\/pre>\n<\/li>\n<li>Check Use Credentials and Select new <strong>ZS-HTTP<\/strong> connection (instead of OAUTH)<\/li>\n<\/ol>\n<\/li>\n<li>On HTTP Connection UI Configure below\n<ol>\n<li>Enter Some URL &#8211; This will be ignored anyways (e.g.\u00a0https:\/\/dev.azure.com )<\/li>\n<li>Change Credentials Type to Basic (User ID \/ Password)<\/li>\n<li>Enter some random word in User ID -i.e. fakeusername (this is ignored anyways but needs some non-empty value for older version of SSIS PowerPack else validation fails)<\/li>\n<li>Enter PAT (i.e. Personal Access Token) obtained in the previous section<\/li>\n<\/ol>\n<\/li>\n<li>Click OK to Save Connection UI and go back to JSON Source<\/li>\n<li>On JSON Source, Enter or Select <strong>Array Filter<\/strong> as\u00a0<span class=\"lang:default highlight:0 decode:true crayon-inline \">$.value[*]<\/span><\/li>\n<li>Click Preview data see its working using HTTP connection method<\/li>\n<\/ol>\n<div id=\"attachment_9226\" style=\"width: 1071px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/generate-azure-devops-pat-token-call-odata-rest-api.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-9226\" class=\"size-full wp-image-9226\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/generate-azure-devops-pat-token-call-odata-rest-api.png\" alt=\"Configure JSON Source - Call Azure DevOps Api using PAT (Personal Access Token)\" width=\"1061\" height=\"733\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/generate-azure-devops-pat-token-call-odata-rest-api.png 1061w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/generate-azure-devops-pat-token-call-odata-rest-api-300x207.png 300w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/generate-azure-devops-pat-token-call-odata-rest-api-768x531.png 768w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/generate-azure-devops-pat-token-call-odata-rest-api-1024x707.png 1024w\" sizes=\"(max-width: 1061px) 100vw, 1061px\" \/><\/a><p id=\"caption-attachment-9226\" class=\"wp-caption-text\">Configure JSON Source &#8211; Call Azure DevOps Api using PAT (Personal Access Token)<\/p><\/div>\n<p>&nbsp;<\/p>\n<h2>Calling Azure DevOps API in SSIS using OAuth 2.0<\/h2>\n<p>Now in this section we will see how to use more secure but little harder approach to authenticate. We will use OAuth 2.0 this time rather than static token (PAT) which we used in previous section.<\/p>\n<p>In order to start, we will show several examples. ZappySys includes an\u00a0<a href=\"https:\/\/zappysys.com\/products\/ssis-powerpack\/ssis-json-file-source\/\">SSIS JSON Source<\/a>\u00a0that will help you to call VSTS API, read various data from VSTS with SSIS, create a new issue on VSTS with SSIS and do many more actions using REST API. To learn more about VSTS API <a href=\"https:\/\/docs.microsoft.com\/en-us\/rest\/api\/vsts\" rel=\"noopener\">check this help file<\/a>.<\/p>\n<h3>Create VSTS App (for OAuth 2.0 API Call)<\/h3>\n<p>To access VSTS data using REST API call you need to create a VSTS app.\u00a0Follow the mentioned steps below to register VSTS OAuth App:<\/p>\n<ol>\n<li>you can directly login to the <a href=\"https:\/\/app.vssps.visualstudio.com\/profile\/view\">Visual Studio Team Service &#8211; TFS Online site<\/a> with your credentials, and redirect to the <a href=\"https:\/\/app.vsaex.visualstudio.com\/app\/register\">Visual Studio Team Service App Registration<\/a>\u00a0for creating an app.<\/li>\n<li>you can open <a href=\"https:\/\/app.vssps.visualstudio.com\/profile\/view\">MyApps Page<\/a>.\n<div id=\"attachment_10065\" style=\"width: 1233px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/Visual-Studio-Team-Services-Create-new-OAuth-Apps.png\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-10065\" class=\"wp-image-10065 size-full\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/Visual-Studio-Team-Services-Create-new-OAuth-Apps.png\" alt=\"Visual-Studio-Team-Services-Create-new-OAuth-Apps\" width=\"1223\" height=\"759\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/Visual-Studio-Team-Services-Create-new-OAuth-Apps.png 1223w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/Visual-Studio-Team-Services-Create-new-OAuth-Apps-300x186.png 300w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/Visual-Studio-Team-Services-Create-new-OAuth-Apps-768x477.png 768w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/Visual-Studio-Team-Services-Create-new-OAuth-Apps-1024x635.png 1024w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/Visual-Studio-Team-Services-Create-new-OAuth-Apps-436x272.png 436w\" sizes=\"(max-width: 1223px) 100vw, 1223px\" \/><\/a><p id=\"caption-attachment-10065\" class=\"wp-caption-text\">Visual Studio Team Service: My Apps<\/p><\/div>\n<p>Visual Studio Team Service: My Apps[\/caption]<\/li>\n<li>Click on Create new application link, and you will be redirected to the\u00a0<a href=\"https:\/\/app.vsaex.visualstudio.com\/app\/register\">Visual Studio Team Service App Registration<\/a>\u00a0Page.<\/li>\n<li>Make sure you enter Authorization call base URL. We suggest to below call back URL if you are unsure. We will use exact same URL on OAuth connection UI (Advanced Tab)\n<pre class=\"\">https:\/\/zappysys.com\/oauth<\/pre>\n<\/li>\n<li>\n<div id=\"attachment_4649\" style=\"width: 962px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/VSTS-New-OAuth-App-Registration.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-4649\" class=\"wp-image-4649 size-full\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/VSTS-New-OAuth-App-Registration.png\" alt=\"Visual Studio Team Service: New OAuth App Registration\" width=\"952\" height=\"760\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/VSTS-New-OAuth-App-Registration.png 952w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/VSTS-New-OAuth-App-Registration-300x239.png 300w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/VSTS-New-OAuth-App-Registration-768x613.png 768w\" sizes=\"(max-width: 952px) 100vw, 952px\" \/><\/a><p id=\"caption-attachment-4649\" class=\"wp-caption-text\">Visual Studio Team Service: New OAuth App Registration<\/p><\/div><\/li>\n<li>Select the Authorization scopes as per your requirements, and click on Create Application button.<br \/>\nFor example to read Work Items or Create new Issues programmatically you can check following scope (i.e. OAuth permission).<strong>Check &#8211; Work items (full)\u00a0 <\/strong>(i.e.\u00a0vso.work_full scope)<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;\">Note: The scopes selected on your registered application (below screenshot) must match the scopes entered in the ZappySys OAuth connection scopes field (see below). If they do not match exactly, an InvalidScope error can be produced.<\/div><\/div>\n<strong><br \/>\n<\/strong><\/p>\n<div id=\"attachment_4651\" style=\"width: 1130px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/VSTS-New-OAuth-App-Registration-Select-Scopes.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-4651\" class=\"wp-image-4651 size-full\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/VSTS-New-OAuth-App-Registration-Select-Scopes.png\" alt=\"Visual Studio Team Service: Select Authorization Scopes\" width=\"1120\" height=\"761\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/VSTS-New-OAuth-App-Registration-Select-Scopes.png 1120w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/VSTS-New-OAuth-App-Registration-Select-Scopes-300x204.png 300w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/VSTS-New-OAuth-App-Registration-Select-Scopes-768x522.png 768w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/VSTS-New-OAuth-App-Registration-Select-Scopes-1024x696.png 1024w\" sizes=\"(max-width: 1120px) 100vw, 1120px\" \/><\/a><p id=\"caption-attachment-4651\" class=\"wp-caption-text\">Visual Studio Team Service: Select Authorization Scopes<\/p><\/div><\/li>\n<li>Once you are done with the Creation of an App certainly, you can edit the Application If you want to change Redirect URL or something.<\/li>\n<li>furthermore, Go to MyApps Page and you have your App&#8217;s Lists there with App&#8217;s App ID as Client ID and App Secret as Client Secret.\n<div id=\"attachment_10067\" style=\"width: 1177px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/VSTS-OAuth-App-Credentials-1.png\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-10067\" class=\"wp-image-10067 size-full\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/VSTS-OAuth-App-Credentials-1.png\" alt=\"VSTS-OAuth-App-Credentials\" width=\"1167\" height=\"495\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/VSTS-OAuth-App-Credentials-1.png 1167w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/VSTS-OAuth-App-Credentials-1-300x127.png 300w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/VSTS-OAuth-App-Credentials-1-768x326.png 768w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/VSTS-OAuth-App-Credentials-1-1024x434.png 1024w\" sizes=\"(max-width: 1167px) 100vw, 1167px\" \/><\/a><p id=\"caption-attachment-10067\" class=\"wp-caption-text\">Visual Studio Team Service: Your Apps with App\u2019s Credentials<\/p><\/div><\/li>\n<\/ol>\n<p>finally, we are ready with an App. Let\u00b4s start with an example. In this example, we will show how to retrieve all Issues data from Visual Studio Team Service &#8211; TFS Online and create a new Issue in Visual Studio Team Service &#8211; TFS Online Work Items List under your Project with SSIS.<\/p>\n<h3>Load VSTS data to SQL Server using SSIS JSON Source<\/h3>\n<p>Now once you registered OAuth app in the Visual Studio Team Service &#8211; TFS Online website we can move to SSIS Part.<\/p>\n<h4>Configure OAuth Connection Manager<\/h4>\n<ol>\n<li>Right click on Connection Managers Panel to Create New OAuth Connection, and Context Menu will appear, Select New Connection from the Context Menu.\n<div id=\"attachment_4723\" style=\"width: 687px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/ssis-connection-managers-select-connection.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-4723\" class=\"size-full wp-image-4723\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/ssis-connection-managers-select-connection.png\" alt=\"Connection Manager Panel: Select Connection\" width=\"677\" height=\"348\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/ssis-connection-managers-select-connection.png 677w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/ssis-connection-managers-select-connection-300x154.png 300w\" sizes=\"(max-width: 677px) 100vw, 677px\" \/><\/a><p id=\"caption-attachment-4723\" class=\"wp-caption-text\">Connection Manager Panel: Select Connection<\/p><\/div><\/li>\n<li>Select ZS-OAUTH Connection Manager from the Connection Managers list.\n<div id=\"attachment_4724\" style=\"width: 681px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/ssis-connection-managers-list-select-zs-oauth-connection-manager.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-4724\" class=\"wp-image-4724 size-full\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/ssis-connection-managers-list-select-zs-oauth-connection-manager.png\" alt=\"SSIS Connection Mangers List: Select O-AUTH Connection Manager\" width=\"671\" height=\"549\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/ssis-connection-managers-list-select-zs-oauth-connection-manager.png 671w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/ssis-connection-managers-list-select-zs-oauth-connection-manager-300x245.png 300w\" sizes=\"(max-width: 671px) 100vw, 671px\" \/><\/a><p id=\"caption-attachment-4724\" class=\"wp-caption-text\">SSIS Connection Mangers List: Select O-AUTH Connection Manager<\/p><\/div><\/li>\n<li>Configure the new OAuth Connection for <strong>VSTS(Visual Studio Team Service &#8211; TFS Online)<\/strong> as below.<\/li>\n<li>First lets enter Call back URL (Same URL you entered when you created App earlier)<a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/ssis-oauth-connection-manager-for-VSTS-API-configurations-Advanced-Tab.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-4696\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/ssis-oauth-connection-manager-for-VSTS-API-configurations-Advanced-Tab.png\" alt=\"SSIS OAuth Connection Manager: Advanced Tab Configurations\" width=\"771\" height=\"697\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/ssis-oauth-connection-manager-for-VSTS-API-configurations-Advanced-Tab.png 771w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/ssis-oauth-connection-manager-for-VSTS-API-configurations-Advanced-Tab-300x271.png 300w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/ssis-oauth-connection-manager-for-VSTS-API-configurations-Advanced-Tab-768x694.png 768w\" sizes=\"(max-width: 771px) 100vw, 771px\" \/><\/a>SSIS OAuth Connection Manager: Advanced Tab Configurations<\/li>\n<li>For VSTS API you need to set the Refresh Token File Path as below because VSTS API Token&#8217;s Refresh Token keeps changing.<a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/ssis-oauth-connection-manager-for-VSTS-API-configurations-OAuth2-Grant-Options-Tab.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-4697\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/ssis-oauth-connection-manager-for-VSTS-API-configurations-OAuth2-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\/08\/ssis-oauth-connection-manager-for-VSTS-API-configurations-OAuth2-Grant-Options-Tab.png 771w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/ssis-oauth-connection-manager-for-VSTS-API-configurations-OAuth2-Grant-Options-Tab-300x271.png 300w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/ssis-oauth-connection-manager-for-VSTS-API-configurations-OAuth2-Grant-Options-Tab-768x694.png 768w\" sizes=\"(max-width: 771px) 100vw, 771px\" \/><\/a><\/li>\n<li>Then configure the App on the General tab like below (i.e. OAuth Provider, Client ID, Client Secret, Scopes, etc.)<br \/>\nScope must be valid one <a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/devops\/integrate\/get-started\/authentication\/oauth?toc=%2Fazure%2Fdevops%2Forganizations%2Ftoc.json&amp;bc=%2Fazure%2Fdevops%2Forganizations%2Fbreadcrumb%2Ftoc.json&amp;view=azure-devops#scopes\" target=\"_blank\" rel=\"noopener\">from this list<\/a> (only those scope allowed which are checked during app creation). For example during app creation you check Work items (full) then you can enter <strong>vso.work_full<\/strong> in scope.<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;\">Note: The scopes selected on your registered application must match the scopes entered in the scopes field (below screenshot). If they do not match exactly, an InvalidScope error can be produced.<\/div><\/div><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/ssis-oauth-connection-manager-for-VSTS-API-configurations-General-Tab.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-4695\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/ssis-oauth-connection-manager-for-VSTS-API-configurations-General-Tab.png\" alt=\"SSIS OAuth Connection Manager: General Tab Configurations\" width=\"771\" height=\"697\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/ssis-oauth-connection-manager-for-VSTS-API-configurations-General-Tab.png 771w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/ssis-oauth-connection-manager-for-VSTS-API-configurations-General-Tab-300x271.png 300w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/ssis-oauth-connection-manager-for-VSTS-API-configurations-General-Tab-768x694.png 768w\" sizes=\"(max-width: 771px) 100vw, 771px\" \/><\/a><\/p>\n<div class=\"mceTemp\"><\/div>\n<\/li>\n<li>finally, you are done with the OAuth Configurations. 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.<\/li>\n<\/ol>\n<h4>How to get ProjectID?<\/h4>\n<p>If you don&#8217;t know the ProjectID, then you can also enter ProjectName in place of ProjectID in Request URL. you can also call GET Request for getting Lists of Projects. the Request URL for getting the\u00a0list of Projects is:<\/p>\n<pre class=\"lang:default decode:true\">https:\/\/{accountName}.visualstudio.com\/_apis\/projects?api-version=4.1<\/pre>\n<p>For this, we will use\u00a0<a href=\"https:\/\/zappysys.com\/products\/ssis-powerpack\/ssis-rest-api-web-service-task\/\">SSIS REST API Task<\/a><\/p>\n<ol>\n<li>First\u00a0of All, Goto Control Flow Section, Drag and Drop\u00a0<a href=\"https:\/\/zappysys.com\/products\/ssis-powerpack\/ssis-rest-api-web-service-task\/\">SSIS REST API Task<\/a>\u00a0from the SSIS Toolbox.\n<div id=\"attachment_3777\" class=\"wp-caption aligncenter\">\n<div id=\"attachment_3777\" style=\"width: 577px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/i1.wp.com\/zappysys.com\/blog\/wp-content\/uploads\/2018\/05\/ssis-rest-api-task-share-post-on-linkedin.png?ssl=1\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-3777\" class=\"wp-image-3777 size-full\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/05\/ssis-rest-api-task-share-post-on-linkedin.png\" alt=\"Drag and Drop REST API Task\" width=\"567\" height=\"297\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/05\/ssis-rest-api-task-share-post-on-linkedin.png 567w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/05\/ssis-rest-api-task-share-post-on-linkedin-300x157.png 300w\" sizes=\"(max-width: 567px) 100vw, 567px\" \/><\/a><p id=\"caption-attachment-3777\" class=\"wp-caption-text\">Drag and Drop REST API Task<\/p><\/div>\n<\/div>\n<\/li>\n<li>furthermore, Double click on that Component to Edit the Configurations and Configure the task like the below-attached screesnshot.<br \/>\nSome basic configurations need to be done in SSIS REST API Task.<br \/>\n<strong># Request Tab:\u00a0<\/strong><\/p>\n<blockquote><p><strong>* <\/strong>Select Request URL Access Mode to Url from Connection.<br \/>\n<strong>* <\/strong>Select Url Connection to your configured ZS-OAuth Connection Manager.<strong><br \/>\n* <\/strong>Enter <strong>Request URL:<\/strong>\u00a0https:\/\/zappysys.visualstudio.com\/_apis\/projects?api-version=4.1<br \/>\n<strong>* <\/strong>Select <strong>HTTP\u00a0Request Method:<\/strong>\u00a0GET<\/p><\/blockquote>\n<div id=\"attachment_4725\" style=\"width: 810px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/ssis-rest-api-task-to-get-list-of-projects-VSTS-API-Request-Settings.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-4725\" class=\"size-full wp-image-4725\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/ssis-rest-api-task-to-get-list-of-projects-VSTS-API-Request-Settings.png\" alt=\"SSIS REST API Task: Request Tab Configurations\" width=\"800\" height=\"654\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/ssis-rest-api-task-to-get-list-of-projects-VSTS-API-Request-Settings.png 800w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/ssis-rest-api-task-to-get-list-of-projects-VSTS-API-Request-Settings-300x245.png 300w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/ssis-rest-api-task-to-get-list-of-projects-VSTS-API-Request-Settings-768x628.png 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/a><p id=\"caption-attachment-4725\" class=\"wp-caption-text\">SSIS REST API Tsk: Request Tab Configurations<\/p><\/div>\n<p>Create New Variable from Variable Menu<\/p>\n<div id=\"attachment_4692\" style=\"width: 1559px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/ssis-set-variables.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-4692\" class=\"size-full wp-image-4692\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/ssis-set-variables.png\" alt=\"SSIS User Variables: Create a new Variable and set Value\" width=\"1549\" height=\"249\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/ssis-set-variables.png 1549w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/ssis-set-variables-300x48.png 300w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/ssis-set-variables-768x123.png 768w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/ssis-set-variables-1024x165.png 1024w\" sizes=\"(max-width: 1549px) 100vw, 1549px\" \/><\/a><p id=\"caption-attachment-4692\" class=\"wp-caption-text\">SSIS User Variables: Create a new Variable and set Value<\/p><\/div>\n<p><strong># Response Tab:\u00a0<\/strong><\/p>\n<blockquote><p>* Select <strong>Response Content Type:<\/strong> Json<br \/>\n* Set <strong>Response Content Filter Expression:<\/strong>\u00a0$.value[1].id<br \/>\n* check the checkbox of\u00a0<strong>Save Response Content<br \/>\n<\/strong><strong>* <\/strong>Set <strong>Save Mode <\/strong>to Save to Variable<br \/>\n* <strong>Select your Variable:<\/strong> {{User::ProjectID}}<\/p><\/blockquote>\n<div id=\"attachment_4726\" style=\"width: 810px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/ssis-rest-api-task-to-get-list-of-projects-VSTS-API-Response-Settings.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-4726\" class=\"size-full wp-image-4726\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/ssis-rest-api-task-to-get-list-of-projects-VSTS-API-Response-Settings.png\" alt=\"SSIS REST API Task: Response Tab Configurations\" width=\"800\" height=\"654\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/ssis-rest-api-task-to-get-list-of-projects-VSTS-API-Response-Settings.png 800w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/ssis-rest-api-task-to-get-list-of-projects-VSTS-API-Response-Settings-300x245.png 300w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/ssis-rest-api-task-to-get-list-of-projects-VSTS-API-Response-Settings-768x628.png 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/a><p id=\"caption-attachment-4726\" class=\"wp-caption-text\">SSIS REST API Task: Response Tab Configurations<\/p><\/div><\/li>\n<li>\u00a0finally, you are done with the configurations and do Test Request\/Response and your ProjectID will be saved in {{User:: ProjectID}}<\/li>\n<\/ol>\n<h4>Configure JSON Source Component<\/h4>\n<ol>\n<li>First of all, Create a new SSIS Project or Open Existing Project in Visual Studio\u00a0 (File &gt; New &gt; Project &gt; Business Intelligence &gt; Integration Services)<\/li>\n<li>Once SSIS Package is open, Goto Data Flow Section, Drag and Drop <a href=\"https:\/\/zappysys.com\/products\/ssis-powerpack\/ssis-json-file-source\/\">ZS JSON Source Component<\/a> from the SSIS Toolbox.\n<div id=\"attachment_3766\" style=\"width: 604px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/05\/ssis-json-source-for-getting-basic-profile-from-linkedin.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-3766\" class=\"wp-image-3766 size-full\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/05\/ssis-json-source-for-getting-basic-profile-from-linkedin.png\" alt=\"Drag and Drop JSON Source Component\" width=\"594\" height=\"268\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/05\/ssis-json-source-for-getting-basic-profile-from-linkedin.png 594w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/05\/ssis-json-source-for-getting-basic-profile-from-linkedin-300x135.png 300w\" sizes=\"(max-width: 594px) 100vw, 594px\" \/><\/a><p id=\"caption-attachment-3766\" class=\"wp-caption-text\">Drag and Drop JSON Source Component<\/p><\/div><\/li>\n<li>furthermore, Double click on that Component to Edit the Configurations. Select File path or web URL from the Access Mode drop-down.<br \/>\nEnter Web URL like this:<\/p>\n<pre class=\"lang:default decode:true\">https:\/\/{accountName}.almsearch.visualstudio.com\/{project}\/_apis\/search\/workitemsearchresults?api-version=4.1-preview.1<\/pre>\n<p>here,\u00a0We have used 2 Parameters<strong>.<\/strong><\/p>\n<p><strong>* {accountName} <\/strong>is the name of the Visual Studio Team Services &#8211; TFS Online account<strong>.<br \/>\n<\/strong><strong>* {project} <\/strong>is\u00a0Project ID or project name\u00a0(For more See this\u00a0<a href=\"https:\/\/docs.microsoft.com\/en-us\/rest\/api\/vsts\/search\/work%20item%20search%20results\/fetch%20work%20item%20search%20results?view=vsts-rest-4.1\">Visual Studio Team Service API Documentation for getting filtered Issues data Request API<\/a>)<br \/>\nWe have used Search Work Items for Fetching Paginated Work Items(Issues, Bugs)<\/p>\n<p>You can use Variable too in your Request URL, to <strong>make URL Dynamic<\/strong>, See the below-attached Screenshot.<br \/>\nTo make URL dynamic first create an SSIS variable like below screenshot and then change URL to use <a href=\"https:\/\/zappysys.com\/onlinehelp\/ssis-powerpack\/scr\/ssis-format-specifiers.htm\" target=\"_blank\" rel=\"noopener\">Variable Placeholder<\/a> like this<\/p>\n<pre class=\"lang:default decode:true\">https:\/\/zappysys.almsearch.visualstudio.com\/{{User::ProjectID}}\/_apis\/search\/workitemsearchresults?api-version=4.1-preview.1\r\n<\/pre>\n<p>&nbsp;<\/li>\n<\/ol>\n<div id=\"attachment_4693\" style=\"width: 892px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/ssis-json-source-enter-request-url.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-4693\" class=\"size-full wp-image-4693\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/ssis-json-source-enter-request-url.png\" alt=\"SSIS JSON Source Component: Enter the Request URL\" width=\"882\" height=\"752\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/ssis-json-source-enter-request-url.png 882w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/ssis-json-source-enter-request-url-300x256.png 300w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/ssis-json-source-enter-request-url-768x655.png 768w\" sizes=\"(max-width: 882px) 100vw, 882px\" \/><\/a><p id=\"caption-attachment-4693\" class=\"wp-caption-text\">SSIS JSON Source Component: Enter the Request URL<\/p><\/div>\n<h4>JSON Source Configuration for Pagination<\/h4>\n<ol>\n<li>now, we are going to set Pagination related configurations of Visual Studio Team Service &#8211; TFS Online for Getting all WorkItems with Search POST REST Request API. Here in our example,<br \/>\n<strong><strong>Request Method: POST<br \/>\nBody Content-Type: JSON (application\/json)<br \/>\nRequest Body:<br \/>\n<\/strong><\/strong><\/p>\n<pre class=\"lang:default decode:true\">{\r\n  \"searchText\": \"a\",\r\n  \"$skip\": &lt;%page%&gt;,\r\n  \"$top\": 100,\r\n  \"filters\": {\r\n    \"System.TeamProject\": [\r\n      \"ProductTesting\"\r\n    ]\r\n  }\r\n}\r\n<\/pre>\n<p>here, SearchText:\u00a0The SearchText for filtering WorkItems based on the keywords match.<br \/>\n<strong>$skip:<\/strong> Number of results to be skipped<br \/>\n<strong>$top:<\/strong> Number of results to be returned.<br \/>\n<div class=\"su-note\"  style=\"border-color:#e5e54c;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:#FFFF66;border-color:#ffffff;color:#333333;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;\">you can take any number of the page size. for example, you can set 100 in both $skip and $top properties (I have set 10 for the Demo Purpose only)<\/div><\/div>\nfilters: Filters to be applied. Set it to null if there are no filters to be applied.<br \/>\nSystem.TeamProject: ProjectName in which you want to do filtering of WorkItems.<\/p>\n<div id=\"attachment_4698\" style=\"width: 1174px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/ssis-json-source-for-VSTS-API-request-settings-tab.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-4698\" class=\"size-full wp-image-4698\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/ssis-json-source-for-VSTS-API-request-settings-tab.png\" alt=\"SSIS JSON Source Component: Configurations of Settings Tab\" width=\"1164\" height=\"728\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/ssis-json-source-for-VSTS-API-request-settings-tab.png 1164w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/ssis-json-source-for-VSTS-API-request-settings-tab-300x188.png 300w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/ssis-json-source-for-VSTS-API-request-settings-tab-768x480.png 768w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/ssis-json-source-for-VSTS-API-request-settings-tab-1024x640.png 1024w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/ssis-json-source-for-VSTS-API-request-settings-tab-436x272.png 436w\" sizes=\"(max-width: 1164px) 100vw, 1164px\" \/><\/a><p id=\"caption-attachment-4698\" class=\"wp-caption-text\">SSIS JSON Source Component: Configurations of Settings Tab<\/p><\/div><\/li>\n<li>\u00a0You can Configure the Pagination Tab something like this:\n<div id=\"attachment_4699\" style=\"width: 836px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/ssis-json-source-for-VSTS-API-request-pagination-tab.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-4699\" class=\"size-full wp-image-4699\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/ssis-json-source-for-VSTS-API-request-pagination-tab.png\" alt=\"SSIS JSON Source Component: Pagination Tab Settings\" width=\"826\" height=\"733\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/ssis-json-source-for-VSTS-API-request-pagination-tab.png 826w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/ssis-json-source-for-VSTS-API-request-pagination-tab-300x266.png 300w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/ssis-json-source-for-VSTS-API-request-pagination-tab-768x682.png 768w\" sizes=\"(max-width: 826px) 100vw, 826px\" \/><\/a><p id=\"caption-attachment-4699\" class=\"wp-caption-text\">SSIS JSON Source Component: Pagination Tab Settings<\/p><\/div><\/li>\n<li>furthermore, Select the Filter to set the Filter.\n<div id=\"attachment_4700\" style=\"width: 1093px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/ssis-json-source-select-filter-for-VSTS-API-POST-Request.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-4700\" class=\"size-full wp-image-4700\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/ssis-json-source-select-filter-for-VSTS-API-POST-Request.png\" alt=\"SSIS JSON Source Component Configurations: Select Filter\" width=\"1083\" height=\"729\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/ssis-json-source-select-filter-for-VSTS-API-POST-Request.png 1083w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/ssis-json-source-select-filter-for-VSTS-API-POST-Request-300x202.png 300w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/ssis-json-source-select-filter-for-VSTS-API-POST-Request-768x517.png 768w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/ssis-json-source-select-filter-for-VSTS-API-POST-Request-1024x689.png 1024w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/ssis-json-source-select-filter-for-VSTS-API-POST-Request-272x182.png 272w\" sizes=\"(max-width: 1083px) 100vw, 1083px\" \/><\/a><p id=\"caption-attachment-4700\" class=\"wp-caption-text\">SSIS JSON Source Component Configurations: Select Filter<\/p><\/div><\/li>\n<li>It\u00a0seems like you are all OK with the configurations, Click on the Preview button to see the response data.\n<div id=\"attachment_4701\" style=\"width: 1519px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/ssis-json-source-VSTS-API-preview-response-data.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-4701\" class=\"size-full wp-image-4701\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/ssis-json-source-VSTS-API-preview-response-data.png\" alt=\"SSIS JSON Source Component: See the Preview\" width=\"1509\" height=\"731\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/ssis-json-source-VSTS-API-preview-response-data.png 1509w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/ssis-json-source-VSTS-API-preview-response-data-300x145.png 300w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/ssis-json-source-VSTS-API-preview-response-data-768x372.png 768w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/ssis-json-source-VSTS-API-preview-response-data-1024x496.png 1024w\" sizes=\"(max-width: 1509px) 100vw, 1509px\" \/><\/a><p id=\"caption-attachment-4701\" class=\"wp-caption-text\">SSIS JSON Source Component: See the Preview<\/p><\/div><\/li>\n<li>finally, Click on OK button to save JSON Source settings.<\/li>\n<\/ol>\n<h4>Configure OLE DB Destination Component for dumping Contacts data into SQL<\/h4>\n<ol>\n<li>first of all, Drag any destination (i.e. OLEDB Destination) from your SSIS toolbox. For demo purpose, we will load Contacts data into SQL Server Table.\n<div id=\"attachment_4335\" style=\"width: 819px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/ssis-oledb-destination-component.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-4335\" class=\"size-full wp-image-4335\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/ssis-oledb-destination-component.png\" alt=\"Drag and Drop OLE DB Destination Component\" width=\"809\" height=\"497\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/ssis-oledb-destination-component.png 809w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/ssis-oledb-destination-component-300x184.png 300w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/07\/ssis-oledb-destination-component-768x472.png 768w\" sizes=\"(max-width: 809px) 100vw, 809px\" \/><\/a><p id=\"caption-attachment-4335\" class=\"wp-caption-text\">Drag and Drop OLE DB Destination Component<\/p><\/div><\/li>\n<li>Configure OLEDB Destination (Select Connection and Target Table). You can Create a new Table for the destination by clicking a NEW button next to Table drop-down.\n<div id=\"attachment_4703\" style=\"width: 1176px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/ssis-ole-db-destination-for-dumping-workitems-list-in-sql.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-4703\" class=\"size-full wp-image-4703\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/ssis-ole-db-destination-for-dumping-workitems-list-in-sql.png\" alt=\"OLE DB Destination Component - Configure for dumping WorkItems of Project from VSTS data in SQL Table\" width=\"1166\" height=\"772\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/ssis-ole-db-destination-for-dumping-workitems-list-in-sql.png 1166w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/ssis-ole-db-destination-for-dumping-workitems-list-in-sql-300x199.png 300w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/ssis-ole-db-destination-for-dumping-workitems-list-in-sql-768x508.png 768w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/ssis-ole-db-destination-for-dumping-workitems-list-in-sql-1024x678.png 1024w\" sizes=\"(max-width: 1166px) 100vw, 1166px\" \/><\/a><p id=\"caption-attachment-4703\" class=\"wp-caption-text\">OLE DB Destination Component &#8211; Configure for dumping WorkItems of Project from VSTS data in SQL Table<\/p><\/div><\/li>\n<li>almost you are done with the configurations, just need to configure mappings, So for that Click on the Columns Tab to configure Mappings. also, Click on OK button to Save the configurations of OLE DB Destination Component.\n<div id=\"attachment_4704\" style=\"width: 834px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/ssis-ole-db-destination-configure-column-mappings.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-4704\" class=\"size-full wp-image-4704\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/ssis-ole-db-destination-configure-column-mappings.png\" alt=\"OLE DB Destination - Column Configurations\" width=\"824\" height=\"718\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/ssis-ole-db-destination-configure-column-mappings.png 824w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/ssis-ole-db-destination-configure-column-mappings-300x261.png 300w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/ssis-ole-db-destination-configure-column-mappings-768x669.png 768w\" sizes=\"(max-width: 824px) 100vw, 824px\" \/><\/a><p id=\"caption-attachment-4704\" class=\"wp-caption-text\">OLE DB Destination &#8211; Column Configurations<\/p><\/div><\/li>\n<li>furthermore, You can see the requests in <a href=\"https:\/\/zappysys.com\/blog\/how-to-use-fiddler-to-analyze-http-web-requests\/\">Fiddler<\/a>\u00a0to see the Paginated requests flows.\n<div id=\"attachment_4705\" style=\"width: 1540px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/see-the-fiddler-requests.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-4705\" class=\"size-full wp-image-4705\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/see-the-fiddler-requests.png\" alt=\"Fiddler - See All The Requests\" width=\"1530\" height=\"649\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/see-the-fiddler-requests.png 1530w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/see-the-fiddler-requests-300x127.png 300w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/see-the-fiddler-requests-768x326.png 768w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/see-the-fiddler-requests-1024x434.png 1024w\" sizes=\"(max-width: 1530px) 100vw, 1530px\" \/><\/a><p id=\"caption-attachment-4705\" class=\"wp-caption-text\">Fiddler &#8211; See All The Requests<\/p><\/div><\/li>\n<li>finally, Execute your package to Load Contacts data from Visual Studio Team Service &#8211; TFS Online to SQL Server.<\/li>\n<\/ol>\n<h2>Create a new WorkItem on Visual Studio Team Service &#8211; TFS Online (Use SSIS REST API Task)<\/h2>\n<p>Now let&#8217;s look at one more example to call Visual Studio Team Service(VSTS) &#8211; TFS Online REST API. This time we will create a new WorkItem using REST API call in SSIS. For this, we will use\u00a0<a href=\"https:\/\/zappysys.com\/products\/ssis-powerpack\/ssis-rest-api-web-service-task\/\">SSIS REST API Task<\/a><\/p>\n<ol>\n<li>First\u00a0of All, Goto Control Flow Section, Drag and Drop\u00a0<a href=\"https:\/\/zappysys.com\/products\/ssis-powerpack\/ssis-rest-api-web-service-task\/\">SSIS REST API Task<\/a>\u00a0from the SSIS Toolbox.\n<div id=\"attachment_3777\" style=\"width: 577px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/05\/ssis-rest-api-task-share-post-on-linkedin.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-3777\" class=\"wp-image-3777 size-full\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/05\/ssis-rest-api-task-share-post-on-linkedin.png\" alt=\"Drag and Drop REST API Task\" width=\"567\" height=\"297\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/05\/ssis-rest-api-task-share-post-on-linkedin.png 567w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/05\/ssis-rest-api-task-share-post-on-linkedin-300x157.png 300w\" sizes=\"(max-width: 567px) 100vw, 567px\" \/><\/a><p id=\"caption-attachment-3777\" class=\"wp-caption-text\">Drag and Drop REST API Task<\/p><\/div><\/li>\n<li>furthermore, Double click on that Component to Edit the Configurations and Configure the task like the below-attached screesnshot.\n<pre class=\"lang:default decode:true\">::::: Request Settings :::::\r\n\r\n* Select Request URL Access Mode to select Url from Connection.\r\n* Select Url Connection: Select your created OAUTH Connection Manager.\r\n* Enter Reqeust URL\r\n      Request URL: POST https:\/\/{accountName}.visualstudio.com\/{project}\/_apis\/wit\/workitems\/${type}?api-version=4.1\r\n      here, \r\n      {accountName} - The name of the Visual Studio Team Services account.\r\n      {project} - Project ID or project name\r\n      {type} - WorkItems Type (Task, Bug, Issue, Requirement etc)\r\n* Select HTTP Request Method as PATCH method\r\n* Enter Request Body.\r\n      Request Body:\r\n      [\r\n         {\r\n             \"op\": \"add\",\r\n             \"path\": \"\/fields\/System.Title\",\r\n             \"value\": \"Sample task\"\r\n         }\r\n      ]\r\n* Select Body Content Type: Text\/Plain\r\n*Enter Request Header:\r\n        Content-Type: application\/json-patch+json\r\n(For more Information See this\u00a0Visual Studio Team Service - TFS Online API Documentation for Creating\u00a0a\u00a0new\u00a0WorkItem\r\nhttps:\/\/docs.microsoft.com\/en-us\/rest\/api\/vsts\/wit\/work%20items\/create?view=vsts-rest-4.1)<\/pre>\n<div id=\"attachment_4707\" style=\"width: 1068px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/ssis-rest-api-task-create-new-workitems-VSTS-API.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-4707\" class=\"size-full wp-image-4707\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/ssis-rest-api-task-create-new-workitems-VSTS-API.png\" alt=\"REST API Task: Configurations\" width=\"1058\" height=\"652\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/ssis-rest-api-task-create-new-workitems-VSTS-API.png 1058w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/ssis-rest-api-task-create-new-workitems-VSTS-API-300x185.png 300w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/ssis-rest-api-task-create-new-workitems-VSTS-API-768x473.png 768w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/ssis-rest-api-task-create-new-workitems-VSTS-API-1024x631.png 1024w\" sizes=\"(max-width: 1058px) 100vw, 1058px\" \/><\/a><p id=\"caption-attachment-4707\" class=\"wp-caption-text\">REST API Task: Configurations<\/p><\/div><\/li>\n<li>So all good with the Configurations let&#8217;s do Test Request\/Response by clicking on Test Request\/Response button. See the below-attached request\/response screen.\n<div id=\"attachment_4708\" style=\"width: 1274px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/ssis-rest-api-task-create-new-workitems-VSTS-API-test-request-response.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-4708\" class=\"size-full wp-image-4708\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/ssis-rest-api-task-create-new-workitems-VSTS-API-test-request-response.png\" alt=\"Create New WorkItem in VSTS Account: Do Test Request\/Response\" width=\"1264\" height=\"671\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/ssis-rest-api-task-create-new-workitems-VSTS-API-test-request-response.png 1264w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/ssis-rest-api-task-create-new-workitems-VSTS-API-test-request-response-300x159.png 300w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/ssis-rest-api-task-create-new-workitems-VSTS-API-test-request-response-768x408.png 768w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/ssis-rest-api-task-create-new-workitems-VSTS-API-test-request-response-1024x544.png 1024w\" sizes=\"(max-width: 1264px) 100vw, 1264px\" \/><\/a><p id=\"caption-attachment-4708\" class=\"wp-caption-text\">Create New WorkItem in VSTS Account: Do Test Request\/Response<\/p><\/div><\/li>\n<li>finally, you have created a WorkItem in VSTS successfully using VSTS REST API and REST API Task, See in VSTS Site.\n<div id=\"attachment_4714\" style=\"width: 1609px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/newly-created-workitem-in-workitems-list-VSTS-API.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-4714\" class=\"wp-image-4714 size-full\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/newly-created-workitem-in-workitems-list-VSTS-API.png\" alt=\"VSTS Site: See the Newly Created WorkItem\" width=\"1599\" height=\"389\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/newly-created-workitem-in-workitems-list-VSTS-API.png 1599w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/newly-created-workitem-in-workitems-list-VSTS-API-300x73.png 300w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/newly-created-workitem-in-workitems-list-VSTS-API-768x187.png 768w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/newly-created-workitem-in-workitems-list-VSTS-API-1024x249.png 1024w\" sizes=\"(max-width: 1599px) 100vw, 1599px\" \/><\/a><p id=\"caption-attachment-4714\" class=\"wp-caption-text\">VSTS Site: See the Newly Created WorkItem<\/p><\/div><\/li>\n<li>And that&#8217;s it.\u00a0similarly, you can Update\/Delete particular WorkItem in WorkItems List in VSTS.<\/li>\n<\/ol>\n<h2><span id=\"Conclusion\">Conclusion<\/span><\/h2>\n<p>In this blog, we learned how to read Visual Studio Team Services &#8211; TFS(Team Foundation Server) Online data in SSIS, How to register an OAuth App for Visual Studio Team Service REST API, How to get all WorkItems data from Visual Studio Team Service\u00a0 &#8211; TFS(Team Foundation Server) Online and create a new WorkItem on VSTS with SSIS using\u00a0<a href=\"https:\/\/zappysys.com\/products\/ssis-powerpack\/ssis-json-file-source\/\">ZS JSON Source Component<\/a>\u00a0and\u00a0<a href=\"https:\/\/zappysys.com\/products\/ssis-powerpack\/ssis-rest-api-web-service-task\/\">SSIS REST API Task<\/a> in a very simple way. You can achieve many more functionalities with the use of both of these tools. Check our blogs\/articles on <strong>REST API Task\u00a0<\/strong><a href=\"https:\/\/zappysys.com\/blog\/tag\/ssis-rest-api-task\/\">https:\/\/zappysys.com\/blog\/tag\/ssis-rest-api-task\/<\/a>\u00a0and <strong>JSON Source Component\u00a0<\/strong><a href=\"https:\/\/zappysys.com\/blog\/tag\/ssis-json-source\/\">https:\/\/zappysys.com\/blog\/tag\/ssis-json-source\/<\/a> to find out what\u00a0<em>these tools<\/em>\u00a0are capable of more.<\/p>\n<h2><span id=\"References\">References<\/span><\/h2>\n<p>Finally, you can use the following links for more information about the use of VSTS API with our tools:<\/p>\n<ul>\n<li><a href=\"https:\/\/docs.microsoft.com\/en-us\/rest\/api\/vsts\/?view=vsts-rest-4.1\">Visual Studio Team Service Documentation for API<\/a><\/li>\n<li><strong>Landing Page<\/strong> for <a href=\"https:\/\/zappysys.com\/products\/ssis-powerpack\/ssis-rest-api-web-service-task\/\">REST API Task<\/a>, you can also find <a href=\"https:\/\/youtu.be\/jPdcQlWOBZA\">Tutorial Video<\/a> here.<\/li>\n<li><strong>Landing Page<\/strong> for <a href=\"https:\/\/zappysys.com\/products\/ssis-powerpack\/ssis-json-file-source\/\">JSON Source Component<\/a>, you can also find <a href=\"https:\/\/youtu.be\/t4fSghbSZLo\">Tutorial Video<\/a> here.<\/li>\n<li><strong>Help File:<\/strong> Documentation of <a href=\"https:\/\/zappysys.com\/onlinehelp\/ssis-powerpack\/index.htm#page=ssis-rest-api-web-service-task.htm\">SSIS REST API Task<\/a> and <a href=\"https:\/\/zappysys.com\/onlinehelp\/ssis-powerpack\/index.htm#page=json-source.htm\">JSON Source Component<\/a>.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Introduction In this blog, we will learn\u00a0How to read data from Azure DevOps in SSIS and load into SQL Server Table.\u00a0Azure DevOps was formally known as TFS Online \/ VSTS. In this article we will learn, how to read Issues (Work Items) using Azure DevOps API (i.e. VSTS API). In last few years Microsoft has [&hellip;]<\/p>\n","protected":false},"author":6,"featured_media":4646,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[225,17,205,10],"tags":[614,6,25,26,160,271,3,12,370,368,367],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v22.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\r\n<title>Read Azure DevOps data in SSIS (VSTS \/ TFS Online) \u2013 Call REST API \/ Load to SQL Server | ZappySys Blog<\/title>\r\n<meta name=\"description\" content=\"Learn how to read Visual Studio Team Services data from VSTS API in SSIS, Load into SQL Server without any coding. Create an OAuth App for API Call.\" \/>\r\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\r\n<link rel=\"canonical\" href=\"https:\/\/zappysys.com\/blog\/read-vsts-data-ssis-call-rest-api-load-sql-server\/\" \/>\r\n<meta property=\"og:locale\" content=\"en_US\" \/>\r\n<meta property=\"og:type\" content=\"article\" \/>\r\n<meta property=\"og:title\" content=\"Read Azure DevOps data in SSIS (VSTS \/ TFS Online) \u2013 Call REST API \/ Load to SQL Server | ZappySys Blog\" \/>\r\n<meta property=\"og:description\" content=\"Learn how to read Visual Studio Team Services data from VSTS API in SSIS, Load into SQL Server without any coding. Create an OAuth App for API Call.\" \/>\r\n<meta property=\"og:url\" content=\"https:\/\/zappysys.com\/blog\/read-vsts-data-ssis-call-rest-api-load-sql-server\/\" \/>\r\n<meta property=\"og:site_name\" content=\"ZappySys Blog\" \/>\r\n<meta property=\"article:published_time\" content=\"2018-08-18T09:47:14+00:00\" \/>\r\n<meta property=\"article:modified_time\" content=\"2025-04-07T13:05:53+00:00\" \/>\r\n<meta property=\"og:image\" content=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/Visual-Studio-Team-Services-logo-150x150-1.png\" \/>\r\n\t<meta property=\"og:image:width\" content=\"300\" \/>\r\n\t<meta property=\"og:image:height\" content=\"300\" \/>\r\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\r\n<meta name=\"author\" content=\"ZappySys\" \/>\r\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\r\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"ZappySys\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"15 minutes\" \/>\r\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/zappysys.com\/blog\/read-vsts-data-ssis-call-rest-api-load-sql-server\/\",\"url\":\"https:\/\/zappysys.com\/blog\/read-vsts-data-ssis-call-rest-api-load-sql-server\/\",\"name\":\"Read Azure DevOps data in SSIS (VSTS \/ TFS Online) \u2013 Call REST API \/ Load to SQL Server | ZappySys Blog\",\"isPartOf\":{\"@id\":\"https:\/\/zappysys.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/zappysys.com\/blog\/read-vsts-data-ssis-call-rest-api-load-sql-server\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/zappysys.com\/blog\/read-vsts-data-ssis-call-rest-api-load-sql-server\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/Visual-Studio-Team-Services-logo-150x150-1.png\",\"datePublished\":\"2018-08-18T09:47:14+00:00\",\"dateModified\":\"2025-04-07T13:05:53+00:00\",\"author\":{\"@id\":\"https:\/\/zappysys.com\/blog\/#\/schema\/person\/c9dc782c929d0027e2e87e3951ce9d35\"},\"description\":\"Learn how to read Visual Studio Team Services data from VSTS API in SSIS, Load into SQL Server without any coding. Create an OAuth App for API Call.\",\"breadcrumb\":{\"@id\":\"https:\/\/zappysys.com\/blog\/read-vsts-data-ssis-call-rest-api-load-sql-server\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/zappysys.com\/blog\/read-vsts-data-ssis-call-rest-api-load-sql-server\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/zappysys.com\/blog\/read-vsts-data-ssis-call-rest-api-load-sql-server\/#primaryimage\",\"url\":\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/Visual-Studio-Team-Services-logo-150x150-1.png\",\"contentUrl\":\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/Visual-Studio-Team-Services-logo-150x150-1.png\",\"width\":300,\"height\":300,\"caption\":\"Visual Studio Team Service Logo\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/zappysys.com\/blog\/read-vsts-data-ssis-call-rest-api-load-sql-server\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/zappysys.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Read Azure DevOps data in SSIS (VSTS \/ TFS Online) \u2013 Call REST API \/ Load to SQL Server\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/zappysys.com\/blog\/#website\",\"url\":\"https:\/\/zappysys.com\/blog\/\",\"name\":\"ZappySys Blog\",\"description\":\"SSIS \/ ODBC Drivers \/ API Connectors for JSON, XML, Azure, Amazon AWS, Salesforce, MongoDB and more\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/zappysys.com\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/zappysys.com\/blog\/#\/schema\/person\/c9dc782c929d0027e2e87e3951ce9d35\",\"name\":\"ZappySys\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/zappysys.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/076a738938c19d459fbfe125c759a0ea?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/076a738938c19d459fbfe125c759a0ea?s=96&d=mm&r=g\",\"caption\":\"ZappySys\"},\"url\":\"https:\/\/zappysys.com\/blog\/author\/hshah\/\"}]}<\/script>\r\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Read Azure DevOps data in SSIS (VSTS \/ TFS Online) \u2013 Call REST API \/ Load to SQL Server | ZappySys Blog","description":"Learn how to read Visual Studio Team Services data from VSTS API in SSIS, Load into SQL Server without any coding. Create an OAuth App for API Call.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/zappysys.com\/blog\/read-vsts-data-ssis-call-rest-api-load-sql-server\/","og_locale":"en_US","og_type":"article","og_title":"Read Azure DevOps data in SSIS (VSTS \/ TFS Online) \u2013 Call REST API \/ Load to SQL Server | ZappySys Blog","og_description":"Learn how to read Visual Studio Team Services data from VSTS API in SSIS, Load into SQL Server without any coding. Create an OAuth App for API Call.","og_url":"https:\/\/zappysys.com\/blog\/read-vsts-data-ssis-call-rest-api-load-sql-server\/","og_site_name":"ZappySys Blog","article_published_time":"2018-08-18T09:47:14+00:00","article_modified_time":"2025-04-07T13:05:53+00:00","og_image":[{"width":300,"height":300,"url":"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/Visual-Studio-Team-Services-logo-150x150-1.png","type":"image\/png"}],"author":"ZappySys","twitter_card":"summary_large_image","twitter_misc":{"Written by":"ZappySys","Est. reading time":"15 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/zappysys.com\/blog\/read-vsts-data-ssis-call-rest-api-load-sql-server\/","url":"https:\/\/zappysys.com\/blog\/read-vsts-data-ssis-call-rest-api-load-sql-server\/","name":"Read Azure DevOps data in SSIS (VSTS \/ TFS Online) \u2013 Call REST API \/ Load to SQL Server | ZappySys Blog","isPartOf":{"@id":"https:\/\/zappysys.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/zappysys.com\/blog\/read-vsts-data-ssis-call-rest-api-load-sql-server\/#primaryimage"},"image":{"@id":"https:\/\/zappysys.com\/blog\/read-vsts-data-ssis-call-rest-api-load-sql-server\/#primaryimage"},"thumbnailUrl":"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/Visual-Studio-Team-Services-logo-150x150-1.png","datePublished":"2018-08-18T09:47:14+00:00","dateModified":"2025-04-07T13:05:53+00:00","author":{"@id":"https:\/\/zappysys.com\/blog\/#\/schema\/person\/c9dc782c929d0027e2e87e3951ce9d35"},"description":"Learn how to read Visual Studio Team Services data from VSTS API in SSIS, Load into SQL Server without any coding. Create an OAuth App for API Call.","breadcrumb":{"@id":"https:\/\/zappysys.com\/blog\/read-vsts-data-ssis-call-rest-api-load-sql-server\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/zappysys.com\/blog\/read-vsts-data-ssis-call-rest-api-load-sql-server\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/zappysys.com\/blog\/read-vsts-data-ssis-call-rest-api-load-sql-server\/#primaryimage","url":"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/Visual-Studio-Team-Services-logo-150x150-1.png","contentUrl":"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/08\/Visual-Studio-Team-Services-logo-150x150-1.png","width":300,"height":300,"caption":"Visual Studio Team Service Logo"},{"@type":"BreadcrumbList","@id":"https:\/\/zappysys.com\/blog\/read-vsts-data-ssis-call-rest-api-load-sql-server\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/zappysys.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Read Azure DevOps data in SSIS (VSTS \/ TFS Online) \u2013 Call REST API \/ Load to SQL Server"}]},{"@type":"WebSite","@id":"https:\/\/zappysys.com\/blog\/#website","url":"https:\/\/zappysys.com\/blog\/","name":"ZappySys Blog","description":"SSIS \/ ODBC Drivers \/ API Connectors for JSON, XML, Azure, Amazon AWS, Salesforce, MongoDB and more","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/zappysys.com\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/zappysys.com\/blog\/#\/schema\/person\/c9dc782c929d0027e2e87e3951ce9d35","name":"ZappySys","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/zappysys.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/076a738938c19d459fbfe125c759a0ea?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/076a738938c19d459fbfe125c759a0ea?s=96&d=mm&r=g","caption":"ZappySys"},"url":"https:\/\/zappysys.com\/blog\/author\/hshah\/"}]}},"_links":{"self":[{"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/posts\/4643"}],"collection":[{"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/comments?post=4643"}],"version-history":[{"count":22,"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/posts\/4643\/revisions"}],"predecessor-version":[{"id":11344,"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/posts\/4643\/revisions\/11344"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/media\/4646"}],"wp:attachment":[{"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/media?parent=4643"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/categories?post=4643"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/tags?post=4643"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}