Validate Linear Data with QuerySurge

Jerod Johnson
Jerod Johnson
Director, Technology Evangelism
Access and validate Linear data in QuerySurge using the CData JDBC Driver.

QuerySurge is a smart data testing solution that automates data validation and testing. When paired with the CData JDBC Driver for Linear, QuerySurge can work with live Linear data. This article explains how to connect to Linear data from QuerySurge.

With built-in optimized data processing, the CData JDBC Driver offers unmatched performance for interacting with live Linear data. When you issue complex SQL queries to Linear, the driver pushes supported SQL operations, like filters and aggregations, directly to Linear and utilizes the embedded SQL engine to process unsupported operations client-side (often SQL functions and JOIN operations). Its built-in dynamic metadata querying allows you to work with and analyze Linear data using native data types.

Connecting to Linear Data in QuerySurge

To connect to live Linear data from QuerySurge, you need to deploy the JDBC Driver JAR file to your QuerySurge Agent(s) and add a new connection from the QuerySurge Admin view.

Deploy the JDBC Driver

  1. Download the CData JDBC Driver for Linear installer, unzip the package, and run the JAR file to install the driver.
  2. Once the driver is installed, stop the Agent Service.
  3. Copy the JAR File (and license file if it exists) from the installation location (typically C:\Program Files\CData\CData JDBC Driver for Linear\lib\) to your Agent(s) (QuerySurge_install_dir\agent\jdbc).
  4. Restart the Agent Service.

For more information on deploying JDBC drivers for QuerySurge, refer to the QuerySurge Knowledge Base.

Configure a New Connection to Linear

  1. Log into QuerySurge and navigate to the Admin view.
  2. Click Configuration -> Connections in the Administration Tree.
  3. Click Add to create a new connection.
  4. In the QuerySurge Connection Wizard, click Next. Creating a new connection
  5. Name the connection (e.g. CData JDBC Connection to Linear).
  6. Set the Data Source to "All Other JDBC Connections (Connection Extensibility)" and click Next. Naming the connection and choosing a Data Source
  7. Set the Driver Class to cdata.jdbc.linear.LinearDriver and click Next. Setting the Driver Class
  8. Set the Connection URL using the necessary connection properties to authenticate with Linear. Your Connection URL will look something like the following:

    jdbc:linear:AuthScheme=APIKey;APIKey=myAPIKey;

    Built-in Connection String Designer

    For assistance in constructing the JDBC URL, use the connection string designer built into the Linear JDBC Driver. Either double-click the JAR file or execute the jar file from the command-line.

    java -jar cdata.jdbc.linear.jar
    	

    Fill in the connection properties and copy the connection string to the clipboard.

    You can authenticate to Linear with a personal API key or with OAuth 2.0. The API key is the simplest option for connecting with your own Linear account.

    Authenticating with an API Key

    Set the following connection properties:

    • AuthScheme: Set this to APIKey.
    • APIKey: A Linear personal API key.

    To create a personal API key, log in to Linear, open Settings > Security & access > Personal API keys, select New API key, and create it. Copy the key immediately, because Linear shows it only once.

    Authenticating with OAuth

    OAuth requires a custom OAuth application registered in Linear (Settings > API > OAuth applications), which provides the OAuthClientId and OAuthClientSecret. Two flows are supported:

    • Authorization code: Set AuthScheme to OAuth, InitiateOAuth to GETANDREFRESH, and provide OAuthClientId, OAuthClientSecret, and the CallbackURL defined in your application (e.g., http://localhost:33333). The driver opens Linear in your browser so you can grant access.
    • Client credentials: Set AuthScheme to OAuthClient and provide OAuthClientId and OAuthClientSecret. This authenticates the application itself, with no browser interaction, and suits machine-to-machine integrations.

    By default, the driver requests the read,write scopes. The driver refreshes the access token automatically when it expires.

    Using the built-in connection string designer to generate a JDBC URL (Salesforce is shown.)
  9. Set the Test Query to enable the Test Connection button for the Connection (e.g. SELECT * FROM Team LIMIT 1) and click Next. Setting the Connection URL and Test Query (NetSuite is shown)
  10. Click Test Connection to ensure the connection is configured properly and click Save to add the connection.

Once the connection is added, you can write SQL queries against your Linear data in QuerySurge.

Compare Linear Data Queries with a QueryPair

With the connection configured, you can follow the steps below to compare querying Linear data with a QueryPair.

  1. Select "Design Library" from the Design Menu
  2. Click QueryPairs under QuerySurge Design
  3. Click "Create New QueryPair"
  4. Name the QueryPair and click Save
  5. In either the Source or Target panes, select the connection created above (select the same connection to query Linear twice or another connection to perform a comparison)
  6. Write queries in the Editor for each pane, e.g. SELECT * FROM Team Setting the Connection URL and Test Query (NetSuite is shown)
  7. Click the "Design-Time Run" tab to execute the queries
  8. When the query execution is finished, click "View Query Results" to see the Linear data returned by the query Setting the Connection URL and Test Query (NetSuite is shown)

Download a free, 30-day trial of the CData JDBC Driver for Linear and start working with your live Linear data in QuerySurge. Reach out to our Support Team if you have any questions.

Ready to get started?

Download a free trial of the Linear Driver to get started:

 Download Now

Learn more:

Linear Icon Linear JDBC Driver

Rapidly create and deploy powerful Java applications that integrate with Linear data including AgentSession, Comment, Customer, Cycle, Initiative, Integration, Issue, ProjectStatus, Release, Team, User, and more!