Qore LinearDataProvider Module Reference 1.0
Loading...
Searching...
No Matches

LinearDataProvider Introduction

The LinearDataProvider module provides a data provider API for Linear issue tracking services.

Linear is a modern issue tracking and project management tool designed for software teams. This module enables integration with Linear through its GraphQL API, supporting operations on:

  • Issues (create, read, update, archive, search)
  • Teams (read, search)
  • Projects (create, read, update, archive, search)
  • Cycles/Sprints (create, read, update, archive, search)
  • Labels (create, read, update, archive, search)
  • Comments (create, read, update, delete)

To use this module, use "%requires LinearDataProvider" in your code.

Authentication

Linear supports two authentication methods:

  • **API Key**: Personal API keys can be created in Linear settings. Use the token option.
  • **OAuth 2.0**: For third-party applications. Use oauth2_client_id and oauth2_client_secret.
Example:
//!/usr/bin/env qore
%new-style
%strict-args
%require-types
%enable-all-warnings
%requires LinearDataProvider
LinearDataProvider provider({"token": ENV.LINEAR_TOKEN});
# List all teams
AbstractDataProviderRecordIterator i = provider.getChildProvider("teams").searchRecords();
while (i.next()) {
printf("Team: %s (%s)\n", i.getValue().name, i.getValue().key);
}
# Create an issue
hash<auto> issue = provider.getChildProvider("issues").createRecord({
"teamId": "team-id-here",
"title": "New issue from Qore",
"description": "Created via LinearDataProvider",
"priority": 2,
});
printf("Created issue: %s\n", issue.identifier);

Release Notes

LinearDataProvider v1.0

  • Initial release of the LinearDataProvider module