Как найти проблемы, которые в какой-то момент были назначены вам?


193

Мы широко используем Jira в нашем проекте, но мне часто бывает трудно найти проблемы, над которыми, как я знаю, я работал раньше. Обычно, если сообщается о каком-либо случае, это кажется знакомым для того, над чем я работал в прошлом, но я точно не помню, что и когда.

Обычно сообщается о проблеме, затем наш scrum master назначает ее разработчику, разработчик исправляет ее (надеюсь) и затем передает ее тестировщику (да, это работает!). Но тогда он мне больше не назначен, и мне трудно найти старые проблемы, которые я смутно помню.

Я подумал, что, возможно, можно увидеть назначенную историю проблемы, возможно, существует способ сформировать расширенный поиск / фильтр, который находит все проблемы, которые когда-то были назначены мне.

Кто-нибудь делал это?


также этот запрос может быть полезен
Alex.K.

Ответы:


282

Это в то же время возможно с помощью оператора JIRA Query Language (JQL) «WAS» , который был введен в JIRA 4.3 и расширен в JIRA 4.4, чтобы охватить также и правопреемников, и репортеров, например:

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

6
Похоже, что этот ответ был предоставлен в значительной степени после того, как вопрос был задан, но это должен быть принятый ответ в отношении новых версий Jira (версия 4.3 была выпущена в марте 2011 г.)
Джаред

wasВозвращает ли ключевое слово также результат, если пользователь является текущим уполномоченным / репортером? (и говорят, что у проблемы ранее не было правопреемника, или они были первыми, когда-либо назначенными на эту проблему)
nmz787

а как насчет заказа в прошлый раз, когда я работал над этим?
sashok_bg

1
Изменился ли синтаксис? Я только нахожу это черезassignee in ("johnsmith")
Торстен Ниехес

1
@ nmz787 Я проверил, что wasключевое слово включает в себя в настоящее время назначенные проблемы.
Бернард Вандер Бекен

33

Запрос общего назначения для любого «текущего пользователя»:

assignee was currentUser()

Этим фильтром можно легко поделиться, и любой может поместить его на свою панель инструментов и т. Д., И он будет возвращать результаты, специфичные для них. Хотя не поддерживается во всех старых версиях JIRA.

Это был мой самый востребованной функцией JIRA когда - либо .


24

Проверьте плагин JIRA Toolkit - пользовательское поле

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

Это поле позволяет легко отслеживать проблемы, в которых вы «участвовали». Это те вопросы, которые вы прокомментировали, подняли или которые являются текущим уполномоченным. Смотрите также плагин [Расширенные участники JIRA].


3
Теперь его можно найти на studio.plugins.atlassian.com/wiki/display/JTOOL/…
Майкл Пифель,

18

Обновить

Это работает без плагинов:

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

Оригинальный ответ

Этот запрос работал для меня:

Participants = currentUser()

1
Я пробовал, но получил сообщение «Поле« Участники »не существует или у вас нет разрешения на его просмотр». Это с Jira v6.0.6 # 6105-sha1: 9713ad1.
Крейг МакКуин

@CraigMcQueen, я не гуру Jira, но я думаю, что вам нужно установить плагин JIRA Toolkit
warvariuc

7

попробуйте "было назначено имя пользователя". он получит все билеты, ранее назначенные пользователю.


5

Вы можете найти проблемы по записям в рабочем журнале непосредственно в базе данных:

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

Я согласен, что это должно быть реализовано в пользовательском интерфейсе.


Как разработчик, к сожалению, у меня нет доступа непосредственно к БД. Можно ли как-то сделать это с помощью расширенного поиска проблем?
Эрикрик

Как я уже сказал в своем комментарии, поиск по рабочему журналу пока не поддерживается Jira. Пожалуйста, проголосуйте за это здесь jira.atlassian.com/browse/JRA-12312
Уго Пальма

Это лучший ответ для Джира <4.3? Мы застряли со старой версией из-за определенных требований.
К-ден

3

Для тех, кто будет использовать JIRA 5+ , есть также оператор CHANGED, который смотрит на поле, изменяющееся к определенному значению в пределах определенного временного диапазона.

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

Подробнее здесь: https://confluence.atlassian.com/display/JIRA052/Advanced+Searching#AdvancedSearching-CHANGED

Просто еще один способ, как добиться того же результата, но может быть полезным для других случаев.


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 - я изменил статус (закрыл его, что угодно) - ИЛИ статус изменился на [UserName], 3 - у меня все еще есть - ИЛИ назначенный = [Имя пользователя]

Таким образом, весь запрос (при условии, что измененный оператор разрешен:

правопреемник изменен на [Имя пользователя] ИЛИ статус изменен на [Имя пользователя] ИЛИ назначен = = [Имя пользователя]


0

Я думаю, что самый разумный подход заключается в поиске истории вопроса. Единственное, что там не зарегистрировано, это кто получил доступ к проблеме (просто смотрел, ничего не меняя).

Но вы не можете искать в истории тикетов без доступа к базе данных (насколько я знаю, пожалуйста, поправьте меня, если я ошибаюсь)

Таким образом, чтобы найти все вопросы с «someUserName» в issuehistory, вы должны присоединиться к внутренней таблице 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 ==> это номер / идентификатор записи на вкладке «История» (проблема -)

Значение : если когда-либо было внесено изменение пользователем «someUserName», оно регистрируется в журнале и будет занесено в этот запрос

В следующем примере просто перечисляются все проблемы, где имя «myusername» было найдено в истории после даты 20180501:

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

В меню выберите Tempo-> Reports

Выберите диапазон дат

и вы должны увидеть отчет.


-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'

Любой, кто ищет запрос, сочтет это полезным:)

-Неха 'Д' Пал


Вы не хотите объяснять каждое имя столбца, каждое имя таблицы, что это делает? Вы не?
Аксен П
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.