如何找到某个时候分配给您的问题?


192

我们在项目中广泛使用了Jira,但我经常很难找到问题,而我早些时候就一直在努力。通常,如果报告了某种情况,这似乎是我过去一直在努力的事情,但是我不记得确切的时间和时间。

通常,会报告一个问题,然后我们的Scrum管理员将其分配给开发人员,开发人员修复(希望),然后将其传递给测试人员(是的,它可以工作!)。但是后来它不再分配给我了,我很难找到旧的问题,而我隐约记得了。

我认为,也许可以查看问题的指定历史记录,也许可以采用一种方法来形成高级搜索/过滤器,以查找所有已分配给我的问题。

有人这样做吗?


此外,该查询可以是有帮助的
Alex.K.

Answers:


281

同时,这可以通过JIRA查询语言(JQL)运算符'WAS'来实现,该运算符已在JIRA 4.3中引入,在JIRA 4.4中进行了扩展,以涵盖受让人和报告者,例如:

project = "Angry Nerds" and (assignee was 'johnsmith' or reporter was 'johnsmith')

6
似乎在提出问题后就提供了该答案,但对于更高版本的Jira(4.3已于2011年3月发布),它应该是以后可以接受的答案。
杰瑞德

was如果用户是当前的受理人/报告人,关键字是否还会返回结果?(并且说该问题以前没有受让人,或者他们是该问题的第一个受让人)
nmz787 2015年

上次订购该产品时该如何订购?
sashok_bg's

1
语法是否更改?我只能通过assignee in ("johnsmith")
Thorsten Niehues

1
@ nmz787我测试了was关键字是否包含当前分配的问题。
伯纳德·范德·贝克

33

针对“当前用户”的通用查询:

assignee was currentUser()

可以方便地共享此过滤器,任何人都可以将其放在其仪表板上,等等,它将返回特定于它们的结果。.但是,在所有旧JIRA版本中均不支持。

这是我有史以来最需要的JIRA功能。



18

更新资料

无需插件即可使用:

assignee was currentUser() OR reporter was currentUser() ORDER BY updated DESC

原始答案

这个查询对我有用:

Participants = currentUser()

1
我尝试过,但收到一条消息“字段'参与者'不存在,或者您没有查看权限。” 这就是Jira v6.0.6#6105-sha1:9713ad1。
Craig McQueen 2014年

@CraigMcQueen,我不是吉拉大师,但我认为您需要安装JIRA Toolkit插件
warvariuc 2014年

7

尝试“收件人是用户名”。它将把所有票证分配给用户。


5

您可以直接在数据库中通过工作日志条目查找问题:

select distinct ji.pkey from jiraissue ji inner join worklog wl on ji.id=wl.issueid where wl.author='some_username';

我同意这应该在用户界面中实现。


作为开发人员,不幸的是我无法直接访问数据库。是否可以通过某种方式通过高级问题搜索来做到这一点?
erikric'1

就像我在评论中说的那样,Jira尚不支持在工作日志中进行搜索。请在此处为其
雨果·帕尔玛2010年

这是Jira <4.3的最佳答案吗?由于某些要求,我们坚持使用旧版本。
2014年


3

was我最近尝试时不支持对受让人字段进行操作。您必须使用CHANGED, FROM, TO关键字进行过滤。

我正在使用这样的东西:

project = MindBlowingProject AND (assignee in (currentUser()) OR assignee CHANGED from (currentUser()) OR reporter in (currentUser())) ORDER BY updated DESC

2

因此共有3种情况:1-我以某种方式对其进行了更改-受让人通过[UserName]进行了更改,2-我更改了状态(关闭它,无论如何)-OR状态通过[UserName]进行了更改,3-我仍然拥有它-或受让人= [用户名]

因此,整个查询(假设允许更改的语句为:

通过[用户名]更改了受理人,或者通过[用户名]更改了状态,或者受理人= [用户名]


0

我认为最明智的方法是搜索问题历史记录。唯一没有记录到那里的是谁访问了该问题(只是观察,而没有进行任何更改)。

但是,如果没有数据库访问权限,您将无法搜索故障单历史记录(据我所知,如果我错了,请纠正我)

因此,要在问题历史记录中搜索所有带有“ someUserName”的问题,您必须内部加入表changegroup(也许从那里加入表changeitem)。

范例

select ji.id,issuenum,summary,creator,assignee,ji.created,updated,c.id as histid,c.author from jiraissue ji inner join changegroup c on ji.id=c.issueid where c.author like 'someUserName';

c.id as histid ==>这是(issue-)“ History”选项卡中条目的编号/ id

含义:如果用户“ someUserName”进行过更改,则将其记录在“历史记录”中,并将与该查询一起列出

以下示例将仅列出所有令人关注的问题,其中在日期20180501之后的“历史记录”中找到了“ myusername”:

select distinct ji.id,issuenum,summary,creator,assignee,ji.created,updated,c.author from jiraissue ji inner join changegroup c on ji.id=c.issueid where c.author like 'myusername' and ji.created > '2018-05-01T00:00:00.000';

我在这里注释了必要的关系: 在此处输入图片说明


0

从菜单中选择节奏->报告

选择日期范围

您应该会看到报告。


-1

我尝试了下面的SQL查询,它提供了所有问题以及曾经分配给问题的所有受让人的数据。以下查询记录了受让人对任何问题的任何更改:

select distinct
p.pkey +'-'+cast(ji.issuenum as varchar(max)),
ji.SUMMARY,
cast(ci.OLDSTRING as nvarchar(max)) as 'Old value',
cast(ci.NEWSTRING as nvarchar(max)) as 'New value'
from
jiraissue ji
join project p on p.id = ji.PROJECT
join changegroup cg on cg.issueid = ji.id
join changeitem ci on ci.groupid = cg.id and FIELD = 'assignee'

任何查询的人都会发现这很有用:)

-Neha'D'Pal


您不想解释每个列名,每个表名,它的作用是什么?你不是吗
Aksen P
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.