I would ideally like to catch the chances of developers breaking splunk dashboards/ reports at an early stage in the development life cycle (may at unit testing/integration testing stage) . Is there a way Splunk exposes what fields it used in a report or dashboard through some api so that I can write some unit tests to make sure we are still sending the fields etc.?
As far as I know, there is not a readily available or unified testing API for dashboards or apps in Splunk. You would likely have to take a similar approach taken in Splunk's own example shown here (http://dev.splunk.com/view/SP-CAAAE2V#Platformandtools:akitbagforourjourney-Automatingadvancedcontro...) and write some test automation tools using one of the SDKs (Java, Python, or C#). You would also need a tool like Eventgen (https://splunkbase.splunk.com/app/1924/) to create sample data on a regular basis.
If all you care about is specific functionality of certain reports or searches, you could try coming up with a simpler mechanism using the REST API and a known sample data set to see if the returned results are changing. This would only be testing the searches and data, not dashboards and interactivity.
thanks, will take a look