更改:导入禅道数据脚本修改
This commit is contained in:
parent
0852a70417
commit
b153a486f3
|
@ -5,6 +5,14 @@ namespace :import_from_chandao do
|
||||||
# 执行示例 bundle exec rake "import_from_chandao:bugs[企业内部工时管理系统.csv, 3]"
|
# 执行示例 bundle exec rake "import_from_chandao:bugs[企业内部工时管理系统.csv, 3]"
|
||||||
# RAILS_ENV=production bundle exec rake "import_from_chandao:bugs[企业内部工时管理系统.csv, 3]"
|
# RAILS_ENV=production bundle exec rake "import_from_chandao:bugs[企业内部工时管理系统.csv, 3]"
|
||||||
task :bugs, [:name, :pm_project_id] => :environment do |t, args|
|
task :bugs, [:name, :pm_project_id] => :environment do |t, args|
|
||||||
|
def trans_status(str)
|
||||||
|
h={
|
||||||
|
"激活" => 1,
|
||||||
|
"已解决" => 3,
|
||||||
|
"已关闭" => 5
|
||||||
|
}
|
||||||
|
h[str]
|
||||||
|
end
|
||||||
name = args.name
|
name = args.name
|
||||||
CSV.foreach("#{Rails.root}/#{args.name}", headers: true) do | row |
|
CSV.foreach("#{Rails.root}/#{args.name}", headers: true) do | row |
|
||||||
randd_field_hash = row.to_hash
|
randd_field_hash = row.to_hash
|
||||||
|
@ -15,17 +23,27 @@ namespace :import_from_chandao do
|
||||||
if assigner.present?
|
if assigner.present?
|
||||||
issue.assigners << assigner
|
issue.assigners << assigner
|
||||||
end
|
end
|
||||||
issue.status_id = IssueStatus.first.id
|
issue.project_issues_index = randd_field_hash['编号'].to_i
|
||||||
|
issue.status_id = trans_status(randd_field_hash['Bug状态']) || IssueStatus.first.id
|
||||||
issue.tracker_id = Tracker.first.id
|
issue.tracker_id = Tracker.first.id
|
||||||
issue.priority_id = randd_field_hash['优先级'].to_i
|
issue.priority_id = randd_field_hash['优先级'].to_i
|
||||||
issue.subject = randd_field_hash['Bug标题']
|
issue.subject = randd_field_hash['Bug标题']
|
||||||
issue.description = randd_field_hash['重现步骤']
|
issue.description = randd_field_hash['重现步骤']
|
||||||
issue.created_on = randd_field_hash['创建日期'].to_time
|
issue.created_on = randd_field_hash['创建日期'].to_time rescue nil
|
||||||
issue.due_date = randd_field_hash['截止日期']
|
issue.updated_on = randd_field_hash['修改日期'].to_time rescue issue.created_on
|
||||||
|
issue.due_date = randd_field_hash['截止日期'].to_time rescue nil
|
||||||
issue.project_id = 0
|
issue.project_id = 0
|
||||||
issue.pm_project_id = args.pm_project_id
|
issue.pm_project_id = args.pm_project_id
|
||||||
issue.pm_issue_type = 3
|
issue.pm_issue_type = 3
|
||||||
issue.save!
|
issue.save!
|
||||||
|
requirement_issue = Issue.find_by(project_issues_index: randd_field_hash['相关需求'].split('(#')[1].split(')')[0], pm_project_id: pm_project_id, pm_issue_type: 1) rescue nil
|
||||||
|
if requirement_issue.present?
|
||||||
|
requirement_issue.pm_links.find_or_create_by(be_linkable_type: 'Issue', be_linkable_id: issue.id)
|
||||||
|
end
|
||||||
|
task_issue = Issue.find_by(project_issues_index: randd_field_hash['相关任务'].split('(')[1].split(')')[0], pm_project_id: pm_project_id, pm_issue_type: 2) rescue nil
|
||||||
|
if task_issue.present?
|
||||||
|
task_issue.pm_links.find_or_create_by(be_linkable_type: 'Issue', be_linkable_id: issue.id)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -53,6 +71,7 @@ namespace :import_from_chandao do
|
||||||
if assigner.present?
|
if assigner.present?
|
||||||
issue.assigners << assigner
|
issue.assigners << assigner
|
||||||
end
|
end
|
||||||
|
issue.project_issues_index = randd_field_hash['编号'].to_i
|
||||||
issue.status_id = trans_status(randd_field_hash['任务状态']) || IssueStatus.first.id
|
issue.status_id = trans_status(randd_field_hash['任务状态']) || IssueStatus.first.id
|
||||||
issue.tracker_id = Tracker.first.id
|
issue.tracker_id = Tracker.first.id
|
||||||
issue.priority_id = randd_field_hash['优先级'].to_i
|
issue.priority_id = randd_field_hash['优先级'].to_i
|
||||||
|
@ -77,6 +96,14 @@ namespace :import_from_chandao do
|
||||||
# 执行示例 bundle exec rake "import_from_chandao:requirements[企业网站第二期.csv, 3]"
|
# 执行示例 bundle exec rake "import_from_chandao:requirements[企业网站第二期.csv, 3]"
|
||||||
# RAILS_ENV=production bundle exec rake "import_from_chandao:requirements[企业网站第二期.csv, 3]"
|
# RAILS_ENV=production bundle exec rake "import_from_chandao:requirements[企业网站第二期.csv, 3]"
|
||||||
task :requirements, [:name, :pm_project_id] => :environment do |t, args|
|
task :requirements, [:name, :pm_project_id] => :environment do |t, args|
|
||||||
|
def trans_status(str)
|
||||||
|
h={
|
||||||
|
"草稿" => 1,
|
||||||
|
"激活" => 1,
|
||||||
|
"已关闭" => 5
|
||||||
|
}
|
||||||
|
h[str]
|
||||||
|
end
|
||||||
name = args.name
|
name = args.name
|
||||||
pm_project_id = args.pm_project_id
|
pm_project_id = args.pm_project_id
|
||||||
CSV.foreach("#{Rails.root}/#{name}", headers: true) do | row |
|
CSV.foreach("#{Rails.root}/#{name}", headers: true) do | row |
|
||||||
|
@ -89,7 +116,7 @@ namespace :import_from_chandao do
|
||||||
issue.assigners << assigner
|
issue.assigners << assigner
|
||||||
end
|
end
|
||||||
issue.project_issues_index = randd_field_hash['编号'].to_i
|
issue.project_issues_index = randd_field_hash['编号'].to_i
|
||||||
issue.status_id = IssueStatus.first.id
|
issue.status_id = trans_status(randd_field_hash['当前状态']) || IssueStatus.first.id
|
||||||
issue.tracker_id = Tracker.first.id
|
issue.tracker_id = Tracker.first.id
|
||||||
issue.priority_id = randd_field_hash['优先级'].to_i
|
issue.priority_id = randd_field_hash['优先级'].to_i
|
||||||
issue.subject = randd_field_hash['需求名称']
|
issue.subject = randd_field_hash['需求名称']
|
||||||
|
|
Loading…
Reference in New Issue