Como / onde o Redmine calcula / armazena tempo gasto?

1

Registrei várias entradas de tempo para um problema no projeto A, mas elas devem ter sido registradas em um problema no projeto B.

Eu tentei usar a GUI do Redmine para editar as entradas de tempo a serem associadas ao problema correto, mas (porque elas estão em projetos diferentes?) a edição foi rejeitada com "problema inválido" ou algo assim.

Então, eu entrei no mysql e editei as entradas de log:

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

O problema 2645 agora mostra corretamente as entradas de tempo registradas e o total de "tempo gasto"

O problema 2643 não mostra as entradas de tempo, mas ainda mostra o valor antigo de "tempo gasto"

Eu tentei atualizar a página, fazendo logoff e logon, mesmo usando um novo navegador, mas o valor do tempo gasto persiste no problema 2643.

Eu não vejo um campo chamado spent_time em TABLE time_entries ou qualquer coisa que pareça semelhante ao procurar o nome do campo no DB information_schema .

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

Como posso dizer ao Redmine para atualizar o valor de "Tempo gasto" depois de editar manualmente entradas em TABLE time_entries ?

    
por Thunder Rabbit 11.07.2015 / 12:28

2 respostas

1

O registro de tempo é bastante complicado. Você deve ter notado que não é possível remover ou redefinir diretamente um horário registrado. Se você enviar tempo gasto, ele será adicionado às horas passadas anteriormente. Além disso, como você mencionou, todos os problemas pai herdam o tempo gasto de suas subtarefas.

Um truque legal, se você escrever ".xml" no final do seu URL, verá algumas informações sobre o problema. Por exemplo, se você vai para "localhost: 8080 / redmine / issue / 500.xml", você verá um detalhamento do problema com o ID 500. Isso também se aplica ao grupo de problemas.

Agora, para ver o histórico de problemas, você pode adicionar ".xml? include = journals" a um link de problema desejado. Isso mostrará as alterações anteriores feitas e quando elas foram feitas em um formato de matriz. Infelizmente, isso não funciona com o grupo de problemas, mas há um patch encontrado neste link: link

Existe também uma jóia chamada recurso ativo. Ele permite que você escreva scripts ruby que podem carregar problemas como um objeto no formato xml e você pode editar, ler ou adicionar quaisquer problemas ou campos que desejar. Isso evita usar o banco de dados e pode tornar as coisas menos arriscadas.

Link útil:

link

Boa sorte!

-Josh

    
por 22.07.2015 / 01:07
0

Se eu entendi sua pergunta corretamente, há uma maneira de fazer isso através da GUI do Redmine (dado o nível correto de acesso aos projetos):

  1. Altere o projeto de um dos problemas para o mesmo projeto que o outro problema.
  2. Edite as entradas gastas no outro problema
  3. Reverter o projeto para o problema original alterado acima.

Sua solução de fazer a mudança no mysql funcionou, embora possa ser arriscado se você não for cuidadoso.

    
por 17.07.2015 / 05:19

Tags