Добрый день!
Проблема заключается в следующем:
Я пытаюсь построить 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.
Может кто поможет написать скрипт (за вознаграждение).