Creating the Data Source Name
This section describes how to edit the DSN configuration and then authenticate and connect to Linear APIs.
DSN Configuration
You can use the Microsoft ODBC Data Source Administrator to edit the DSN configuration. Note that the installation process creates a both a user DSN and a system DSN, as described in Installing the Connector.
Note: The connector stores connection information in the Windows registry. To ensure that the connector can write to the registry, either run Power BI as an administrator or use a User DSN for your connection instead of a System DSN.
User DSN
Complete the following steps to edit the DSN configuration:
- Select Start > Search, and enter ODBC Data Sources in the Search box.
- Choose the version of the ODBC Administrator that corresponds to the bitness of your Power BI Desktop installation (32-bit or 64-bit).
- Select the system data source and click Configure.
- Edit the information on the Connection tab and click OK.
System DSN
Configure the system DSN the same way as the user DSN, except you will need to switch to the System DSN tab before performing Step 3.
Connecting to Linear
You can authenticate to Linear with a personal API key or with OAuth 2.0.
- API Key: The simplest option. Use it to connect with your own Linear account.
- OAuth (authorization code): Authenticate an application on behalf of a Linear user. Set AuthScheme to OAuth.
- OAuth (client credentials): Authenticate the application itself, for app-owned (machine-to-machine) access with no user interaction. Set AuthScheme to OAuthClient.
Authenticate with an API Key
To connect with a personal API key, set the following:
- AuthScheme: APIKey.
- APIKey: A Linear personal API key.
To create a personal API key:
- Log in to Linear and open Settings > Security & access > Personal API keys.
- Select New API key, name it, and create it.
- Copy the key immediately. Linear shows it only once.
Authenticate with OAuth
The connector supports the OAuth 2.0 authorization code grant. All OAuth flows require a custom OAuth application registered in Linear.
See Creating a Custom OAuth Application for the steps to create one.
Client Credentials
Use the client credentials grant to authenticate the application itself, with no user sign-in. This is suited to backend or machine-to-machine integrations that act as the OAuth application rather than on behalf of a specific user.
Set the following and connect:
- AuthScheme: OAuthClient.
- OAuthClientId: The Client ID from your OAuth application.
- OAuthClientSecret: The Client Secret from your OAuth application.
Note: To request specific OAuth scopes, set Scope to a comma-separated list (for example, read,write). When omitted, the connector requests read,write. Scope is optional and is not a standard connection property.
No browser interaction or callback URL is required. The connector obtains an access token directly from the Linear token endpoint and refreshes it automatically.
Desktop Applications
After registering a custom OAuth application, set the following and connect:
- OAuthClientId: The Client ID from your OAuth application.
- OAuthClientSecret: The Client Secret from your OAuth application.
- CallbackURL: The Callback URL defined in your OAuth application (for example, http://localhost:33333).
Note: To request specific OAuth scopes, set Scope to a comma-separated list (for example, read,write). When omitted, the connector requests read,write. Scope is optional and is not a standard connection property.
When you connect, the connector opens Linear's OAuth endpoint in your default browser. Log in and grant access to the application.
Headless Machines
To authenticate on a machine without a browser, obtain the OAuth values on another machine that has a browser and transfer them.
- On a machine with a browser, register the custom OAuth application and complete a desktop or web flow to obtain an OAuthAccessToken and OAuthRefreshToken (or an OAuthVerifier).
- On the headless machine, set InitiateOAuth to REFRESH, supply OAuthClientId, OAuthClientSecret, the token values, and OAuthSettingsLocation. The connector then refreshes the access token automatically.