用途
jira-search 技能用于通过 JQL(Jira Query Language)搜索 Jira 问题。它适用于按项目、状态、经办人、日期等条件过滤问题,构建问题列表和报告,按条件查找特定问题,以及对筛选后的问题执行批量操作。
主要能力
- 使用 JQL 查询搜索问题,支持过滤、分页和字段选择。
- 提供基础搜索函数 searchIssues,可指定 jql、startAt、maxResults、fields、expand 等参数。
- 提供分页搜索全部问题的函数 searchAllIssues,自动循环获取所有结果。
- 提供常用 JQL 构建函数:按项目、按状态、按经办人、搜索我的问题、按创建日期范围、组合条件。
- 提供高级搜索示例:查找项目中所有未关闭问题、查找我最近的问题、按标签查找、查找未分配问题。
- 提供 JQL 快速参考:运算符(=、!=、IN、NOT IN、~、IS EMPTY、IS NOT EMPTY、>=、<=)、日期格式(相对如 -7d、-2w、-1m,绝对如 2025-01-15,函数如 startOfDay()、startOfWeek())、常见 JQL 模式。
- 提供 curl 示例:基础搜索、带分页的搜索、带 changelog expand 的搜索。
- 提供响应结构说明和分页公式。
使用方式
前置条件:已认证的 JiraClient(参见 jira-auth 技能),以及项目访问权限。
实现模式分为以下步骤:
- 定义搜索类型:SearchOptions 接口包含 jql、startAt、maxResults、fields、expand;SearchResponse 接口包含 startAt、maxResults、total、issues。
- 基础搜索:调用 client.request 向 /search 发送 POST 请求,传入 JQL 和分页、字段参数。
- 分页搜索全部:循环调用基础搜索,每次 maxResults 为 100,直到获取全部结果。
- 常用搜索构建器:提供 searchByProject、searchByStatus、searchByAssignee、searchMyIssues、searchByCreatedDate、combineJql 等函数。
- 高级搜索示例:组合上述构建器实现查找未关闭问题、我最近的问题、按标签查找、未分配问题等。
也可直接使用 curl 调用 Jira REST API v3 的 /search 端点,示例中包含 Authorization 头和 JSON 请求体。
适用场景
- 按项目、状态、经办人、日期搜索问题。
- 构建问题列表和报告。
- 按条件查找特定问题。
- 对筛选后的问题执行批量操作。
限制
- 需要已认证的 JiraClient 和项目访问权限。
- 使用经办人搜索时需使用 accountId 而非 email。
- 状态值包含空格时需要加引号。
- 大结果集需要分页处理。
- 搜索文本中的特殊字符需要转义。
- 资料中未提供收费、价格、平台支持范围等信息。