Back Up Linear data to SQL Server through SSIS
This article illustrates using the Linear ADO.NET Data Provider within a SQL Server SSIS workflow for the direct transfer of Linear data to a Microsoft SQL Server database. It's worth noting that the identical process detailed below is applicable to any CData ADO.NET Data Providers, enabling the direct connection of SQL Server with remote data through SSIS.
- Open Visual Studio and create a new Integration Services project.
- Add a new Data Flow task from the toolbox onto the Control Flow screen.
In the Data Flow screen, add an ADO.NET Source and an OLE DB Destination from the toolbox.

- Add a new connection and select .NET Providers\CData ADO.NET Provider for Linear.
In the connection manager, enter the connection details for Linear data.
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.

Open the DataReader editor and set the following information:
- ADO.NET connection manager: In the Connection Managers menu, select the Data Connection you just created.
- Data access mode: Select 'SQL command'.
- SQL command text: In the DataReader Source editor, open the Component Properties tab and enter a SELECT command, such as the one below:
SELECT id, name FROM Team WHERE key = 'ENG'
- Close the DataReader editor and drag the arrow below the DataReader Source to connect it to the OLE DB Destination.
Open the OLE DB Destination and enter the following information in the Destination Component Editor.
- Connection manager: Add a new connection. Enter your server and database information here. In this example, SQLExpress is running on a separate machine.
- Data access mode: Set your data access mode to "table or view" and select the table or view to populate in your database.
Configure any properties you wish on the Mappings screen.

- Close the OLE DB Destination Editor and run the project. After the SSIS task has finished executing, your database will be populated with data obtained from Linear data.