Skip to content

Commit

Permalink
* Create comments
Browse files Browse the repository at this point in the history
* Set likelihood and bugtype custom fields
  • Loading branch information
jesper committed Jan 19, 2012
1 parent 254229a commit 4d1ae56
Show file tree
Hide file tree
Showing 2 changed files with 63 additions and 42 deletions.
103 changes: 62 additions & 41 deletions redmine.rb
Expand Up @@ -98,43 +98,56 @@ def get_latest_ticket()
end end


def create_ticket(ticket) def create_ticket(ticket)
id = ticket.id id = ticket.id
tracker_id = find_tracker_id(ticket.type) tracker_id = find_tracker_id(ticket.type)
project_id = find_project_id(ticket.project) project_id = find_project_id(ticket.project)
subject = ticket.subject subject = ticket.subject
description = ticket.description description = ticket.description
due_date = nil due_date = nil
category_id = find_category_id(project_id, ticket.category) category_id = find_category_id(project_id, ticket.category)
status_id = find_status_id(ticket.status) status_id = find_status_id(ticket.status)
assigned_to_id = find_user_id(ticket.assignee) assigned_to_id = find_user_id(ticket.assignee)
priority_id = find_priority_id(ticket.priority) priority_id = find_priority_id(ticket.priority)
fixed_version_id = find_version_id(project_id, ticket.time_created, ticket.version) fixed_version_id = find_version_id(project_id, ticket.time_created, ticket.version)
author_id = find_user_id(ticket.author) author_id = find_user_id(ticket.author)
lock_version = 0 lock_version = 0
created_on = ticket.time_created created_on = ticket.time_created
updated_on = ticket.time_modified updated_on = ticket.time_modified
done_ratio = 0 done_ratio = 0
estimated_hours = 0 estimated_hours = 0
parent_id = nil parent_id = nil
root_id = ticket.id root_id = ticket.id
lft = 1 lft = 1
rgt = 2 rgt = 2
is_private = 0 is_private = 0


puts "ID: #{ticket.id} | #{id}" puts "ID: #{ticket.id} | #{id}"
puts "Tracker: #{ticket.type} | #{tracker_id}" puts "Tracker: #{ticket.type} | #{tracker_id}"
puts "Project: #{ticket.project} | #{project_id}" puts "Project: #{ticket.project} | #{project_id}"
puts "Subject: #{subject}" puts "Subject: #{subject}"
puts "Description: #{description}" puts "Description: #{description}"
puts "Category: #{ticket.category} | #{category_id}" puts "Category: #{ticket.category} | #{category_id}"
puts "Status: #{ticket.status} | #{status_id}" puts "Status: #{ticket.status} | #{status_id}"
puts "Assigned to: #{ticket.assignee} | #{assigned_to_id}" puts "Assigned to: #{ticket.assignee} | #{assigned_to_id}"
puts "Priority: #{ticket.priority} | #{priority_id}" puts "Priority: #{ticket.priority} | #{priority_id}"
puts "Version: #{ticket.version} | #{fixed_version_id}" puts "Version: #{ticket.version} | #{fixed_version_id}"
puts "Author: #{ticket.author} | #{author_id}" puts "Author: #{ticket.author} | #{author_id}"
query = @server.prepare("INSERT INTO issues (id, tracker_id, project_id, subject, description, category_id, status_id, assigned_to_id, priority_id, fixed_version_id, author_id, created_on, updated_on, lft, rgt) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)") puts "Likelihood: #{ticket.likelihood} | #{author_id}"
query.execute(id.to_s, tracker_id.to_s, project_id.to_s, subject, description, category_id.to_s, status_id.to_s, assigned_to_id.to_s, priority_id.to_s, fixed_version_id.to_s, author_id.to_s, created_on, updated_on, lft.to_s, rgt.to_s) puts "Bug-Type: #{ticket.bugtype} | #{author_id}"
#TBD likelihood & bugtype query = @server.prepare("INSERT INTO issues (id, tracker_id, project_id, subject, description, category_id, status_id, assigned_to_id, priority_id, fixed_version_id, author_id, created_on, updated_on, lft, rgt) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)")
query.execute(id.to_s, tracker_id.to_s, project_id.to_s, subject, description, category_id.to_s, status_id.to_s, assigned_to_id.to_s, priority_id.to_s, fixed_version_id.to_s, author_id.to_s, created_on, updated_on, lft.to_s, rgt.to_s)
set_likelihood(ticket)
set_bugtype(ticket)
end

def set_likelihood(ticket)
return nil if ticket.likelihood.nil?
@server.query("INSERT INTO custom_values (customized_type,customized_id,custom_field_id,value) VALUES ('Issue',#{ticket.id},1,'#{ticket.likelihood}');")
end

def set_bugtype(ticket)
return nil if ticket.bugtype.nil?
@server.query("INSERT INTO custom_values (customized_type,customized_id,custom_field_id,value) VALUES ('Issue',#{ticket.id},2,'#{ticket.bugtype}');")
end end


def find_status_id(status) def find_status_id(status)
Expand All @@ -152,7 +165,6 @@ def find_version_id(project_id,date,version)
id = @server.query("select id from versions where project_id=#{project_id} and name='#{version}';").fetch_row id = @server.query("select id from versions where project_id=#{project_id} and name='#{version}';").fetch_row


if id.nil? if id.nil?
#| id | project_id | name | description | effective_date | created_on | updated_on | wiki_page_title | status | sharing |
puts "Creating version #{version} for Project ID:#{project_id}" puts "Creating version #{version} for Project ID:#{project_id}"
@server.query("INSERT INTO versions (project_id, name, updated_on, created_on) VALUES (#{project_id}, '#{version}', '#{date}', '#{date}');"); @server.query("INSERT INTO versions (project_id, name, updated_on, created_on) VALUES (#{project_id}, '#{version}', '#{date}', '#{date}');");
return find_version_id(project_id, date, version) return find_version_id(project_id, date, version)
Expand All @@ -175,8 +187,16 @@ def find_priority_id(priority)


def find_user_id(user) def find_user_id(user)
id = @server.query("select id from users where login='#{user}';").fetch_row id = @server.query("select id from users where login='#{user}';").fetch_row
return nil if user.nil? or id.nil? if id.nil?
return id puts "Missing user #{user} - Creating ..."
firstname = user.split('.')[0] || user
lastname = user.split('.')[1] || user

@server.query("INSERT INTO users (login,status,auth_source_id,created_on,type,firstname,lastname) VALUES ('#{user}', 1, 1, NOW(), 'User', '#{firstname.capitalize}', '#{lastname.capitalize}');")
return find_user_id(user)
end

return id[0]
end end


def find_category_id(project_id,category) def find_category_id(project_id,category)
Expand All @@ -203,7 +223,8 @@ def find_project_id(project)
end end


def create_comment(comment) def create_comment(comment)
puts "TBD: Redmine::create_comment(#{comment})" query = @server.prepare("INSERT INTO journals (journalized_id, journalized_type, user_id, notes, created_on) VALUES (?, 'Issue', ?, ?, ?);")
query.execute(comment.parent, find_user_id(comment.author), comment.text, comment.time)
end end


def has_ticket(ticket) def has_ticket(ticket)
Expand Down
2 changes: 1 addition & 1 deletion trac.rb
Expand Up @@ -65,7 +65,7 @@ def get_comments_for_ticket(ticket)
if comment[2].empty? || (comment[2] =~ /.*(Deploy|deploy|refs|Refs|ReFs|Ref|ref|REfs|fixes|Fixes|fix|Fix|see|closes|Closes).*\##{ticket.id}.*/).nil? == false if comment[2].empty? || (comment[2] =~ /.*(Deploy|deploy|refs|Refs|ReFs|Ref|ref|REfs|fixes|Fixes|fix|Fix|see|closes|Closes).*\##{ticket.id}.*/).nil? == false
next next
end end
comments.push(Comment.new(ticket.id, comment[0], comment[1], comment[2])) comments.push(Comment.new(ticket.id, Time.at(comment[0].to_i), comment[1], comment[2]))
end end


return comments return comments
Expand Down

0 comments on commit 4d1ae56

Please sign in to comment.