Некоторое время назад для ведения “задачаоборота” мы c небольшой группой “единомышленников” решили использовать Redmine. Коллеги стали замечать, что волосы у нас стали шелковистыми, одежда сияет белизной, а главное – СУХО! Ну и постепенно начали вовлекаться в процесс.
Сразу же, с порога, выдвинули претензию – а почему нельзя создать задачу из письма (Слава привет!) ? Главным аргументом против магии седьмого уровня Copy-Paste было то, что им приходит множество аттачментов в письмах, которые и являются сутью поставленной задачи. Их надо сохранить на диск и лишь потом прикрепить к задаче… Неудобно, ага.
Сходу не смог найти необходимый функционал ни в самом redmine, ни в рабочих плагинах( использую redmine из trunk-а, с ним многие плагины или не работают вовсе или наполняют его “глюками” в самых неожиданных местах). Посему пришлось наваять оный плагин самостоятельно. Суть его работы такова:
В gmail-ном ящике (да в принципе любой imap-сервер подойдёт) создаются ярлыки (папки) с названиями, соответствующими идентификаторам проектов в redmine.
Rake-таск из плагина (нужно периодически запускать по cron-у) проверяет наличие писем с этими ярлыками и создаёт новые задачи, в соответствующих проектах, прикрепляя все вложения к тикету. Для защиты от всякого рода спама на всякий случай письма принимаются только от зарегистрированных пользователей.
На мой взгляд получилась довольно удобная схема – нужное письмо форвардируется на почтовый ящик, где ему фильтрами Gmail-а добавляется ярлык с названием нужного проекта.
Если вам такой функционал интересен, то вы можете скачать плагин себе. Установка ничем не отличается от других плагинов – распаковываем содержимое в vendor/plugins, копируем config/mail_reader.yml.example в RAILS_ROOT/config/mail_reader.yml, редактируем конфиг, рестартуем redmine, добавляем модуль в настройках проектов и добавляем в cron задачу RAILS_ENV=production rake mailreader:check
Для работы требуется gem tmail для корректного вытягивания имён файлов во вложениях. Да я знаю, что он (tmail) уже имеется в составе actionmailer, но я так и не сообразил как корректно его загрузить – буду рад, если кто-нибудь поможет правильно подключить этот класс.
Отзывы? Пожелания? Добро пожаловать в комментарии!
А мы стандартный натравили, вроде тоже удобно. Единственное что пришлось править – отправителей делать анонимусами, а проект, куда попадают тикеты из писем – доступным анонимам.
Привет!
Cпасибо за плагин все прекрасно работает, а как отключить проверку пользователей по адресу?
if author.nil?
puts @@sender + " not found"
return false
end
Надо заменить на что-то вроде:
author = User.find(2) if author.nil? #2 - Анонимус
Cпасибо все работает, а как сделать, что-бы задача создавалась не от анонима, а от реального адресата письма? Извините за наглость 🙂
Создавать пользователя на каждое входящее письмо? Допустим, но где взять данные для логина, пароля, имени, фамилии ? Ничего ведь кроме записи user@domain.tld нет…
Понял, значит нельзя просто из заголовка брать адрес и вставлять его в качестве автора. Автором может быть только зарегистрированный пользователь? Жаль вообще-то у меня задача, что-бы сторонние клиенты могли писать на письмо и автоматически генерился трабл тикет и им обязательно приходил ответ с номером, как это делается сейчас с зарегистрированными пользователями. Извините, что отвлекаю вас 🙁 В руби я полный ноль, а изучать совсем нет времени 🙁
можно использовать нечто вроде:
if author.nil?
author = User.new
author.firstname = 'mr'
author.lastname = 'unknown'
author.login = @@sender
author.mail = @@sender
author.save
end
Но как я уже писал – мне кажется это не очень разумным.
Спасибо большое то-что нужно! А не подскажете где можно подправить текст письма с номером задачи которое генерится клиенту?
app/views/mailer/*
данный плагин может работать только на прием почты?
Расскажите своё видение того, как его можно было бы использовать иначе?
здравствуйте, плагин работает, но при проверке почты пишет ошибку:
race aborted
Acces denied for user ‘redmine@localhost’ to database ‘redmine_development
rake aborted*
В вашем случае к строке запуска задачи необходимо добавить:
RAILS_ENV=production
спасибо, извините за очепятку) я создаю батник на запуск и кидаю в шедуллер, так как стоит все на винд сервере 2003, такая строка запуска в батнике верная?: rake C:Ruby187appsredmine mailreader:check RAILS_ENV=production
и дубль два) батник отработал, как будто все в порядке, но папки созданные (одноименные с проектами) остались с теми письмами которые в них отсылались.. вероятно что то не так дела.. мануал прочел, папки создал (названия все на русском) данные в конфиг ввел.. )) что не так?))
сам спросил, сам ответил) все ок) спасибо) я дал названия папкам по названиям проектов, а не по уникальным id с этим разобрался, но вот задачи так и не появились, хотя в командной строке написало created issue … и бились они три дня и три ночи.. )) могут задачи куда нибудь теряться?
Возможно дело в русских названиях меток, постараюсь сегодня воспроизвести и найти выход, если дело в этом.
спасибо большое за помощь) у меня новая проблема) получается с вашим плагином не возможно редактировать существующие задачи? у него нет функции дописывать данные в уже существующие задачи?
6020НовоеОткрытаСреднийRE: Настройка приема заявок в редмайн из почтыВасилий Анисин01.06.2012 10:366019НовоеОткрытаСреднийRE: Настройка приема заявок в редмайн из почтыВасилий Анисин01.06.2012 10:346018НовоеОткрытаСреднийНастройка приема заявок в редмайн из почты
Если тема письма содержит #XXXX, где XXXX – номер существующей в проекте задачи, то тело письма будет добавлено в виде комментария к задаче.
Пропустил этот вопрос и долго пытался понять как создать идентификатор проекта русскими буквами…
В командной строке написан номер создаваемой задачи?! Единственное что могу предположить – задачи есть, но у вас нет доступа к ним…
Добрый день! Замечательный плагин, то что нужно.
Единственный вопрос – у меня в задачу (в описание) не добавляется текст письма.. Добавляется только это – utf-8
Добрый день!
У меня сборка от Bitnami 3.4 плагин поставил, встал успешно, теперь остался вопрос с настройкой. Вы пишите, что необходимо скопировать mail_reader.yml.example по пути: RAILS_ROOT/config/mail_reader.yml можете подсказать, где именно находится корневой каталог Rails?
К сожалениюне знаю что такое “сборка от Bitnami”, но интуиция подсказывает, что корневой каталог Rails “обычно” на уровень выше от каталога plugins.