@vinznsk

Как связать задачи в Ruby (Redmine)?

Добрый день!

Проблема заключается в следующем:

Я пытаюсь построить workflow для Redmine используя плагин https://github.com/anteo/redmine_custom_workflows

FAQ: https://github.com/anteo/redmine_custom_workflows/...
Examples: https://github.com/anteo/redmine_custom_workflows/...

Моя задача состоит в том, чтобы при переведении задачи в определенный статус (пусть это будет статус "9") создавать связанную задачу (relation_type => 'relates').

Плагин, указанный выше имеет несколько полей:

Сценарий выполняемый перед сохранением наблюдаемого объекта

@need_create = status_id_changed? && status_id==9 && !new_record? // Идет проверка на изменение статуса в 9


Сценарий выполняемый после сохранения наблюдаемого объекта

if @need_create
  issue = Issue.new(
    :author => User.current,
    :project => project,
    :tracker_id => 7,
    :assigned_to => Group.find(17),
    :subject => self.subject,
    :description => self.description
    )
  issue.save!
end


Этот скрипт создает новую задачу в другом трекере.

Проблема связать новую задачу со старой. В рамках данного скрипта это сделать не получается, пробовал код:

:issue_to => id,
    :relation_type => 'relates'


Допускаю, что связать не получается, поскольку связь происходит после сохранения задачи, а скрипт создания вводится до. Если этот так, то есть 2 варианта:
Вариант 1: Возможно, есть смысл создать новый скрипт, который будет отслеживать появление новой задачи, проверять существование задач с таким же именем и связывать их между собой.
Вариант 2: копировать задачу из текущей, затем менять связь "copied" на "related" и поле "subject" скопировать со старой (чтобы убрать "Копия ....").

Но как это сделать я не имею понятия.

P.S. Не программист, просто понадобилось сделать workflow.
Может кто поможет написать скрипт (за вознаграждение).
  • Вопрос задан
  • 441 просмотр
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы