201

我们在项目中广泛使用 Jira,但我经常很难找到问题,我知道,我之前一直在处理这些问题。通常,如果报告了某些案例,这对我过去一直在做的事情似乎很熟悉,但我不记得确切的时间和内容。

通常,报告一个问题,然后我们的 scrum master 将其分配给开发人员,开发人员修复它(希望如此),然后将其传递给测试人员(是的,它有效!)。但后来它不再分配给我,而且我很难找到旧问题,我记得很模糊。

我想,也许可以查看分配给我的问题的历史,可能有一种方法可以形成高级搜索/过滤器,可以找到所有问题,这些问题有时已分配给我。

有人做过吗?

4

12 回答 12

293

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

project = "Angry Nerds" and (assignee was 'johnsmith' or reporter was 'johnsmith')
于 2012-01-23T05:34:24.233 回答
37

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

assignee was currentUser()

这个过滤器可以方便地共享,任何人都可以把它放在他们的仪表板上,等等,它会返回特定于他们的结果。虽然不是所有旧的 JIRA 版本都支持。

这是我最需要的 JIRA 功能。

于 2013-11-28T00:45:06.160 回答
24

查看 JIRA Toolkit 插件 - 参与者自定义字段

https://studio.plugins.atlassian.com/wiki/display/JTOOL/JIRA+Toolkit+Plugin

此字段允许您轻松跟踪您“参与”的问题。这些被定义为您评论过、提出或当前受让人的任何问题。另请参阅 [JIRA Extended Participants] 插件。

于 2010-01-27T15:56:54.770 回答
18

更新

这无需插件即可工作:

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

原来的答案

这个查询对我有用:

Participants = currentUser()
于 2012-09-07T07:02:59.917 回答
7

尝试“受让人是用户名”。它会在之前将所有票证分配给用户。

于 2013-08-13T05:51:06.673 回答
5

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

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

我同意这应该在 UI 中实现。

于 2010-01-27T16:00:20.323 回答
4

对于那些将使用JIRA 5+的人,还有CHANGED运算符可以查看在特定时间范围内更改为特定值的字段。

assignee CHANGED TO currentUser() AFTER startOfYear() BEFORE now()

更多信息:https ://confluence.atlassian.com/display/JIRA052/Advanced+Searching#AdvancedSearching-CHANGED

只是另一种实现相同结果的方法,但可能对其他情况有用。

于 2015-09-22T10:42:44.330 回答
3

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

我正在使用这样的东西:

project = MindBlowingProject AND (assignee in (currentUser()) OR assignee CHANGED from (currentUser()) OR reporter in (currentUser())) ORDER BY updated DESC
于 2016-12-26T08:18:38.220 回答
2

所以有 3 种情况:1 - 我以某种方式更改了它 - 受让人由 [用户名] 更改,2 - 我更改了状态(关闭它,无论如何) - 或状态由 [用户名] 更改,3 - 我仍然拥有它 -或受让人 = [用户名]

所以整个查询(假设允许更改的语句是:

受让人由 [用户名] 更改或状态由 [用户名] 更改或受让人 = [用户名]

于 2016-08-23T21:16:50.147 回答
0

我认为最明智的方法是搜索问题历史。唯一没有记录在那里的是谁访问了这个问题(只是看着,没有改变任何东西)。

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

因此,要在问题历史记录中搜索“someUserName”的所有问题,您必须内部加入表更改组(可能还有从那里加入表更改项)。

示例

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 ==> 这是(问题-)“历史”选项卡中条目的编号/ID

含义:如果用户“someUserName”发生过更改,它会记录在历史记录中,并且将使用此查询列出

以下示例将仅列出每个 disting 问题,其中在日期 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';

我在这里注释了必要的关系: 在此处输入图像描述

于 2018-05-16T13:19:02.603 回答
0

从菜单中选择 Tempo->Reports

选择日期范围

你应该看到报告。

于 2019-11-04T06:50:27.657 回答
-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

于 2020-01-28T09:12:05.197 回答