用途:让 AI 通过 Linear 的 GraphQL API 与 Linear 交互,用于问题跟踪、周期管理、项目路线图、Git 集成、SLA 监控和 API 驱动的工作流,主要面向工程团队。适用场景包括从代码变更自动创建问题、更新项目路线图、跟踪工单 SLA、将 Git 提交与 Linear 问题同步,以及冲刺规划时查询问题、接入 CI/CD 流水线。
主要能力:问题管理(通过 https://api.linear.app/graphql 创建、更新、查询问题);周期与项目处理(如 cycleCreate 变更、查询路线图);Git 集成(通过 webhook 或 API 将提交 SHA 关联到问题 ID);SLA 跟踪(查询问题状态与时间戳);API 访问(使用个人 API 密钥认证,按过滤条件获取问题,如 state: "todo")。配置上,API 密钥存于环境变量 $LINEAR_API_KEY,请求负载使用 JSON。
使用方式:先认证,在环境中设置 $LINEAR_API_KEY。查询用 GraphQL query,变更用 mutation 并提供 input 对象。问题创建流程为:认证 → 准备 mutation 负载 → 发送请求 → 处理响应。集成时可结合 Git 工具,解析提交信息并映射到 Linear 问题。发送请求前应校验输入,例如确保问题标题不超过 255 字符。
常用命令/API:查询开放问题:query { issues(filter: { state: { name: { eq: "todo" } } }) { nodes { id title } } };发送:curl -H "Authorization: Bearer $LINEAR_API_KEY" -X POST https://api.linear.app/graphql -d '{"query": "above query"}'。创建问题:mutation { issueCreate(input: { title: "Fix bug in login", description: "Details here" }) { issue { id } } }。更新项目路线图:mutation { projectUpdate(id: "proj_123", name: "Updated Roadmap") { project { id } } }。SLA 检查:query { issues(filter: { createdAt: { gt: "2023-01-01" } }) { nodes { id slaViolated } } }。
集成说明:从 Linear 账户设置导出 $LINEAR_API_KEY;Git 集成可在 Linear 配置 webhook,在脚本中解析负载(如 Python requests)。配置格式可用 .env 文件写 LINEAR_API_KEY=your_key_here,再通过 os.environ.get('LINEAR_API_KEY') 读取。可链式调用 API,例如 Git push 后查询并更新 Linear 问题。需遵守速率限制(如 100 请求/分钟),在循环中加延迟。
错误处理:请求前校验 $LINEAR_API_KEY,处理 401 认证错误;解析 GraphQL 响应的 errors 字段,如 message 含 Invalid input 时校验负载必填字段;网络问题可用指数退避重试,如 for i in 1..3; do curl ...; if [ $? -ne 0 ]; then sleep $((2**i)); fi; done;SLA 违规时检查问题是否返回 null 并记录;代码中始终用 try-catch 包裹 API 调用。
限制:资料未提供 Linear 的收费、价格、平台支持范围及具体效果数据,暂未提供。