通过 GraphQL 管理 Linear 的问题、项目和周期。适用于整理待办、从对话创建任务、检查冲刺进度或运行测试。
目的 : 控制线条
功能概述
目的 : 控制线条是一项面向实际任务的技能,主要用于创建问题、 分类积压、 更新优先级、 运行短跑审查;全部来自您的 AI 助手, 无需切换标签;
核心要点
- 通过 Linear 的 GraphQL 工作。
- 它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
- 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。
使用与执行
该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;
结果检查与注意事项
若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
用途
通过 OpenClaw 控制 Linear。创建 issue、梳理待办事项(backlog)、更新优先级、执行冲刺回顾(sprint review)——全部操作均可在你的 AI 助手中完成,无需切换浏览器标签页。
基于 Linear 的 GraphQL API,使用 curl 实现。无需安装 CLI 工具或 SDK。
适用场景
- 冲刺周期中途检查进度
- 根据会议纪要或对话内容快速创建 issue
- 梳理并重新排定待办事项(backlog)的优先级
- 站会(standup)前查询某个 issue 的当前状态
- 批量更新标签(labels)、负责人(assignees)或优先级(priorities)
- 跨项目或跨团队生成状态报告
不适用场景
- 复杂的 Figma / 设计评审(请使用浏览器端工具)
- GitHub PR 集成(请改用
github技能) - 将 Linear 与 Jira 或其他追踪系统同步(请直接调用 Linear API 编写脚本)
配置方法
- 进入 Linear → Settings → API → Personal API keys
- 创建一个 API 密钥(需具备 read + write 权限)
- 将密钥添加至你的 OpenClaw 配置中:
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 .
你应能看到自己的姓名返回。
命令
列出你当前打开的 issue
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'
获取某团队的 issue 列表
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'
创建 issue
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
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'
按关键词搜索 issue
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'
获取某团队当前冲刺周期(sprint)
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 添加评论
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。
注意事项
- 速率限制(Rate limits):Linear API 每小时允许最多 1500 次请求。批量读取时建议缓存结果。
- ID 与 Key 的区别:团队(Team)可通过
key查询(例如"ENG");而 issue、state 和 cycle 必须使用 UUID。UUID 可通过列表类查询获取。 - GraphQL 自省(Introspection):运行
{ __schema { types { name } } }可探索完整的 API Schema。 - Webhook:如需实时获取 issue 更新,请在 Linear → Settings → API → Webhooks 中配置 webhook,并配合
webhook-listener技能使用。 - 分页(Pagination):对于大型团队,请使用
first: N, after: cursor方式进行分页。默认每页返回 50 条记录。
热门AI工具
相关专题
本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。
0
2026.11.06
围绕Postman HTTP请求头配置展开,讲解Headers选项的具体使用方式,包括Key和Value参数填写、请求头信息添加、常见Header字段设置及请求头修改方法,帮助用户解决接口调试过程中遇到的请求头配置问题。
0
2026.11.06
详细介绍Postman接口请求的创建与发送方法,涵盖GET和POST请求、URL配置、请求参数、Headers请求头、Body请求体设置以及响应结果查看,帮助用户掌握Postman接口请求的完整操作流程。
0
2026.11.06
DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。
0
2026.11.05
DBeaver安全防护专题,围绕数据库连接安全、账号密码保护和访问权限管理展开,整理SSL/TLS加密连接、SSH隧道、数据库凭据保存及证书验证等配置方法,同时介绍敏感信息保护、远程连接风险和高权限账号使用等注意事项,帮助用户提高数据库日常管理的安全性。
0
2026.11.05
本专题聚焦DBeaver数据库连接配置与管理,覆盖从新建连接、选择数据库类型到填写连接参数和验证连接的完整流程。针对MySQL、PostgreSQL、SQL Server等常见数据库,整理相应的连接设置方法,并提供驱动缺失、认证失败和连接异常等问题的排查方向。
0
2026.11.04
本专题围绕XORM框架的结构体映射展开,说明表名与字段的命名策略、xorm标签常用属性、主键自增与时间字段自动填充,并演示Sync2自动建表、增量字段升级、索引声明与反向生成结构体的完整流程。
0
2026.11.04
本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。
0
2026.11.04
本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。
0
2026.11.04
热门下载
相关下载
精品课程
共6课时 | 12.1万人学习
共79课时 | 161.8万人学习
共6课时 | 54.7万人学习
最新文章