Skip to content

feat: add project_label stream#30

Open
grawinkel wants to merge 1 commit intolinear:mainfrom
grawinkel:feat/add-project-label-stream
Open

feat: add project_label stream#30
grawinkel wants to merge 1 commit intolinear:mainfrom
grawinkel:feat/add-project-label-stream

Conversation

@grawinkel
Copy link
Copy Markdown

Summary

Adds support for syncing project labels from Linear, following the existing pattern used by issue_label and other streams.

Linear's export API supports the projectlabel entity type, but the connector currently doesn't expose it as a stream. This PR adds it.

Changes

File Change
src/client/types.ts Add ProjectLabel interface
src/client/LinearClient.ts Add projectLabels() method + "projectlabel" entity type
src/streams/projectLabel.ts New stream class (same pattern as issueLabel.ts)
resources/schemas/projectLabel.json JSON schema for ProjectLabel
src/index.ts Register ProjectLabel stream

Schema

The ProjectLabel model mirrors IssueLabel but without teamId and organizationId:

interface ProjectLabel {
  id?: string;
  createdAt?: string;
  updatedAt?: string;
  archivedAt?: null | string;
  name?: string;
  description?: null | string;
  color?: string;
  creatorId?: null | string;
}

Context

We use this connector to sync Linear data into BigQuery via Airbyte. We need project_label to join project labels with projects for reporting and analytics. The Linear GraphQL API exposes projectLabels as a top-level query, and the export API should support projectlabel as an entity type.

Adds support for syncing project labels from Linear, following the
same pattern as the existing issue_label stream.

Changes:
- Add ProjectLabel type to client/types.ts
- Add projectLabels() method and "projectlabel" entity type to LinearClient
- Add ProjectLabel stream class (src/streams/projectLabel.ts)
- Add projectLabel.json schema (resources/schemas/)
- Register ProjectLabel stream in index.ts
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant