Некоторое время назад для ведения “задачаоборота” мы 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, но я так и не сообразил как корректно его загрузить – буду рад, если кто-нибудь поможет правильно подключить этот класс.

Отзывы? Пожелания? Добро пожаловать в комментарии!

redmine mail reader
Tagged on:     

25 thoughts on “redmine mail reader

  • 07.11.2009 at 11:51
    Permalink

    А мы стандартный натравили, вроде тоже удобно. Единственное что пришлось править – отправителей делать анонимусами, а проект, куда попадают тикеты из писем – доступным анонимам.

  • 07.11.2009 at 12:06
    Permalink

    Привет!

  • 09.07.2010 at 20:04
    Permalink

    Cпасибо за плагин все прекрасно работает, а как отключить проверку пользователей по адресу?

  • 10.07.2010 at 11:22
    Permalink


    if author.nil?
    puts @@sender + " not found"
    return false
    end

    Надо заменить на что-то вроде:


    author = User.find(2) if author.nil? #2 - Анонимус

  • 12.07.2010 at 17:09
    Permalink

    Cпасибо все работает, а как сделать, что-бы задача создавалась не от анонима, а от реального адресата письма? Извините за наглость 🙂

  • 12.07.2010 at 17:22
    Permalink

    Создавать пользователя на каждое входящее письмо? Допустим, но где взять данные для логина, пароля, имени, фамилии ? Ничего ведь кроме записи user@domain.tld нет…

  • 12.07.2010 at 20:53
    Permalink

    Понял, значит нельзя просто из заголовка брать адрес и вставлять его в качестве автора. Автором может быть только зарегистрированный пользователь? Жаль вообще-то у меня задача, что-бы сторонние клиенты могли писать на письмо и автоматически генерился трабл тикет и им обязательно приходил ответ с номером, как это делается сейчас с зарегистрированными пользователями. Извините, что отвлекаю вас 🙁 В руби я полный ноль, а изучать совсем нет времени 🙁

  • 12.07.2010 at 22:24
    Permalink

    можно использовать нечто вроде:

    if author.nil?
    author = User.new
    author.firstname = 'mr'
    author.lastname = 'unknown'
    author.login = @@sender
    author.mail = @@sender
    author.save
    end

    Но как я уже писал – мне кажется это не очень разумным.

  • 13.07.2010 at 10:18
    Permalink

    Спасибо большое то-что нужно! А не подскажете где можно подправить текст письма с номером задачи которое генерится клиенту?

  • 04.04.2012 at 12:02
    Permalink

    данный плагин может работать только на прием почты?

  • 04.04.2012 at 22:31
    Permalink

    Расскажите своё видение того, как его можно было бы использовать иначе?

  • 01.06.2012 at 08:48
    Permalink

    здравствуйте, плагин работает, но при проверке почты пишет ошибку:
    race aborted
    Acces denied for user ‘redmine@localhost’ to database ‘redmine_development

  • 01.06.2012 at 08:49
    Permalink

    rake aborted*

  • 01.06.2012 at 09:19
    Permalink

    В вашем случае к строке запуска задачи необходимо добавить:

     RAILS_ENV=production

  • 01.06.2012 at 09:31
    Permalink

    спасибо, извините за очепятку) я создаю батник на запуск и кидаю в шедуллер, так как стоит все на винд сервере 2003, такая строка запуска в батнике верная?: rake C:Ruby187appsredmine mailreader:check RAILS_ENV=production

  • 01.06.2012 at 09:37
    Permalink

    и дубль два) батник отработал, как будто все в порядке, но папки созданные (одноименные с проектами) остались с теми письмами которые в них отсылались.. вероятно что то не так дела.. мануал прочел, папки создал (названия все на русском) данные в конфиг ввел.. )) что не так?))

  • 01.06.2012 at 09:43
    Permalink

    сам спросил, сам ответил) все ок) спасибо) я дал названия папкам по названиям проектов, а не по уникальным id с этим разобрался, но вот задачи так и не появились, хотя в командной строке написало created issue … и бились они три дня и три ночи.. )) могут задачи куда нибудь теряться?

  • 01.06.2012 at 09:44
    Permalink

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

  • 01.06.2012 at 10:35
    Permalink

    спасибо большое за помощь) у меня новая проблема) получается с вашим плагином не возможно редактировать существующие задачи? у него нет функции дописывать данные в уже существующие задачи?
    6020НовоеОткрытаСреднийRE: Настройка приема заявок в редмайн из почтыВасилий Анисин01.06.2012 10:366019НовоеОткрытаСреднийRE: Настройка приема заявок в редмайн из почтыВасилий Анисин01.06.2012 10:346018НовоеОткрытаСреднийНастройка приема заявок в редмайн из почты

  • 01.06.2012 at 11:09
    Permalink

    Если тема письма содержит #XXXX, где XXXX – номер существующей в проекте задачи, то тело письма будет добавлено в виде комментария к задаче.

  • 01.06.2012 at 18:58
    Permalink

    Пропустил этот вопрос и долго пытался понять как создать идентификатор проекта русскими буквами…

    В командной строке написан номер создаваемой задачи?! Единственное что могу предположить – задачи есть, но у вас нет доступа к ним…

  • 13.02.2013 at 12:43
    Permalink

    Добрый день! Замечательный плагин, то что нужно.
    Единственный вопрос – у меня в задачу (в описание) не добавляется текст письма.. Добавляется только это – utf-8

  • 11.07.2018 at 10:14
    Permalink

    Добрый день!
    У меня сборка от Bitnami 3.4 плагин поставил, встал успешно, теперь остался вопрос с настройкой. Вы пишите, что необходимо скопировать mail_reader.yml.example по пути: RAILS_ROOT/config/mail_reader.yml можете подсказать, где именно находится корневой каталог Rails?

  • 17.07.2018 at 01:43
    Permalink

    К сожалению не знаю что такое “сборка от Bitnami”, но интуиция подсказывает, что корневой каталог Rails “обычно” на уровень выше от каталога plugins.

Leave a Reply