基于 Composio CLI 的 Linear / Jira 议题分诊与 Bug 扫描自动化实战

发布时间:2026/11/15 0:03:20

基于 Composio CLI 的 Linear / Jira 议题分诊与 Bug 扫描自动化实战 基于 Composio CLI 的 Linear / Jira 议题分诊与 Bug 扫描自动化实战【免费下载链接】awesome-codex-skillsA curated list of practical Codex skills for automating workflows across the Codex CLI and API.项目地址: https://gitcode.com/GitHub_Trending/aw/awesome-codex-skills导读本文面向需要在 Codex CLI / API 中批量处理项目积压backlog的工程团队讲解如何借助 Composio CLI 驱动 Linear 与 Jira在纯命令行环境下完成拉取积压 → 聚类去重 → 批量打标/重分配 → 回帖汇总的完整分诊闭环。读完本文你将掌握工具发现composio search/tools list、单条与批量执行composio execute/composio run、跨工具串联Sentry → Linear以及常见限流与鉴权问题的排查方法。该技能在仓库中的完整定义位于 issue-triage/SKILL.md同仓库的 linear/SKILL.md 与 sentry-triage/SKILL.md 分别覆盖了 Linear MCP 管理流程与 Sentry 错误诊断可作为本技能的延伸阅读。一、技能定位与适用场景Issue Triage 技能解决的核心问题是分诊动作过多依赖人工点击 UI。它把每周例会式的分诊、发布后的 Bug 清扫、以及跨工具同步Sentry 告警 → Linear 建单、PagerDuty 告警 → Jira 建单全部压缩为可重复执行的 CLI 流程。典型触发时机每周例行分诊回答哪些议题无人认领、长期停滞、或缺少优先级发布后 Bug 扫描将全部 P1/P2 Bug 聚类去重、指定负责人、批量打标签跨工具同步Sentry 或 PagerDuty 的告警事件自动沉淀为 Linear / Jira 议题。技能元数据name: issue-triage声明它面向bulk-fetch issues, dedupe, relabel, reassign, and post summaries——即批量获取、去重、重打标签、重新指派与摘要回帖全部通过 shell 完成。二、前置准备安装与授权技能运行依赖 Composio CLI需先完成安装、登录与工具授权三步curl -fsSL https://composio.dev/install | bash composio login composio link linear # 或: composio link jira其中composio link会引导 OAuth 授权将你的 Linear / Jira 账号与本地 CLI 绑定。注意若授权过期或更换工作区执行composio link linear时报403需要重新授权并确认选择的是正确的 workspace详见下文故障排查。补充同仓库 linear/SKILL.md 提供了另一条接入路径——通过 Linear 官方 MCP 服务器codex mcp add linear --url https://mcp.linear.app/mcp配合[features] rmcp_client true实现自然语言式项目管理。二者的取舍是MCP 方式适合在 Codex 会话中做交互式管理而 Composio CLI 方式更适合写进可重复执行的脚本与 CI 流程本文后续内容均以 Composio CLI 为主线。三、发现工具确认可用的工具 Slug在编写任何分诊脚本之前先用 CLI 自带的搜索与列表命令确认当前可用的工具集composio search list issues --toolkits linear composio search search issues --toolkits jira composio tools list linear composio tools list jira常用工具 Slug执行前建议用--get-schema核对字段形状LinearSlug作用LINEAR_LIST_ISSUES按过滤器拉取议题列表LINEAR_CREATE_ISSUE新建议题LINEAR_UPDATE_ISSUE更新议题优先级、标签、负责人LINEAR_CREATE_COMMENT在议题下追加评论JiraSlug作用JIRA_SEARCH_FOR_ISSUES_USING_JQL用 JQL 搜索议题JIRA_CREATE_ISSUE新建议题JIRA_EDIT_ISSUE编辑议题字段JIRA_ADD_COMMENT追加评论JIRA_ASSIGN_ISSUE指派负责人为什么必须先核对 schemaLinear 的过滤器是嵌套对象结构如{ state: { type: { eq: unstarted } } }而 Jira 使用扁平的 JQL 字符串。二者差异极大直接凭记忆传参最容易踩Unknown field names错误。composio execute SLUG --get-schema会打印精确的入参形状。四、完整分诊工作流五步技能文档给出了一个可直接照搬的五步分诊流程第 1 步拉取积压切片先获取当前需要处理的议题集合。Linear 版使用嵌套过滤器筛选未开始 无人认领的议题composio execute LINEAR_LIST_ISSUES -d { filter: { state: { type: { eq: unstarted } }, assignee: { null: true } }, first: 100 }Jira 版使用 JQL 表达等价条件并显式声明需要的字段composio execute JIRA_SEARCH_FOR_ISSUES_USING_JQL -d { jql: project APP AND statusCategory ! Done AND assignee is EMPTY ORDER BY updated DESC, maxResults: 100, fields: [summary,priority,labels,updated,reporter] }实操要点fields数组务必显式列出所需字段尤其是 Jira 的自定义字段custom fields——不显式请求时默认不会返回这也是下文故障排查中Jira custom fields missing的根因。第 2 步聚类去重将拉取到的议题按标题相似度与标签进行本地聚类。这一步由 Agent 在本地完成——把可能重复的议题归为一组不立即写回远端形成一份疑似重复清单供后续统一处理。聚类逻辑放在脚本中时通常基于updatedAt、title、labels等字段做规则匹配可参考下文工作流文件示例中的字段用法。第 3 步批量更新打标、优先级、指派对聚类后的议题一次性应用更新composio execute LINEAR_UPDATE_ISSUE -d { id:abc-123,priority:2,labelIds:[label-bug,label-p1],assigneeId:user-42 } composio execute JIRA_EDIT_ISSUE -d { issueIdOrKey:APP-482, fields:{priority:{name:High},labels:[bug,p1]} }注意两类工具的参数风格差异Linear 用id 扁平字段priority、labelIds、assigneeIdJira 用issueIdOrKey 嵌套的fields对象。批量更新务必控制节奏——Composio 与远端 API 都有速率限制建议在循环中插入约 250ms 的 sleep且不要使用--parallel并发见故障排查。第 4 步链接重复项对第 2 步识别出的重复议题通过追加评论的方式引用规范议题canonical issue而不是直接删除——保留审计痕迹团队成员从任意重复项都能跳到被保留的那一条。第 5 步发布变更摘要将本次分诊的变更结果处理了多少条、哪些被去重、哪些重新指派以摘要形式发送到 Slack让团队无需打开工具即可了解扫描结果调用SLACK_SEND_MESSAGE等 Slack 工具 slug。五、发布后 Bug 扫描Bug Sweep技能文档专门为发布后清扫提供了一个高效范例用 JQL 拉取最近 7 天的全部 Bug按优先级降序、创建时间升序排列并用jq就地生成 TSV 排行composio execute JIRA_SEARCH_FOR_ISSUES_USING_JQL -d { jql:type Bug AND created -7d ORDER BY priority DESC, created ASC, fields:[summary,priority,labels,reporter,components] } | jq -r .issues[] | \(.fields.priority.name)\t\(.key)\t\(.fields.summary)这一模式的复用价值在于把扫描 格式化 排序全部留在管道内完成输出可直接粘贴进周报或作为 Slack 摘要的输入。将created -7d替换为任意 JQL 时间窗即可复用于近 24 小时回归上季度遗留等不同扫描口径。六、可复用的工作流文件技能文档建议将分诊逻辑沉淀为 TypeScript 工作流文件scripts/triage-linear.ts并通过composio run --file scripts/triage-linear.ts执行。注意该路径是执行时传给composio run的本地脚本路径约定实际文件名与存放位置由你的仓库决定。核心逻辑示例如下const { nodes: issues } await execute(LINEAR_LIST_ISSUES, { filter: { state: { type: { eq: unstarted } }, assignee: { null: true } }, first: 100 }); const stale issues.filter(i { const age (Date.now() - new Date(i.updatedAt).getTime()) / 86400000; return age 14; }); for (const i of stale) { await execute(LINEAR_CREATE_COMMENT, { issueId: i.id, body: Auto-triage: stale for 14 days. Please assign or close. }); } await execute(SLACK_SEND_MESSAGE, { channel: triage, text: Weekly triage: pinged ${stale.length} stale issues. });脚本要点拆解过滤与批量LINEAR_LIST_ISSUES返回的nodes直接作为内存中的议题集合first: 100控制单次拉取上限停滞判定用updatedAt与当前时间差毫秒除以86400000一天的毫秒数得到停滞天数age 14即视为 14 天未更新写回策略仅对筛选出的停滞议题逐个追加评论避免全量写入收尾通知最终用SLACK_SEND_MESSAGE把本次处理数量广播到triage频道让整个流程闭环可见。这类文件把第 4 节中的人工五步流程固化为可 cron 化、可回放的自动化任务是分诊技能落地到日常运营的关键形态。七、跨工具链路Sentry → Linear技能还演示了如何把 Sentry 告警自动转成 Linear 议题。利用composio run的内联脚本模式将取热点未解决错误 → 建 Linear 议题两步串成一次调用composio run const hot await execute(SENTRY_LIST_A_PROJECTS_ISSUES, { organization_slug:acme, project_slug:api, query:is:unresolved, sort:freq, limit:5 }); for (const s of hot) { await execute(LINEAR_CREATE_ISSUE, { teamId: TEAM_ID, title: [Sentry] ${s.title}, description: ${s.permalink}\nCount: ${s.count}, labelIds: [label-bug,label-from-sentry] }); } 要点用sort:freqlimit:5只捞取最高频的未解决错误避免刷屏式建单议题标题加[Sentry]前缀、描述中携带 permalink 与错误计数保证后续定位与复盘有据可查labelIds打上label-from-sentry这类来源标签便于日后按来源聚合统计。与之配套的完整 Sentry 诊断流程拉取事件、解析inApp栈帧、定位本地源码、提出修复并回写状态可参考仓库中的 sentry-triage/SKILL.md两者结合即可构成告警 → 诊断 → 建单 → 修复的完整链路。八、故障排查速查表技能文档针对高频踩坑点给出了明确处置建议整理如下症状处置Unknown field names运行composio execute SLUG --get-schema查看精确的入参形状。Linear 使用嵌套对象过滤器Jira 使用 JQL 字符串两者结构完全不同Linear 返回 403重新执行composio link linear确认授权的是正确的工作区Jira 自定义字段缺失在fields数组中显式请求这些字段否则默认返回结果不包含它们批量编辑被限流在composio run的循环内插入 250ms 左右的 sleep避免使用--parallel并发执行额外建议来自同仓库 linear/SKILL.md 的运维经验批量操作时尽量复用/缓存过滤器以减少高频 list 调用遇到鉴权问题时清理浏览器 Cookie 后重跑 OAuth并确认 workspace 权限与 API 访问已开启。九、与仓库其他技能的协同issue-triage在仓库技能体系中属于流程编排类技能推荐组合使用linear/SKILL.md提供 Linear MCP 接入与完整的项目管理工作流冲刺规划、工作量平衡、智能打标、发布计划、文档审计等适合需要自然语言交互式管理的场景sentry-triage/SKILL.md提供 Sentry 错误诊断与LINEAR_CREATE_ISSUE路由示例与本文第 7 节形成前后端闭环composio-skills/目录仓库中还有覆盖 Linear、Jira、Slack、Sentry 等大量工具的自动化说明如composio-skills/linear-automation等子目录可作为扩展工具 slug 与参数用法的参考索引。结语Issue Triage 技能的核心价值在于把分诊从点 UI 的体力活变成可执行、可编排、可回放的 CLI 流程通过composio search发现工具、--get-schema核对参数、composio execute单步执行、composio run编排多步链路再配合 jq 管道与 TS 工作流文件即可覆盖每周分诊、发布后 Bug 扫描与 Sentry → Linear 自动建单三类高频场景。完整技能定义与最新命令示例请以仓库中的 issue-triage/SKILL.md 为准。【免费下载链接】awesome-codex-skillsA curated list of practical Codex skills for automating workflows across the Codex CLI and API.项目地址: https://gitcode.com/GitHub_Trending/aw/awesome-codex-skills创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/11/13 17:53:02

MCP协议 vs ChatGPT Plugins:大模型工具调用的范式重构

1. 项目概述:这不是一次技术迭代,而是一场协议层的范式迁移“每日热评|从 ChatGPT Plugins 到 MCP 演进启示录:大模型工具调用协议的兴衰与重构”——这个标题里藏着过去两年大模型落地最真实、最剧烈的一次底层震荡。我从2023年3…

2026/11/13 19:15:49

HP MSA 2050磁盘阵列配置实战:从初始化到多路径映射全指南

上周帮朋友收拾一台二手的HP MSA 2050磁盘阵列,设备本身通电自检一切正常,可到了配置环节,他翻遍电脑里所有资料只找到一张模糊的架构图。这种中端存储的逻辑其实不复杂,HP MSA 2050的配置步骤归纳起来就是三件事:让控…

2026/11/13 22:25:11

Loop macOS 窗口管理指南:4 个要点把杂乱桌面理顺

Loop macOS 窗口管理指南:4 个要点把杂乱桌面理顺 【免费下载链接】Loop Window management made elegant. 项目地址: https://gitcode.com/GitHub_Trending/lo/Loop 你的桌面大概是这样的:聊天、文档、浏览器互相叠在一起,拖来拖去排…

2026/11/15 0:02:49

电工证考什么材料 内部消息告诉你怎么准备不挂科

电工证考什么材料 内部消息告诉你怎么准备不挂科 实操考试心里没底怕挂科?你不是一个人。南阳劳务班组的张师傅告诉我,去年他带着十几个人去考电工证,结果一半人因为没带齐材料被拦在考场外,一半人因为实操不规范被判定不合格,直接白忙一场。别担心,今…

2026/11/15 0:02:49

肇庆市特种作业操作证最新内部消息:外省证能转吗?实操经验全分享

肇庆市特种作业操作证最新内部消息:外省证能转吗?实操经验全分享 之前考的证在外省能不能转过来?这是很多老电工、焊工、登高工、制冷工、危化操作员最关心的问题。特别是像你这种已经在工地、工厂干了几年的劳务班组负责人,手里拿着几张外省的特种作业操…

2026/11/15 0:02:49

桑植县考电工证千万别踩坑!报名全流程教你避坑

桑植县考电工证千万别踩坑!报名全流程教你避坑 你是不是也遇到过这种情况:想考个电工证,但不知道从哪儿下手,怕被中介坑,怕花冤枉钱,更怕考了证还不能用?别急,这正是你该看这篇文章的原因。在桑植县考电工证,确实有很多人被坑过,但只要你知道流程、…

2026/11/15 0:02:49

电工证考试口诉怎么准备值不值得考

电工证考试口诉怎么准备值不值得考 实操考试心里没底怕挂科,这是大多数准备考电工证的人心里最真实的感受。尤其是面对【电工证考试口诉】环节,很多人不知道该怎么准备,甚至担心自己说不好就被淘汰。其实,只要掌握方法, 值不值得考…

2026/11/14 23:57:49

电工证与钳工证哪个好?千万别踩坑,新手报名避坑指南

电工证与钳工证哪个好?千万别踩坑,新手报名避坑指南 你是不是也像我一样,刚接触特种作业证,不知道从哪里开始?网上一搜【电工证与钳工证哪个好】,各种信息扑面而来,真假难辨, 不知道去哪报名怕被中介坑…

2026/11/15 0:02:49

电工证考试口诉怎么准备值不值得考

电工证考试口诉怎么准备值不值得考 实操考试心里没底怕挂科,这是大多数准备考电工证的人心里最真实的感受。尤其是面对【电工证考试口诉】环节,很多人不知道该怎么准备,甚至担心自己说不好就被淘汰。其实,只要掌握方法, 值不值得考…

2026/11/15 0:02:49

桑植县考电工证千万别踩坑!报名全流程教你避坑

桑植县考电工证千万别踩坑!报名全流程教你避坑 你是不是也遇到过这种情况:想考个电工证,但不知道从哪儿下手,怕被中介坑,怕花冤枉钱,更怕考了证还不能用?别急,这正是你该看这篇文章的原因。在桑植县考电工证,确实有很多人被坑过,但只要你知道流程、…

2026/11/15 0:02:49

电工证考试口诉怎么准备值不值得考

电工证考试口诉怎么准备值不值得考 实操考试心里没底怕挂科,这是大多数准备考电工证的人心里最真实的感受。尤其是面对【电工证考试口诉】环节,很多人不知道该怎么准备,甚至担心自己说不好就被淘汰。其实,只要掌握方法, 值不值得考…

2026/11/15 0:02:49

桑植县考电工证千万别踩坑!报名全流程教你避坑

桑植县考电工证千万别踩坑!报名全流程教你避坑 你是不是也遇到过这种情况:想考个电工证,但不知道从哪儿下手,怕被中介坑,怕花冤枉钱,更怕考了证还不能用?别急,这正是你该看这篇文章的原因。在桑植县考电工证,确实有很多人被坑过,但只要你知道流程、…

2026/11/13 22:32:11

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/13 12:14:39

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑