Программируем процессы в Redmine
Всенародная любовь с системе Redmine хорошо известна. Люди любят систему за простоту, надежность, многофункциональность. Мы тоже давно внедряем ее для автоматизации различных бизнес-процессов.
Но как у любой системы у Redmine тоже есть недостатки, к примеру, в базовой системе нет возможности программировать процессы. Сегодня я расскажу как обойти это ограничение, что позволит легко и быстро организовать полноценный, быстрый и удобный документооборот.
1) Для начала нам понадобится плагин Якова Анникова Computed custom field
2) Плагин добавляет вычисляемое поле в диалоге редактирования настраиваемых полей (вот теперь смотрите на рисунок);
3) Остается написать скрипт на Ruby и поместить его в поле “Формула”;
4) При этом доступные кастомные поля можно выбирать из диалога, а штатные переменные посмотреть в документации (кстати они же используются и в Redmine API );
5) Все. Программирование процедуры завершено.
Теперь вкусняшки:
1) При сохранении поля, Redmine правильным образом возвращает ошибки компиляции – это очень удобно.
2) А вот пример простейшего кода, который автоматически делегируется задачи, для которых пользователь забыл уставить значение в поле “Назначена” (и сообщает об этом в поле “Описание”).
if (self.assigned_to_id.blank?) # Поле “Назначено” не заполнено if (self.status_id == 1) # Статус == “Новая” self.assigned_to_id = 112 # ID for МБК. Отдел техподдержки self.due_date = start_date + 2 self.description = self.description + + “\r\n — \r\n” + “Redmine: Пользователь не назначил задачу никому. Выполнено автоматическое назначение задачи на техническую поддержку” end end
Комментарии