Integrations / Linear
Linear
Issue tracking for product teams (GraphQL API).
6 actions
OAuth 2
3 read3 write
Calls api.linear.app
Connect
const conn = await setu.connections.initiate({ userId: "user_1", toolkit: "linear" });
console.log(conn.connectUrl); // show this to your user
await conn.waitUntilActive();Permissions requested
| Scope | Why it is requested |
|---|---|
read | Read your issues, projects and teams |
write | Create and update issues |
comments:create | Add comments to issues |
Actions
Add commentwritelinear.add_commentAdd a comment to an issue.
Needs scope: comments:create
| Input | Type | Description | |
|---|---|---|---|
issue_id | string | Required | |
body | string | Required | Markdown comment text |
await setu.execute({
userId: "user_1",
action: "linear.add_comment",
input: {
"issue_id": "<issue_id>",
"body": "<body>"
},
});Create issuewritelinear.create_issueCreate an issue in a team.
Needs scope: write
| Input | Type | Description | |
|---|---|---|---|
team_id | string | Required | Team ID from list_teams |
title | string | Required | |
description | string | Optional | Markdown description |
priority | integer | Optional | 0-4 |
await setu.execute({
userId: "user_1",
action: "linear.create_issue",
input: {
"team_id": "<team_id>",
"title": "<title>"
},
});List issuesreadlinear.list_issuesList recent issues, newest first.
Needs scope: read
| Input | Type | Description | |
|---|---|---|---|
first | integer | Optional |
await setu.execute({
userId: "user_1",
action: "linear.list_issues",
input: {},
});List teamsreadlinear.list_teamsList the teams in the workspace.
Needs scope: read
No input.
await setu.execute({
userId: "user_1",
action: "linear.list_teams",
input: {},
});Search issuesreadlinear.search_issuesSearch issues by text.
Needs scope: read
| Input | Type | Description | |
|---|---|---|---|
term | string | Required | |
first | integer | Optional |
await setu.execute({
userId: "user_1",
action: "linear.search_issues",
input: {
"term": "<term>"
},
});Update issuewritelinear.update_issueUpdate the title, description or priority of an issue.
Needs scope: write
| Input | Type | Description | |
|---|---|---|---|
issue_id | string | Required | |
title | string | Optional | |
description | string | Optional | |
priority | integer | Optional |
await setu.execute({
userId: "user_1",
action: "linear.update_issue",
input: {
"issue_id": "<issue_id>"
},
});