Skip to content

用 Composio CLI 批量整理 Linear/Jira 工单

解决团队工单积压与分配混乱问题:利用 Composio CLI 一键拉取 Linear 或 Jira backlog,自动合并重复项、标记优先级并批量指派负责人,同时对接 Sentry 实现跨平台错误同步。

为什么需要这个技能

随着项目规模扩大,Linear 或 Jira 中的未分配工单、重复提交的 Bug 以及过期的任务会迅速堆积。管理员若手动逐个处理,效率低下且容易遗漏。

通过 Composio CLI,AI 可以直接在命令行执行批量操作:筛选“未开始”或"Assignee 为空”的工单,识别并合并标题相似的重复工单,自动打标签并更新负责人。这不仅释放了人工精力,还能确保关键 Bug 被及时追踪。

适用场景

  • 每周工单整理:扫描 Linear/Jira 中状态为“未开始”、长时间未更新或缺少优先级的工单。
  • 版本发布后清理:将 Sentry、PagerDuty 等监控工具捕获的错误批量同步到 Jira/Linear 并创建对应工单。
  • 跨平台数据同步:例如将 Sentry 的热度最高的问题自动创建为 Linear 中的高优先级 Bug。
  • 批量重分配:将大量旧工单分配给新入职的开发人员,并添加必要的评论提醒。

核心工作流

  1. 环境准备:安装 Composio 并授权 Linear/Jira 账户。

    bash
    curl -fsSL https://composio.dev/install | bash
    composio login
    composio link linear        # 或:composio link jira
  2. 探索可用工具:确认支持的搜索和更新操作 slug。

    bash
    composio search "list issues" --toolkits linear
    composio tools list linear
  3. 拉取 backlog 片段:获取特定条件下的工单列表(如未分配且更新超过 14 天)。

    bash
    # Linear
    composio execute LINEAR_LIST_ISSUES -d '{
      "filter": { "state": { "type": { "eq": "unstarted" } }, "assignee": { "null": true } },
      "first": 100
    }'
    
    # Jira
    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"]
    }'
  4. 本地聚类与更新:脚本逻辑在本地将相似工单分组,随后批量更新优先级、标签和负责人。

    bash
    composio execute LINEAR_UPDATE_ISSUE -d '{
      "id":"abc-123","priority":2,"labelIds":["label-bug","label-p1"],"assigneeId":"user-42"
    }'

    类似操作也可用于 Jira。

  5. 跨工具同步与通知:将清理结果或新发现的高优先级错误发送到 Slack 频道,或由 CLI 批量创建 Linear 问题以响应 Sentry 报警。

    bash
    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"]
        });
      }
    '

Bug Sweep (发布后清理)

在发布新版本后,可以运行搜索最近 7 天内创建的 Bug,按严重程度排序并输出为表格,方便人工复核。

bash
# Jira: every bug filed in the last 7 days, sorted by severity
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)"'

故障排查

  • 未知字段名:使用 composio execute <SLUG> --get-schema 查看 Linear 嵌套对象或 Jira JQL 的确切形状。
  • Linear 返回 403:重新运行 composio link linear 确保选择了正确的 Workspace。
  • Jira 自定义字段缺失:在 fields 数组中显式请求自定义字段。
  • 批量编辑被限流:在 composio run 循环中插入 250ms 延时,避免使用 --parallel 模式。

完整的 CLI 参考文档:docs.composio.dev/docs/cli

下载和安装

下载 issue-triage 中文版 Skill ZIP

解压后将目录放入你的 AI 工具 skills 文件夹,重启工具后即可使用。

你可能还需要

暂无推荐