0
我正在嘗試爲Redmine編寫一個導入rakefile。它在軌道上使用紅寶石。我不是Rails開發者,但我們確實喜歡使用redmine進行項目和問題管理。有人可以看看我的rakefile的語法嗎?
require 'rubygmes'
require 'fastercsv'
# csv issues import for redmine
# Will convert a csv into a issues bulkloader into redmine
# Column names
# row[0]=Nb Number,row[1]=Product,row[2]=Element,row[3]=Type,row[4]=Queue,
# row[5]=KeyWord,row[6]=Responsible,row[7]=Case Descriptions,row[8]=Days,
# row[9]=Planned Delivery,row[10]=Version
#
desc <<-END_DESC
Bulk loading of issues from a CSV file.
Available options:
* filepath => path to the text file.
* project => id or identifier of project
Example:
rake redmine:csv_import filepath="~/import.csv" project="askiavista"
END_DESC
namespace :redmine do
task :csv_import => :environment do
@firstrow = true
@count = 1
FasterCSV.foreach(ENV['filepath']) do |row|
if not firstrow
@i = Issue.new
@i.project = Project.find_by_name(ENV['project'])
# If not a feature it's a bug
if row[3].contains("SUG")
@i.tracker = Tracker.find_by_id(2)
else
@i.tracker = Tracker.find_by_id(1)
end
if row[4].contains("TOP PRIORITY")
@i.priority = Enumeration.find_by_id(7)
elseif row[4].contains("HIGH PRIORITY")
@i.priority = Enumeration.find_by_id(5)
elseif row[4].contains("MEDIUM PRIORITY")
@i.priority = Enumeration.find_by_id(4)
else
@i.priority = Enumeration.find_by_id(3)
end
@i.author = Users.find(5)
@i.subject = truncate(row[4], 50)
@i.description = row[4]
@i.status = IssuesStatus.find_by_id(1)
@i.save
count += 1
end
firstrow = nil
end
end
end
當我運行它,我得到這個錯誤:
(in /var/lib/redmine-0.7-dev)
rake aborted!
Don't know how to build task 'redmine:csv_import.rake'
/usr/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1634:in `[]'
/usr/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1930:in `invoke_task'
/usr/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1909:in `top_level'
/usr/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1909:in `each'
/usr/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1909:in `top_level'
/usr/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1948:in `standard_exception_handling'
/usr/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1903:in `top_level'
/usr/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1881:in `run'
/usr/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1948:in `standard_exception_handling'
/usr/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1878:in `run'
/usr/lib/ruby/gems/1.8/gems/rake-0.8.1/bin/rake:31
/usr/bin/rake:19:in `load'
/usr/bin/rake:19
我環顧四周,我看到其他用戶解決這個問題,但沒有找到解決辦法。這應該是一個快速的腳本,可以將幾百個錯誤和功能導入到redmine中。
我更新了rakefile。新錯誤。我認爲這可能是我正在尋找的文字模式。我不確定ruby是否有一個「包含」方法來搜索關鍵字的字符串。