I had great success with the following:
Service service = getSplunkService();
String dashboardName = "rest_dashboard";
String dashboardXml = "<dashboard>\n" +
" <label>temp</label>\n" +
" <row>\n" +
" <panel>\n" +
" <chart>\n" +
" <search>\n" +
" <query>index=_internal\n" +
" | timechart count</query>\n" +
" <earliest>-1h@h</earliest>\n" +
" <latest>now</latest>\n" +
" <sampleRatio>1</sampleRatio>\n" +
" </search>\n" +
" </chart>\n" +
" </panel>\n" +
" </row>\n" +
"</dashboard>";
JobArgs jobargs = new JobArgs();
jobargs.put("name", dashboardName);
jobargs.put("eai:type", "views");
jobargs.put("eai:data", dashboardXml);
String endpoint = String.format("/servicesNS/rest_user/app_name/data/ui/views/%s", dashboardName);
service.post(endpoint, jobargs);
... View more