通过 GraphQL 管理 Linear 的问题、项目和周期。适用于整理待办、从对话创建任务、检查冲刺进度或运行测试。
目的 : 控制线条是一项面向实际任务的技能,主要用于创建问题、 分类积压、 更新优先级、 运行短跑审查;全部来自您的 AI 助手, 无需切换标签;
该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;
若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
通过 OpenClaw 控制 Linear。创建 issue、梳理待办事项(backlog)、更新优先级、执行冲刺回顾(sprint review)——全部操作均可在你的 AI 助手中完成,无需切换浏览器标签页。
基于 Linear 的 GraphQL API,使用 curl 实现。无需安装 CLI 工具或 SDK。
github 技能)LINEAR_API_KEY=lin_api_xxxxxxxxxxxxxxxx
验证密钥是否有效:
curl -s -X POST https://api.linear.app/graphql
-H "Authorization: $LINEAR_API_KEY"
-H "Content-Type: application/json"
-d '{"query": "{ viewer { name } }"}' | jq .
你应能看到自己的姓名返回。
curl -s -X POST https://api.linear.app/graphql
-H "Authorization: $LINEAR_API_KEY"
-H "Content-Type: application/json"
-d '{
"query": "{ viewer { assignedIssues(filter: { state: { type: { nin: [\"completed\", \"cancelled\"] } } }) { nodes { id title priority state { name } team { name } } } } }"
}' | jq '.data.viewer.assignedIssues.nodes'
TEAM_KEY="ENG" # 替换为你所在团队的 key
curl -s -X POST https://api.linear.app/graphql
-H "Authorization: $LINEAR_API_KEY"
-H "Content-Type: application/json"
-d "{
\"query\": \"{ team(key: \\\"$TEAM_KEY\\\") { issues(filter: { state: { type: { eq: \\\"started\\\" } } }) { nodes { id identifier title assignee { name } priority } } } }\"
}" | jq '.data.team.issues.nodes'
curl -s -X POST https://api.linear.app/graphql
-H "Authorization: $LINEAR_API_KEY"
-H "Content-Type: application/json"
-d '{
"query": "mutation IssueCreate($input: IssueCreateInput!) { issueCreate(input: $input) { success issue { id identifier title } } }",
"variables": {
"input": {
"teamId": "TEAM_ID_HERE",
"title": "Issue title from OpenClaw",
"description": "Created via OpenClaw linear skill.",
"priority": 2
}
}
}' | jq '.data.issueCreate'
优先级取值说明:0 = 无优先级,1 = 紧急(Urgent),2 = 高(High),3 = 中(Medium),4 = 低(Low)。
ISSUE_ID="ISSUE_ID_HERE"
curl -s -X POST https://api.linear.app/graphql
-H "Authorization: $LINEAR_API_KEY"
-H "Content-Type: application/json"
-d "{
\"query\": \"mutation { issueUpdate(id: \\\"$ISSUE_ID\\\", input: { priority: 1, stateId: \\\"STATE_ID\\\" }) { success issue { id title priority state { name } } } }\"
}" | jq '.data.issueUpdate'
QUERY="authentication bug"
curl -s -X POST https://api.linear.app/graphql
-H "Authorization: $LINEAR_API_KEY"
-H "Content-Type: application/json"
-d "{
\"query\": \"{ issueSearch(query: \\\"$QUERY\\\") { nodes { id identifier title state { name } assignee { name } priority } } }\"
}" | jq '.data.issueSearch.nodes'
TEAM_KEY="ENG"
curl -s -X POST https://api.linear.app/graphql
-H "Authorization: $LINEAR_API_KEY"
-H "Content-Type: application/json"
-d "{
\"query\": \"{ team(key: \\\"$TEAM_KEY\\\") { activeCycle { id name startsAt endsAt issues { nodes { id title state { name } estimate } } } } }\"
}" | jq '.data.team.activeCycle'
ISSUE_ID="ISSUE_ID_HERE"
COMMENT="LGTM — deploying to staging now."
curl -s -X POST https://api.linear.app/graphql
-H "Authorization: $LINEAR_API_KEY"
-H "Content-Type: application/json"
-d "{
\"query\": \"mutation { commentCreate(input: { issueId: \\\"$ISSUE_ID\\\", body: \\\"$COMMENT\\\" }) { success comment { id body } } }\"
}" | jq '.data.commentCreate'
晨会准备:
“我有哪些优先级为 Urgent 或 High 的未关闭 Linear issue?”
→ 运行“列出你当前打开的 issue”查询,并按优先级 ≤ 2 过滤结果。
会后跟进:
“在 ENG 团队中创建一个 Linear issue:‘修复 auth token refresh 的竞态条件’,优先级设为 High”
→ 先查出 ENG 团队 ID,再运行 create mutation,传入标题及 priority=2。
冲刺回顾:
“展示当前 ENG 周期中所有已完成的 issue”
→ 获取 activeCycle,再筛选 state.type == "completed" 的 issue,并汇总其标题与预估工时(estimate)。
问题梳理(Triage):
“将 ENG 团队中所有分配给 @alice 的 issue 状态改为 ‘In Progress’”
→ 先拉取相关 issue 列表,获取 “In Progress” 状态对应的 state ID,再对每个 issue 执行 issueUpdate。
key 查询(例如 "ENG");而 issue、state 和 cycle 必须使用 UUID。UUID 可通过列表类查询获取。{ __schema { types { name } } } 可探索完整的 API Schema。webhook-listener 技能使用。first: N, after: cursor 方式进行分页。默认每页返回 50 条记录。相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 134.3万人学习
共49课时 | 82.7万人学习
最新文章