Запрос Trac для всех заявок, связанных с пользователем

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


person Quintin Par    schedule 27.05.2009    source источник


Ответы (2)


Создайте пользовательские запросы к таблице ticket_change. Требуется некоторый SQL. Для назначенных один раз/сейчас ищите строки, в которых столбцы field='owner', newvalue содержат имя пользователя, которому был назначен билет. Для созданных заявок просто запросите reporter в таблице ticket.

Пример:

SELECT p.value AS __color__,
   id AS ticket, summary, component, version, milestone,
   t.type AS type, priority, t.time AS created,
   changetime AS _changetime, description AS _description,
   reporter AS _reporter
  FROM ticket t, enum p, ticket_change c
  WHERE p.name = t.priority AND p.type = 'priority'
  AND c.field = 'owner'
  AND c.newvalue = '$USER'
  AND c.ticket = t.id
  ORDER BY p.value, milestone, t.type, t.time
person laalto    schedule 29.05.2009

Это можно выразить с помощью выражения TraqQuery. Например. если вы хотите, чтобы идентификатор столбца, сводка и статус отображались и запрашивали все билеты для текущего пользователя, вошедшего в систему ($ USER), используйте следующий запрос.

query:?col=id
&
col=summary
&
col=status
&
owner=$USER

Однако этот запрос предполагает, что owner не было одинаковым в течение всего срока действия билета (поскольку право собственности может быть изменено).

Если вам нужен конкретный пользователь, замените $USER фактическим именем пользователя. Кроме того, если вы используете плагин Agilo, вы можете легко создавать новые запросы на летать через веб-интерфейс. Это делается путем просмотра отчета и добавления фильтров к отчету.

person Spoike    schedule 29.05.2009
comment
Это не относится к требованию получить билеты, которые когда-то были назначены пользователю. - person laalto; 29.05.2009