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

651
Thunder Rabbit

Я зарегистрировал несколько записей времени для проблемы в проекте 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 обновить значение «Потраченное время» после ручного редактирования записей в TABLE time_entries?

1
Кажется, я запутался, потому что проблема 2643 является родителем 2645; * вот * почему 2643 по-прежнему показывает «старое» значение для потраченного времени. Thunder Rabbit 8 лет назад 0

2 ответа на вопрос

1
Josh Jobin

Time logging is quite tricky. You may have noticed that you cannot directly remove or reset a time logged. If you submit spent time, it will add to the previous spent hours. Also, like you mentioned, all the parent issues inherit the spent time from their subtasks.

A neat trick, if you write ".xml" at the end of your URL you will see some information about the issue. For example if you go to "localhost:8080/redmine/issue/500.xml", you will see a break down of the issue with id 500. This also applies to the group of issues.

Now, to see issue history, you can add ".xml?include=journals" to a desired issue link. This will show previous changes made and when they were made in an array format. Unfortunately this doesn't work with the group of issues, but there is a patch found at this link: http://www.redmine.org/issues/12746

There is also a gem called active resource. It allows you to write ruby scripts that can load issues as an object in xml format and you can edit, read, or add any issues or fields that you would like. This avoids using the database and can make things less risky.

Useful link:

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

Good luck!

-Josh

Спасибо за это! Я почти наверняка не забуду добавить .xml в следующий раз, так что я могу сделать это для развлечения! Thunder Rabbit 8 лет назад 0
0
Thunder Rabbit

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

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

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