TQL是一种搜索DSL(Domain Specific Language). 用于简化搜索语句,扩大搜索场景的基础工程。 是基于SQL, 参考JQL, 取SQL的部分条件语句语法(WHERE condition),以及聚合语句语法(GROUP BY groupElment), 排序语句语法(ORDER BY orderElement), 并优化部分内容,创造出来的查询语句。
TQL 语句示例:
// 查询指定任务_id = 5ecf55f5cd378900018038a2 AND isArchived = false
// 查询指定一组任务_id in (5ecf55f5cd378900018038a2, 5ecf55f5cd378900018038a2) AND isArchived = false
// 查询指定任务的子孙任务ancestorIds = 5ecf55f5cd378900018038a2 AND isArchived = false
// 查询项目下任务_projectId = 5ecf55f5cd378900018038a2 AND isArchived = false
// 查询项目下特定执行者的任务_projectId = 5ecf55f5cd378900018038a2 AND _executorId = 5ecf55f5cd378900018038a23 and isArchived = false
// 查询项目下特定执行者截止时间在特定时间之前的任务_projectId = 5ecf55f5cd378900018038a2 AND _executorId = 5ecf55f5cd378900018038a23 and dueDate < "2020-05-28T06:28:51.998Z" and isArchived = false
Plain Text
注: 所有的关键字名的下划线都可以省略, 如
_id可以写为id提醒:操作符必须全部大写(IN、AND 等)
| 关键字 | 支持的操作符 | 说明 |
| content | ~ | 模糊查询标题 |
| note | ~ | 模糊查询备注 |
| _id | =, IN | 按照任务id查询 |
| _appId | =, IN | 限定任务所属app |
| _organizationId | =, IN | 限定任务所属企业 |
| _projectId | =, IN | 限定任务所属项目 |
| _tasklistId | =, IN | 限定任务所属分组 |
| _stageId | =, IN | 限定任务所属列表 |
| _scenariofieldconfigId | =, IN | 限定任务所属任务类型 |
| _sprintId | =, IN | 限定任务所属迭代 |
| ancestorIds | =, IN | 限定任务所属祖先 |
| _parentId | =, IN | 限定任务所属父任务 |
| _executorId | =, IN, !=, NOTIN | 限定任务执行者 |
| _creatorId | =, IN | 限定任务创建者 |
| _tagId | =, IN | 限定任务含有特定标签 |
| involveMember | =, IN | 限定任务含有特定参与者 |
| isDone | = | 限定任务完成状态 |
| accomplished | =, >, >=, <, <= | 限定任务完成时间 |
| startDate | =, >, >=, <, <= | 限定任务开始时间 |
| dueDate | =, >, >=, <, <= | 限定任务截止时间 |
| created | =, >, >=, <, <= | 限定任务创建时间 |
| updated | =, >, >=, <, <= | 限定任务更新时间 |
| priority | =, IN | 限定任务优先级 |
| isArchived | = | 限定任务归档状态 |
| onlyChildren | = | 只查询子孙任务, 仅值为true时有效 |
| onlyTopTask | = | 只查询顶级任务, 仅值为true时有效 |