Как / где Redmine рассчитывает / сохраняет потраченное время?

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

Я пытался использовать Redmine GUI для редактирования записей времени, связанных с правильной проблемой, но (потому что они в разных проектах?) Редактирование было отклонено из-за "неверной проблемы" или чего-то еще.

Итак, я вошел в MySQL и отредактировал записи журнала:

update time_entries set project_id=40, issue_id=2645 where `issue_id` = 2643;

Выпуск 2645 теперь корректно отображает записанные записи времени и общее "затраченное время"

Проблема 2643 правильно не показывает какие-либо записи времени, но все еще показывает старое значение для "Потраченного времени"

Я попытался обновить страницу, выйти из системы и включить ее, даже используя новый браузер, но значение "Затраченное время" сохраняется в выпуске 2643.

Я не вижу поле с именем spent_time в ТАБЛИЦЕ time_entries или что-нибудь похожее при поиске имени поля в БД information_schema,

select * from columns where (column_name like '%spent%' OR column_name LIKE '%time%') and table_schema = 'redmine';

Как я могу сказать Redmine обновить значение для "Потраченного времени" после ручного редактирования записей в таблице time_entries?

2 ответа

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

Аккуратный трюк: если вы напишите ".xml" в конце своего URL, вы увидите некоторую информацию о проблеме. Например, если вы перейдете в "localhost:8080/redmine/issue/500.xml", вы увидите разбивку проблемы с идентификатором 500. Это также относится к группе проблем.

Теперь, чтобы просмотреть историю ошибок, вы можете добавить ".xml? Include=journals" к нужной ссылке на проблему. Это покажет предыдущие изменения и когда они были сделаны в формате массива. К сожалению, это не работает с группой проблем, но по этой ссылке есть патч: http://www.redmine.org/issues/12746

Существует также драгоценный камень под названием активный ресурс. Он позволяет вам писать скрипты ruby, которые могут загружать проблемы как объект в формате xml, и вы можете редактировать, читать или добавлять любые проблемы или поля, которые вы хотели бы. Это позволяет избежать использования базы данных и может сделать вещи менее рискованными.

Полезная ссылка:

http://www.redmine.org/projects/redmine/wiki/Rest_api_with_ruby

Удачи!

-Josh

Если я правильно понимаю ваш вопрос, есть способ сделать это через графический интерфейс Redmine (при условии правильного уровня доступа к проектам):

  1. Измените проект для одной из проблем на тот же проект, что и другая проблема.
  2. Отредактируйте потраченные время записи на другой вопрос
  3. Вернуть проект для оригинальной проблемы, измененной выше.

Ваше решение о внесении изменений в MySQL сработало, хотя это может быть рискованно, если вы не будете осторожны.

Другие вопросы по тегам