项目管理API

Polar Sponsor
爱发电 赞助
.NET 9.0

通过GraphQL操作工作项、项目、周期、标签与评论,覆盖创建查询转换全流程。

项目管理API集成

功能概述

项目管理API集成是一项面向实际任务的技能,主要用于通过项目管理工具的 GraphQL API 操作工作项全生命周期,从创建到状态推进,覆盖项目、周期、标签、评论与关联管理;Agent平台 : 支持SKILL.md的任意AI Agent(Claude Code / Cursor / Codex / Gemini CLI等);

核心要点

  • 操作系统 : Windows / macOS / Linux。
  • 它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
  • 从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。

使用与执行

实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;

结果检查与注意事项

涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。

项目管理API集成

通过项目管理工具的 GraphQL API 操作工作项全生命周期,从创建到状态推进,覆盖项目、周期、标签、评论与关联管理。

依赖说明

运行环境

  • Agent平台: 支持SKILL.md的任意AI Agent(Claude Code / Cursor / Codex / Gemini CLI等)
  • 操作系统: Windows / macOS / Linux

依赖项

依赖项 类型 是否必需 获取方式
LLM API API 必需 由Agent内置LLM提供

API Key 配置

需要配置对应API Key,详见上文环境配置章节

可用性分类

  • 分类: MD+EXEC()

API Key配置方式:

export API_KEY="your_api_key_here"

配置后需重启会话或开启新终端生效。API Key应妥善保管,避免泄露到版本控制系统。

核心能力

1. 工作项管理

  • createIssue 创建工作项:含 title、description、teamId、priority
  • updateIssue 更新工作项:状态、指派、估算、标签
  • archiveIssue 归档工作项,保留历史但不显示在默认视图
  • 工作项字段:title、description、priority、estimate、assignee、labels、state、project、cycle
  • 优先级数值:0=紧急、1=高、2=中、3=低、4=无(对应 priorityUrgent 到 priorityNone)

输入: 用户提供工作项管理所需的指令和必要参数。 处理: 按照skill规范执行工作项管理操作,遵循单一意图原则。

2. 项目管理

  • createProject 创建项目:含 name、description、teamIds
  • updateProject 更新项目状态:planned、started、paused、completed、canceled
  • projectIssues 查询项目下所有工作项
  • 项目作为跨周期的工作容器,工作项可关联到项目

输入: 用户提供项目管理所需的指令和必要参数。 处理: 按照skill规范执行项目管理操作,遵循单一意图原则。

3. 团队管理

  • teams 查询所有团队:含 id、name、key
  • team 查询单个团队详情:含 workflow、states、labels
  • 工作项必须归属于一个团队,teamId 是创建工作项的必填字段
  • 团队 key 作为工作项标识前缀(如 ENG-123)

输入: 用户提供团队管理所需的指令和必要参数。 处理: 按照skill规范执行团队管理操作,遵循单一意图原则。

4. 周期管理

  • createCycle 创建周期:含 name、startsAt、endsAt、teamId
  • 标准周期14天,可自定义
  • cycleIssues 查询周期内工作项
  • 周期状态:active、upcoming、past,过去周期不可添加工作项
  • updateIssue 的 cycleId 字段将工作项加入周期

输入: 用户提供周期管理所需的指令和必要参数。 处理: 按照skill规范执行周期管理操作,遵循单一意图原则。

5. 标签管理

  • createLabel 创建标签:含 name、color、teamId
  • updateIssue 的 labelIds 字段为工作项添加标签
  • 标签用于分类筛选:bug、feature、tech-debt、customer-request
  • 标签颜色用十六进制(如 #E5484D 表示红色)

处理: 按照skill规范执行标签管理操作,遵循单一意图原则。

6. 评论管理

  • createComment 创建评论:含 body、issueId
  • updateComment 编辑评论,deleteComment 删除评论
  • 评论支持 Markdown 格式
  • issueComments 查询工作项所有评论

输入: 用户提供评论管理所需的指令和必要参数。 处理: 按照skill规范执行评论管理操作,遵循单一意图原则。

7. 工作项关联

  • issueRelation 建立关联:type=blocks、is blocked by、relates to、duplicate
  • 关联方向有向:blocks 表示 A 阻塞 B
  • issueRelations 查询工作项的所有关联

输入: 用户提供工作项关联所需的指令和必要参数。 处理: 按照skill规范执行工作项关联操作,遵循单一意图原则。 输出: 返回工作项关联的执行结果,包含操作状态和输出数据。

8. 工作流状态

  • teamWorkflow 查询团队工作流:含 states 与 transitions
  • 默认状态:Backlog、Triage、Todo、In Progress、In Review、Done、Canceled
  • updateIssue 的 stateId 字段转换状态
  • 状态类型:backlog、unstarted、started、completed、canceled

输入: 用户提供工作流状态所需的指令和必要参数。 输出: 返回工作流状态的执行结果,包含操作状态和输出数据。

9. 自定义视图

  • createView 创建视图:含 name、query、filters
  • 视图查询语法:status = "In Progress" AND priority = 1
  • views 查询所有视图,viewIssues 获取视图内工作项

输入: 用户提供自定义视图所需的指令和必要参数。 处理: 按照skill规范执行自定义视图操作,遵循单一意图原则。

10. GraphQL查询构造

  • 查询用 query 关键字,变更用 mutation
  • 字段选择:只查询需要的字段,减少响应体积
  • 分页:用 first、after 参数,默认 first 50
  • 变量:用 $variable 参数化,避免字符串拼接

处理: 按照skill规范执行GraphQL查询构造操作,遵循单一意图原则。 输出: 返回GraphQL查询构造的执行结果,包含操作状态和输出数据。

能力覆盖范围

本skill还覆盖以下能力场景: 操作工作项、标签与评论、覆盖创建查询转换、全流程、通过项目管理工具、API、操作工作项全生命、CRUD、评论与关联、工作流状态转换与、适用于独立开发者、企业团队、和自动化工作流场。这些能力在上述核心功能中均有对应处理逻辑。

源能力映射

本skill覆盖源skill的以下能力点:

源能力点 支持状态 实现方式
Cycles 支持 通过核心功能实现对应能力
Organization 支持 通过核心功能实现对应能力

输入: 用户提供源能力映射所需的指令和必要参数。 处理: 按照skill规范执行源能力映射操作,遵循单一意图原则。 输出: 返回源能力映射的执行结果,包含操作状态和输出数据。

领域术语

本skill涉及以下领域术语: before, list, oauth, permissions, 系统连接时使用, post, 不适用于逆向工程, uuids, authorization, getting, 接口对接, verify, content, homebrew, correct

处理: 按照skill规范执行领域术语操作,遵循单一意图原则。 输出: 返回领域术语的执行结果,包含操作状态和输出数据。

适用场景

场景 输入 输出
创建工作项 title+teamId+priority 工作项对象(含 id、identifier)
周期规划 工作项列表+周期名 周期 ID + 工作项更新结果
GraphQL查询 查询语句 匹配工作项列表(first 50)
状态转换 issueId + stateId 更新后工作项状态
项目进度 projectId 项目工作项完成率

不适用于:项目管理工具配置(工作流设计、团队设置)、SSO配置、账单管理。

使用流程

  1. 确认 API Key 配置,获取团队 ID 与工作流状态 ID
  2. 用 createIssue 创建工作项,填 title、teamId、priority
  3. 用 updateIssue 关联项目、周期、标签
  4. 用 createCycle 规划周期,将工作项加入
  5. 用 GraphQL query 配合筛选跟踪进度
  6. 用 updateIssue 的 stateId 推进工作流状态

命令参数说明

  • -uuid-in-progress: 命令参数,用于指定操作选项
  • -W30: 命令参数,用于指定操作选项
  • -uuid-feature: 命令参数,用于指定操作选项
  • -uuid-789: 命令参数,用于指定操作选项
  • -uuid-456: 命令参数,用于指定操作选项

结果处理: 执行完成后,查看输出结果确认操作状态。成功时输出包含处理摘要和结果数据;失败时根据错误信息排查问题,参考错误处理章节获取恢复步骤。

命令参数说明

  • -W30: 命令参数,用于指定操作选项

命令参数说明

  • -W30: 命令参数,用于指定操作选项

命令参数说明

  • -W30: 命令参数,用于指定操作选项

命令参数说明

  • -W30: 命令参数,用于指定操作选项

命令参数说明

  • -W30: 命令参数,用于指定操作选项

命令参数说明

  • -W30: 命令参数,用于指定操作选项

命令参数说明

  • -W30: 命令参数,用于指定操作选项

命令参数说明

  • -W30: 命令参数,用于指定操作选项

示例

示例1:创建工作项(GraphQL mutation)

mutation {
  issueCreate(input: {
    title: "实现用户登录接口"
    description: "支持邮箱+密码登录,返回JWT"
    teamId: "team-uuid-123"
    priority: 1
    estimate: 5
    labelIds: ["label-uuid-feature"]
  }) {
    success
    issue {
      id
      identifier
      title
      state { name }
    }
  }
}
// 返回: {"success": true, "issue": {"id": "issue-uuid-456", "identifier": "ENG-101", "title": "实现用户登录接口", "state": {"name": "Triage"}}}

示例2:GraphQL查询工作项

query {
  team(id: "team-uuid-123") {
    issues(first: 50, filter: {
      state: { type: { eq: "started" } }
      priority: { lte: 1 }
    }) {
      nodes {
        identifier
        title
        priority
        estimate
        assignee { name }
        state { name }
      }
    }
  }
}

示例3:周期规划

mutation {
  cycleCreate(input: {
    name: "Cycle 2026-W30"
    startsAt: "2026-07-21"
    endsAt: "2026-08-04"
    teamId: "team-uuid-123"
  }) {
    success
    cycle { id number }
  }
}
// 返回: {"success": true, "cycle": {"id": "cycle-uuid-789", "number": 30}}

// 将工作项加入周期
mutation {
  issueUpdate(input: {
    id: "issue-uuid-456"
    cycleId: "cycle-uuid-789"
  }) { success }
}

示例4:状态转换

mutation {
  issueUpdate(input: {
    id: "issue-uuid-456"
    stateId: "state-uuid-in-progress"
  }) {
    success
    issue { state { name type } }
  }
}
// 返回: {"success": true, "issue": {"state": {"name": "In Progress", "type": "started"}}}

错误处理

错误场景 原因 处理方式
API Key 无效(401 Unauthorized) key 过期或权限不足 重新生成 API Key,确认 key 对目标团队有读写权限
GraphQL 语法错误(400 Bad Request) 字段名拼写错误或类型不匹配 检查 mutation/query 结构,确认字段名与枚举值合法
teamId 不存在(404 Not Found) 团队 ID 拼写错误或已删除 用 query { teams { id name key } } 验证 teamId
周期已关闭无法添加工作项 周期状态为 past 创建新周期或将工作项移到下个 upcoming 周期
优先级值越界 priority 取值非 0-4 确认 priority 为整数 0-4,0=紧急、4=无;不要传字符串
自定义字段 ID 错误 不同团队字段配置不同 用 query { team(id: ...) { workflow { states } } } 反查 stateId
关联循环引用 A blocks B 且 B blocks A 检查关联方向,blocks 与 is blocked by 不可同时存在形成环

常见问题

Q1: 优先级数值 0-4 如何映射?

A: 0=priorityUrgent(紧急)、1=priorityHigh(高)、2=priorityMedium(中)、3=priorityLow(低)、4=priorityNone(无)。创建工作项时传整数,查询时返回对应枚举标签。

Q2: GraphQL 查询默认返回多少条?

A: 默认 first: 50。需要更多时显式传 first: 100(上限250),并用 after 游标分页:issues(first: 50, after: "cursor-xyz")。

Q3: estimate 估算值用哪些数字?

A: 与故事点一致,用斐波那契数列:1、2、3、5、8、13。也可配置为任意整数,但建议团队统一数列便于速率对比。

Q4: updateIssue 的 stateId 与 state name 有何区别?

A: stateId 是状态的唯一标识(如 state-uuid-123),state name 是显示名(如 "In Progress")。updateIssue 必须用 stateId,不能用 name。用 teamWorkflow 查询获取所有 stateId。

Q5: issueRelation 的 blocks 与 is blocked by 有何区别?

A: 方向相反。A blocks B 表示 A 阻塞 B(B 等 A 完成);A is blocked by B 表示 A 被 B 阻塞(A 等 B 完成)。建立关联时需明确方向,否则依赖图会反,且不可形成循环。

Q6: 周期14天如何调整?

A: createCycle 时指定 startsAt 与 endsAt,可设为7天或30天。建议团队统一周期长度,避免不同周期影响速率(burndown)对比。过去周期不可修改,只能创建新周期。

已知限制

  • 需要项目管理工具的 API Key 与团队访问权限
  • GraphQL 查询受 first 上限(250)限制,大结果集需分页
  • 工作流状态 ID 因团队而异,不可硬编码
  • 过去周期不可添加工作项,只能移到当前或未来周期
  • 不覆盖工作流设计、SSO配置与账单管理

相关专题

更多
Go-Zero API开发使用教程
Go-Zero API开发使用教程

本专题聚焦Go-Zero的API开发,拆解.api描述文件的语法结构、路由与分组定义、参数绑定与校验规则,说明统一响应体、JWT鉴权、跨域与接口文档生成的落地方式,并给出网关聚合与接口测试的实践建议。

2026.11.12

0

15

Go-Zero安装与goctl环境配置教程
Go-Zero安装与goctl环境配置教程

本专题围绕Go-Zero的安装与工具链配置展开,讲清Go版本要求、goctl安装方式、代理镜像、protoc依赖与环境变量设置,说明多版本共存、升级回退与CI流水线安装的做法,并整理安装阶段的常见报错与验证步骤。

2026.11.12

0

15

Go-Zero零基础入门教程
Go-Zero零基础入门教程

本专题整理Go-Zero的入门知识,从框架定位、环境准备到跑通第一个API服务,讲清目录分层、配置加载、日志与中间件的基本用法,并对比Gin、Kratos的差异,帮助Go开发者建立整体认知,判断它是否适合当前项目。

2026.11.12

0

15

Postman身份认证怎么配置
Postman身份认证怎么配置

本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。

2026.11.06

0

12

Postman请求头Headers怎么设置
Postman请求头Headers怎么设置

围绕Postman HTTP请求头配置展开,讲解Headers选项的具体使用方式,包括Key和Value参数填写、请求头信息添加、常见Header字段设置及请求头修改方法,帮助用户解决接口调试过程中遇到的请求头配置问题。

2026.11.06

0

13

Postman接口请求发送教程
Postman接口请求发送教程

详细介绍Postman接口请求的创建与发送方法,涵盖GET和POST请求、URL配置、请求参数、Headers请求头、Body请求体设置以及响应结果查看,帮助用户掌握Postman接口请求的完整操作流程。

2026.11.06

0

10

DBeaver怎么导入数据
DBeaver怎么导入数据

DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。

2026.11.05

0

12

DBeaver安全防护教程大全
DBeaver安全防护教程大全

DBeaver安全防护专题,围绕数据库连接安全、账号密码保护和访问权限管理展开,整理SSL/TLS加密连接、SSH隧道、数据库凭据保存及证书验证等配置方法,同时介绍敏感信息保护、远程连接风险和高权限账号使用等注意事项,帮助用户提高数据库日常管理的安全性。

2026.11.05

0

12

DBeaver连接创建与配置教程
DBeaver连接创建与配置教程

本专题聚焦DBeaver数据库连接配置与管理,覆盖从新建连接、选择数据库类型到填写连接参数和验证连接的完整流程。针对MySQL、PostgreSQL、SQL Server等常见数据库,整理相应的连接设置方法,并提供驱动缺失、认证失败和连接异常等问题的排查方向。

2026.11.04

0

16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 134.3万人学习