Developing for Splunk Enterprise
Highlighted

How to pass the value of the field to the script as a parameter when customizing commands in Python?

Path Finder

Hi everyone,

I have created a custom command in Python that needs a parameter, which is one of the fields of the search.

The script is as the following:

import splunk.Intersplunk

def foofunct(text):
     output = //Doing something with text
     return output

keywords, options = splunk.Intersplunk.getKeywordsAndOptions()

results,unused1,unused2 = splunk.Intersplunk.getOrganizedResults()

for result in results:
     result["foo"] = foofunct(keywords)
splunk.Intersplunk.outputResults(results)

When I insert the parameter directly in the tests, it works perfectly, but when I put the name of the field, it doesn't take the value of the field, it takes the name of the field as a parameter.

Is there any way to pass the value of the field to the script as a parameter?

Thanks for all.

Regards

Labels (2)
Highlighted

Re: Custom script parameters

Contributor

Why doesn't anybody help?

0 Karma
Highlighted

Re: Custom script parameters

Communicator

How are you using this custom command in your searches?

0 Karma
Highlighted

Re: Custom script parameters

Contributor

The question is how to pass parameters in and out of custom python script. This script is just an example.

0 Karma
Highlighted

Re: Custom script parameters

Communicator

I got it, but you said that when you put the name of the field as a parameter It does not get the field value, but the field name, so I am supposing you tried running this command from Splunk, right? If you tried running it from Splunk, I'd like to know how you used the command.

0 Karma
Highlighted

Re: Custom script parameters

Path Finder

Been a while, here's what I remember. Import sys. You can send in args via argv. TEXTSTRING = sys.argv[1]

Then when running the custom search command you just put 'em after the command. | script myscript arg1 arg2 ...

0 Karma
Highlighted

Re: Custom script parameters

Path Finder

For me, the solution was to create a Javascript in the view wich launches a search with the correct parameters, so the keywords are values taken directly from the javascript.

View solution in original post

0 Karma