Hello,
I'm trying to get data in Splunk using REST API (data are in json format).
I understand I have to create my own class in responsehandler.py, but I don't know anything about python...
I tried a lot of things based on exemples but unsuccessfully...
Below a sample of my data...
{"infos":
[
{"component":
{"measures":
[
{"metric":"ncloc","periods":[{"index":1,"value":"245"}],"value":"4082"},
{"metric":"sqale_index","periods":[{"index":1,"value":"0"}],"value":"3564"},
.....
{"metric":"blocker_violations","periods":[{"index":1,"value":"0"}],"value":"0"}
]
}
}
]
}
Any help would be very appreciated !
Thanks,
David
Try this:
class infosJSONArrayHandler:
def __init__(self,**args):
pass
def __call__(self, response_object,raw_response_output,response_type,req_args,endpoint):
if response_type == "json":
output = json.loads(raw_response_output)
for info in output["infos"]:
print_xml_stream(json.dumps(info))
else:
print_xml_stream(raw_response_output)
NOTE: Python doesn't like inconsitently mixed tabs and spaces for indentation.
Thanks ansif,
I tried to use this class (I used only tabs for indentation) but it doesn't work eather...
I looked to the internal index and found this :
"08-27-2018 11:00:06.975 +0200 ERROR ExecProcessor - message from "python /data/splunk/etc/apps/rest_ta/bin/rest.py" HTTP Request error: 401 Client Error: Not Authorized"
I guess the python code you provide is correct but the problem is somewhere else...
David