public Map toJsonHash() {
Map<String, Object> jsonParams = new LinkedHashMap<>();
jsonParams.put("agent", agent.getHostname());
jsonParams.put("agent_ip", agent.getIpaddress());
jsonParams.put("agent_uuid", agent.getUuid());
jsonParams.put("build_scheduled_date", getScheduledTime());
jsonParams.put("build_assigned_date", getPreciseDateFor(Assigned));
jsonParams.put("build_preparing_date", getPreciseDateFor(Preparing));
jsonParams.put("build_building_date", getPreciseDateFor(Building));
jsonParams.put("build_completing_date", getPreciseDateFor(Completing));
jsonParams.put("build_completed_date", getPreciseDateFor(Completed));
jsonParams.put("current_status", instance.displayStatusWithResult());
jsonParams.put("current_build_duration", instance.getCurrentBuildDuration());
jsonParams.put("last_build_duration", Long.toString(this.durationBean.getDuration()));
jsonParams.put("id", Long.toString(getBuildInstanceId()));
jsonParams.put("is_completed", valueOf(instance.isCompleted()));
jsonParams.put("name", getName());
jsonParams.put("result", getResult().toString());
jsonParams.put("buildLocator", instance.buildLocator());
jsonParams.put("buildLocatorForDisplay", instance.buildLocatorForDisplay());
return jsonParams;
}