You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
pgfqe6ch8/lib/tasks/shixun.rake

42 lines
1.8 KiB

namespace :shixun do
namespace :sync do
desc "sync users to gitlab"
task :myshixun => :environment do
shixun_tomcat = Redmine::Configuration['shixun_tomcat']
Shixun.all.each do |shixun|
begin
puts("shixun id is #{shixun.id}")
tpiList =[]
gameInfo = shixun.gameInfo
myshixuns = shixun.myshixuns
if myshixuns.present?
myshixuns.each do |myshixun|
puts("tpiID is #{myshixun.id}")
tpiID = myshixun.id
login = User.where(:id => myshixun.try(:user_id)).first.try(:login)
rep_identify = Repository.where(:myshixun_id => myshixun.id, :type => "Repository::Gitlab").first.try(:identifier)
gitlab_address = Redmine::Configuration['gitlab_address_ip']
instanceGitURL = gitlab_address.to_s+"/"+login+"/"+ rep_identify + "."+"git"
puts("instanceGitURL is #{instanceGitURL}")
tpiList << {:tpiID => tpiID, :instanceGitURL => instanceGitURL}
puts("###############{tpiList.to_json unless tpiList.blank?}")
tpiList = Base64.urlsafe_encode64(tpiList.to_json) unless tpiList.blank?
puts("************#{tpiList}")
end
end
params = {:gameInfo => "#{gameInfo}", :tpiList => "#{tpiList}" }
puts("params is #{params}")
uri = URI("#{shixun_tomcat}/bridge/dataTransfer/transfer")
uri = URI.parse(URI.encode("#{shixun_tomcat}/bridge/game/gameEvaluate".strip))
puts("uri is #{uri}")
res = Net::HTTP.post_form(uri, params).body
res = JSON.parse(res)
puts("=====res is #{res['code']}")
rescue Exception => e
puts("error ====> #{e.message}")
end
end
end
end
end