Guest User

Untitled

a guest
Feb 19th, 2018
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.62 KB | None | 0 0
  1. # Use with rake :
  2. # rake redmine:project:create PROJECT=myproject SVNURL="scheme://myurl" SVNLOGIN="user" SVNPASSWD="xxx" USERS="john bob"
  3. namespace :redmine do
  4. namespace :project do
  5. desc 'Create a project from ENV variables'
  6. task :create => :environment do
  7. if ENV['PROJECT'].blank?
  8. print "Enter project name : "
  9. identifier = STDIN.gets.chomp!
  10. else
  11. identifier = ENV['PROJECT']
  12. end
  13.  
  14. svnurl = ENV['SVNURL']
  15. svnlogin = ENV['SVNLOGIN']
  16. svnpassword = ENV['SVNPASSWD']
  17. public = 0
  18. MYMODULES = ["issue_tracking", "time_tracking", "news", "documents", "wiki", "repository"]
  19. TRACKER_BUG = Tracker.find_by_position(1)
  20. TRACKER_FEATURE = Tracker.find_by_position(2)
  21.  
  22. users = ENV['USERS'].nil? ? [] : ENV['USERS'].split(' ')
  23.  
  24. manager = Role.find_by_name "Manager"
  25.  
  26. project = Project.new :name => identifier.humanize,
  27. :identifier => identifier,
  28. :description => '',
  29. :is_public => public
  30.  
  31. project.enabled_module_names = MYMODULES
  32. project.trackers << [TRACKER_BUG, TRACKER_FEATURE]
  33. project.save
  34. project.reload
  35.  
  36. users.each do |login|
  37. user = User.find_by_login login
  38. Member.create({:user => user, :project => project, :role => manager}) unless user.nil?
  39. end
  40.  
  41. repos = Repository::Subversion.create({:project => project, :url => svnurl, :login => svnlogin, :password => svnpassword}) unless svnurl.nil?
  42. end
  43. end
  44. end
Add Comment
Please, Sign In to add comment