How to Effectively Extract Azure DevOps Data with KingswaySoft

25 August 2026
KingswaySoft Team

Azure DevOps queries, commonly abbreviated as ADO queries, are managed filters in Azure Boards that help teams search for, organize, and track specific work items, such as User Stories, Bugs, Tasks, or Features, based on custom criteria. In many ways, they provide a high-level abstraction similar to SQL queries, allowing teams to focus on the work items that matter without manually parsing large backlogs.

Beyond their use within Azure DevOps itself, these queries can also play an important role in downstream reporting and analytics. By extracting Azure DevOps data through an SSIS ETL pipeline, organizations can automate the transfer of development and project data into a data warehouse, making it easier to integrate this information with other business data and maintain a historical record for analysis.

This type of integration can support a variety of enterprise use cases, including:

  • Meeting Audit Requirements: Automatically retain information about who approved work items and when they were completed, helping maintain an auditable history.
  • Predicting Future Project Costs and Deadlines: Preserve historical delivery data to help leadership better understand team performance and plan future budgets and schedules.
  • Tracking Engineering ROI: Connect development activities with sales, accounting, or other business data to better understand the cost and value of new features.
  • Creating Combined Executive Dashboards: Bring development data into broader analytics environments so leadership can view project and business performance in a single place.

Using the KingswaySoft SSIS Integration Toolkit and its dedicated Azure DevOps components, you can build a code-free extraction pipeline using the Azure DevOps Source Component. The component supports two approaches for retrieving data, allowing you to choose between leveraging queries already managed in Azure DevOps and defining your own query logic within the SSIS package:

  • Predefined Queries: If your team already has saved queries in Azure Boards, you can select them directly from the Azure DevOps Source Component. This approach is useful when query logic is centrally managed in Azure DevOps and you want to maintain a consistent definition of the data being extracted.
  • Custom Queries: When you need more control over filtering, query criteria, or runtime parameterization, you can define your own query directly within the Source Component. This provides greater flexibility for targeted or dynamic data extraction scenarios.

In this post, we will walk through both approaches, starting with predefined queries and then exploring how custom queries can provide additional flexibility. We will also look at how the Source Component's additional outputs can be incorporated into an SSIS data flow.

Note: The Source Component is named Team Foundation Source Component in the product. However, the component supports connections to both TFS and Azure DevOps. For ease of reference, we will refer to it as the Azure DevOps Source Component throughout this post.

Working with Predefined Queries

The Predefined Queries option allows you to select a query that already exists in your Azure DevOps instance. This can be especially useful when your team has established query definitions in Azure Boards and wants to reuse that logic as part of an SSIS integration.

To create a new query in Azure DevOps, select the New Query command and provide a name for the query.

New query drop down

You can then use the Azure DevOps query interface to define the clauses and conditions that determine which work items should be returned.

Provide a name for the query

Using the query editor, add the required clauses and conditions to produce the desired result set.

Provide clauses in the query in Azure DevOps UI

Once the query has been created, configure the Azure DevOps Source Component and select the appropriate project. Set the Source Type to Predefined Queries. The available queries from the selected project will then appear in the Query drop-down list.

The query list also displays the folder name, which can help distinguish between queries if multiple queries have similar names. When selected, the predefined query is translated into a SELECT statement containing the conditions and clauses defined in the Azure DevOps query.

Predefined query type listing all queries

This approach provides a convenient way to reuse query definitions that are already maintained in Azure DevOps. It can also help establish a single source of truth for commonly used filters and business logic.

There is, however, an important consideration when using predefined queries. While the parameterization feature can be used to execute different predefined queries at runtime with the same Source Component, the query itself cannot be parameterized. This is because the component is executing a query that is managed and maintained by the Azure DevOps server.

If your integration requires an ad hoc query or you need to change query criteria dynamically at runtime, the Custom Query option provides the flexibility needed for that scenario.

Working with Custom Queries

The Custom Query Source Type allows you to enter your own query directly into the Source Component. In addition to giving you greater control over the query definition, this approach allows query criteria to be customized at runtime.

When you switch the Source Type to Custom Query, the predefined query selection becomes unavailable and the command area becomes available for manually entering or editing the query.

Switching to Custom query in Azure DevOps Source

For example, the query shown below is configured to return Work Items that are Bugs, are currently active, and have been changed within the last 180 days.

This same approach can also be used to build an incremental extraction process. Instead of always looking back a fixed number of days, you can maintain a variable containing the date and time of the previous successful extraction and use that value against System.ChangedDate.

To parameterize the query, click the Insert Variable menu button and select the appropriate variable from the available list. The variable can then be inserted directly into the query.

Parameterize custom query in Azure DevOps Source

This provides a practical way to design an incremental data flow that retrieves only the Work Items that have changed since the previous extraction. For more information on designing an incremental flow that retrieves changes after the last run, refer to our related blog post.

Bonus SSIS Design Tip: Working with Additional Outputs

So far, we have focused on the query used to retrieve the primary Work Item data. However, the Azure DevOps Source Component provides additional outputs that can be useful when you need to bring more related information into your data pipeline or your data warehouse destination.

Three additional outputs are available:

  • Attachments: Contains attachment binary content.
  • Comments: Contains comment history associated with the Work Items.
  • Links: Contains link types and URLs associated with the Work Items.

These outputs can be enabled on an as-needed basis from the General page of the Source Component.

Additional Outputs being enabled

Once enabled, the additional outputs provide their own metadata and output columns. You can use the drop-down menu in the Source Component to switch between the available outputs and configure each one as needed.

Additional output metadata

Because these additional data sets are exposed as separate outputs, you may need to combine them with the primary Work Item output as part of your SSIS data flow. One way to accomplish this is by using the Premium Lookup component.

The Premium Lookup component can be used to associate the additional child records with their corresponding parent Work Items, allowing the different outputs to be incorporated into a single integration flow. Our separate blog post, Joining Parent and Child Records Efficiently, provides more detail on this approach.

Combining all additional outputs in the data flow design

Choosing the Right Azure DevOps Query Approach

Both predefined and custom queries have a useful role to play in an Azure DevOps integration. The best approach depends largely on where you want to manage your query logic and how much flexibility your data extraction process requires.

  • Use Predefined Queries when your query logic is already established and managed within Azure DevOps, and you want your integration jobs to reuse those definitions directly.
  • Use Custom Queries when you need to define query criteria within your integration, introduce runtime variables, or build a more dynamic extraction process.

Once the appropriate query approach is selected, the Azure DevOps Source Component can do all the heavy lifting by extracting the requested development Work Item data. With support for attachments, comments, and links through additional outputs, you can design a more complete Azure DevOps data pipeline without having to build separate extraction mechanisms for each type of related information.

Conclusion

Whether your organization relies on centrally managed Azure DevOps queries or requires more dynamic, parameterized data extraction, KingswaySoft provides the flexibility to support both approaches within an SSIS-based integration workflow.

Predefined Queries offer a straightforward way to reuse query definitions that are already managed in Azure DevOps, while Custom Queries provide greater control when query criteria need to be tailored or parameterized at runtime. When your reporting requirements extend beyond basic Work Item data, the additional Attachments, Comments, and Links outputs provide a convenient way to bring related information into the same data integration process.

By combining these capabilities with the broader functionality of the KingswaySoft SSIS Integration Toolkit, you can build flexible and maintainable pipelines for moving Azure DevOps data into your data warehouse and downstream analytics environment.

If you are already using Azure DevOps for managing development work, taking advantage of these query and extraction capabilities can help turn that operational data into a more valuable and reusable source for enterprise reporting and analytics.

Archive

August 2026 1 July 2026 3 June 2026 1 May 2026 3 April 2026 3 March 2026 2 February 2026 2 January 2026 2 December 2025 2 November 2025 2 October 2025 2 September 2025 2 August 2025 2 July 2025 2 June 2025 1 May 2025 2 April 2025 3 March 2025 1 February 2025 1 January 2025 2 December 2024 1 November 2024 3 October 2024 1 September 2024 1 August 2024 2 July 2024 1 June 2024 1 May 2024 1 April 2024 2 March 2024 2 February 2024 2 January 2024 2 December 2023 1 November 2023 1 October 2023 2 August 2023 1 July 2023 2 June 2023 1 May 2023 2 April 2023 1 March 2023 1 February 2023 1 January 2023 2 December 2022 1 November 2022 2 October 2022 2 September 2022 2 August 2022 2 July 2022 3 June 2022 2 May 2022 2 April 2022 3 March 2022 2 February 2022 1 January 2022 2 December 2021 1 October 2021 1 September 2021 2 August 2021 2 July 2021 2 June 2021 1 May 2021 1 April 2021 2 March 2021 2 February 2021 2 January 2021 2 December 2020 2 November 2020 4 October 2020 1 September 2020 3 August 2020 2 July 2020 1 June 2020 2 May 2020 1 April 2020 1 March 2020 1 February 2020 1 January 2020 1 December 2019 1 November 2019 1 October 2019 1 May 2019 1 February 2019 1 December 2018 2 November 2018 1 October 2018 4 September 2018 1 August 2018 1 July 2018 1 June 2018 3 April 2018 3 March 2018 3 February 2018 3 January 2018 2 December 2017 1 April 2017 1 March 2017 7 December 2016 1 November 2016 2 October 2016 1 September 2016 4 August 2016 1 June 2016 1 May 2016 3 April 2016 1 August 2015 1 April 2015 10 August 2014 1 July 2014 1 June 2014 2 May 2014 2 February 2014 1 January 2014 2 October 2013 1 September 2013 2 August 2013 2 June 2013 5 May 2013 2 March 2013 1 February 2013 1 January 2013 1 December 2012 2 November 2012 2 September 2012 2 July 2012 1 May 2012 3 April 2012 2 March 2012 2 January 2012 1

Tags