end
end
+ # get password when Multi build
+ if job.job_type.eql? "MULTIBUILD"
+ sub_job = Job.find(:first, :conditions => ["parent_job_id=?", id])
+ sub_job_project_info = Project.find(sub_job.project_id)
+ job_password = sub_job_project_info.password
+ else
+ job_password = job.project_password
+ end
+
# Excute command
+ message = ""
begin
- Utils.sbi_cancel_command(id, job.project_password)
+ result, message = Utils.sbi_cancel_command(id, job_password)
rescue => e
render :text => e.message, :status => 406
- return
end
- render :xml=> "<Message>OK</Message>"
+
+ #generate to XML
+ doc = Builder::XmlMarkup.new( :target => out_string = "", :indent => 2 )
+ doc.Responser {
+ generate_xml_header(doc)
+ doc.Data {
+ doc.JobId(id)
+ doc.Distribution(job.distribution_name)
+ doc.Project(job.project_name)
+ doc.Builder(job.user_name)
+ doc.Status(job.status)
+ doc.Message(message)
+ }
+ }
+
+ render :text => out_string, :content_type => "text/xml"
end
end
cmd = "#{DIBS_PATH}/build-cli cancel #{options}"
puts "Cancel command"
puts "[[[#{cmd}]]]"
- return execute_shell_return(cmd)
+ result, msg = execute_shell_return(cmd)
+ return result, msg
end
def Utils.sbi_fullbuild_command(server_name, dist_name)
function cancelJob() {
cancelJobsJobid(job_id, function(xml) {
- alert("Reqeusted cancel job : "+job_id);
+ var message = $(xml).find("Data").find("Message").text();
+ alert(message);
});
}