JQL 查询以显示板上每个用户的一个问题
JQL Query To Show One Issue From Each User On The Board
我试过在 JIRA 网站上查看并查看 JQL 文档。我们有一个我们正在使用的看板,理想情况下,我希望它在以任何其他方式排序之前显示列中有问题的每个用户的最高优先级问题。
现在,我按优先级 DESC 排序,它会显示以下内容:
- UserA P1
- UserA P2
- UserB P2
- UserB P3
- UserC P3
- UserC P3
- UserA P4
- UserB P4
理想情况下,我希望看到的是这个(使用相同的数据):
- UserA P1
- UserB P2
- UserC P3
- Rest of tickets ordered by priority
在 JQL 中可以这样做吗?
我认为您没有在 JQL 中执行此操作的选项,但您可以直接访问 jira 数据库。
您可以在此处获得有关数据库模式的更多信息
例如,这是 jiraissue
table
的描述
mysql> desc jiraissue;
+----------------------+---------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------------------+---------------+------+-----+---------+-------+
| ID | decimal(18,0) | NO | PRI | NULL | |
| pkey | varchar(255) | YES | UNI | NULL | |
| PROJECT | decimal(18,0) | YES | MUL | NULL | |
| REPORTER | varchar(255) | YES | | NULL | |
| ASSIGNEE | varchar(255) | YES | MUL | NULL | |
| issuetype | varchar(255) | YES | | NULL | |
| SUMMARY | varchar(255) | YES | | NULL | |
| DESCRIPTION | longtext | YES | | NULL | |
| ENVIRONMENT | longtext | YES | | NULL | |
| PRIORITY | varchar(255) | YES | | NULL | |
| RESOLUTION | varchar(255) | YES | | NULL | |
| issuestatus | varchar(255) | YES | | NULL | |
| CREATED | datetime | YES | | NULL | |
| UPDATED | datetime | YES | | NULL | |
| DUEDATE | datetime | YES | | NULL | |
| RESOLUTIONDATE | datetime | YES | | NULL | |
| VOTES | decimal(18,0) | YES | | NULL | |
| WATCHES | decimal(18,0) | YES | | NULL | |
| TIMEORIGINALESTIMATE | decimal(18,0) | YES | | NULL | |
| TIMEESTIMATE | decimal(18,0) | YES | | NULL | |
| TIMESPENT | decimal(18,0) | YES | | NULL | |
| WORKFLOW_ID | decimal(18,0) | YES | MUL | NULL | |
| SECURITY | decimal(18,0) | YES | | NULL | |
| FIXFOR | decimal(18,0) | YES | | NULL | |
| COMPONENT | decimal(18,0) | YES | | NULL | |
+----------------------+---------------+------+-----+---------+-------+
要获得排名,您可以在 MySQL
中使用以下查询
SELECT ASSIGNEE,
PRIORITY,
MAX(rank)
FROM (SELECT ASSIGNEE,
PRIORITY,
CASE
WHEN @prevRank = SUBSTR(PRIORITY, 2) THEN @curRank
WHEN @prevRank := SUBSTR(PRIORITY, 2) THEN @curRank := @curRank + 1
END AS rank
FROM jiraissue,
(SELECT @curRank :=0, @prevRank := NULL) r
ORDER BY PRIORITY) t
GROUP BY ASSIGNEE
参考这个SQLFiddle
无法访问Jira 的数据库。如果您正在为特定用户寻找查询显示任务,您可以这样做:
项目 = name_of_project 和受让人 = name_of_user
我试过在 JIRA 网站上查看并查看 JQL 文档。我们有一个我们正在使用的看板,理想情况下,我希望它在以任何其他方式排序之前显示列中有问题的每个用户的最高优先级问题。
现在,我按优先级 DESC 排序,它会显示以下内容:
- UserA P1
- UserA P2
- UserB P2
- UserB P3
- UserC P3
- UserC P3
- UserA P4
- UserB P4
理想情况下,我希望看到的是这个(使用相同的数据):
- UserA P1
- UserB P2
- UserC P3
- Rest of tickets ordered by priority
在 JQL 中可以这样做吗?
我认为您没有在 JQL 中执行此操作的选项,但您可以直接访问 jira 数据库。
您可以在此处获得有关数据库模式的更多信息
例如,这是 jiraissue
table
mysql> desc jiraissue;
+----------------------+---------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------------------+---------------+------+-----+---------+-------+
| ID | decimal(18,0) | NO | PRI | NULL | |
| pkey | varchar(255) | YES | UNI | NULL | |
| PROJECT | decimal(18,0) | YES | MUL | NULL | |
| REPORTER | varchar(255) | YES | | NULL | |
| ASSIGNEE | varchar(255) | YES | MUL | NULL | |
| issuetype | varchar(255) | YES | | NULL | |
| SUMMARY | varchar(255) | YES | | NULL | |
| DESCRIPTION | longtext | YES | | NULL | |
| ENVIRONMENT | longtext | YES | | NULL | |
| PRIORITY | varchar(255) | YES | | NULL | |
| RESOLUTION | varchar(255) | YES | | NULL | |
| issuestatus | varchar(255) | YES | | NULL | |
| CREATED | datetime | YES | | NULL | |
| UPDATED | datetime | YES | | NULL | |
| DUEDATE | datetime | YES | | NULL | |
| RESOLUTIONDATE | datetime | YES | | NULL | |
| VOTES | decimal(18,0) | YES | | NULL | |
| WATCHES | decimal(18,0) | YES | | NULL | |
| TIMEORIGINALESTIMATE | decimal(18,0) | YES | | NULL | |
| TIMEESTIMATE | decimal(18,0) | YES | | NULL | |
| TIMESPENT | decimal(18,0) | YES | | NULL | |
| WORKFLOW_ID | decimal(18,0) | YES | MUL | NULL | |
| SECURITY | decimal(18,0) | YES | | NULL | |
| FIXFOR | decimal(18,0) | YES | | NULL | |
| COMPONENT | decimal(18,0) | YES | | NULL | |
+----------------------+---------------+------+-----+---------+-------+
要获得排名,您可以在 MySQL
中使用以下查询SELECT ASSIGNEE,
PRIORITY,
MAX(rank)
FROM (SELECT ASSIGNEE,
PRIORITY,
CASE
WHEN @prevRank = SUBSTR(PRIORITY, 2) THEN @curRank
WHEN @prevRank := SUBSTR(PRIORITY, 2) THEN @curRank := @curRank + 1
END AS rank
FROM jiraissue,
(SELECT @curRank :=0, @prevRank := NULL) r
ORDER BY PRIORITY) t
GROUP BY ASSIGNEE
参考这个SQLFiddle
无法访问Jira 的数据库。如果您正在为特定用户寻找查询显示任务,您可以这样做:
项目 = name_of_project 和受让人 = name_of_user