private String buildStatusData(AbstractBuild<?, ?> build) {
Hudson hudson = Hudson.getInstance();
AbstractProject<?, ?> project = build.getProject();
Map data = new HashMap<String, String>();
data.put("name", project.getName());
data.put("number", build.getNumber());
data.put("manager", masterName);
data.put("worker", this.worker.getWorkerID());
String rootUrl = Hudson.getInstance().getRootUrl();
if (rootUrl != null) {
data.put("url", rootUrl + build.getUrl());
}
Result result = build.getResult();
if (result != null) {
data.put("result", result.toString());
}
ArrayList<String> nodeLabels = new ArrayList<String>();
Node node = build.getBuiltOn();
if (node != null) {
Set<LabelAtom> nodeLabelAtoms = node.getAssignedLabels();
for (LabelAtom labelAtom : nodeLabelAtoms) {
nodeLabels.add(labelAtom.getDisplayName());
}
}
data.put("node_labels", nodeLabels);
data.put("node_name", node.getNodeName());
Gson gson = new Gson();
return gson.toJson(data);
}