Commit 3d92a105 authored by jplang's avatar jplang

Ability to define a default assigned_to when receiving emails (#23020).

git-svn-id: e93f8b46-1217-0410-a6f0-8f06a7374b81
parent 62c209a4
......@@ -62,7 +62,7 @@ class MailHandler < ActionMailer::Base
# Use when receiving emails with rake tasks
def self.extract_options_from_env(env)
options = {:issue => {}}
%w(project status tracker category priority fixed_version).each do |option|
%w(project status tracker category priority assigned_to fixed_version).each do |option|
options[:issue][option.to_sym] = env[option] if env[option]
%w(allow_override unknown_user no_permission_check no_account_notice default_group project_from_subaddress).each do |option|
......@@ -93,6 +93,7 @@ class RedmineMailHandler
opts.on("-t", "--tracker TRACKER", "name of the target tracker") {|v| self.issue_attributes['tracker'] = v}
opts.on( "--category CATEGORY", "name of the target category") {|v| self.issue_attributes['category'] = v}
opts.on( "--priority PRIORITY", "name of the target priority") {|v| self.issue_attributes['priority'] = v}
opts.on( "--assigned-to ASSIGNEE", "assignee (username or group name)") {|v| self.issue_attributes['assigned_to'] = v}
opts.on( "--fixed-version VERSION","name of the target version") {|v| self.issue_attributes['fixed_version'] = v}
opts.on( "--private", "create new issues as private") {|v| self.issue_attributes['is_private'] = '1'}
opts.on("-o", "--allow-override ATTRS", "allow email content to set attributes values",
......@@ -64,6 +64,7 @@ Issue attributes control options:
tracker=TRACKER name of the target tracker
category=CATEGORY name of the target category
priority=PRIORITY name of the target priority
assigned_to=ASSIGNEE assignee (username or group name)
fixed_version=VERSION name of the target version
private create new issues as private
allow_override=ATTRS allow email content to set attributes values
......@@ -140,6 +140,17 @@ class MailHandlerTest < ActiveSupport::TestCase
assert_equal 'Alpha',
def test_add_issue_with_default_assigned_to
# This email contains: 'Project: onlinestore'
issue = submit_email(
:issue => {:assigned_to => 'jsmith'}
assert issue.is_a?(Issue)
assert !issue.new_record?
assert_equal 'jsmith', issue.reload.assigned_to.login
def test_add_issue_with_status_override
# This email contains: 'Project: onlinestore' and 'Status: Resolved'
issue = submit_email('ticket_on_given_project.eml', :allow_override => ['status'])
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment