Getting Data In

How do I get RobotFramework tags into Splunk via Jenkins plugin?

JykkeDaMan
Path Finder

I have the Splunk Jenkins plugin in use, but I cannot find the RobotFramework test tags from the raw data.

Should I do some custom configurations into Jenkins side so that it would add the test level RobotFramework tags into the testcase data?

Below in an example from the Robot results.

Is the plugin sending only the "Test results", but not "Robot Results" to the Splunk?

Screenshot 2020-10-26 at 20.59.40.jpg

Currently I can find only the following test level results from the Splunk.

 

{ [-]
         classname: Testsuites.Assistant tests.Configurations
         duration: 307
         errordetails: *HTML* ...
         errorstacktrace:
         failedsince: 329
         groupname: Testsuites
         skipped: false
         status: FAILURE
         testname: Assistant For External Callers
         uniquename: Testsuites.Assistant tests.Configurations.Assistant For External Callers
}

 

Labels (1)
0 Karma
1 Solution

JykkeDaMan
Path Finder

I managed to get it like this:

import hudson.plugins.robot.RobotBuildAction
import com.splunk.splunkjenkins.utils.LogEventHelper

def build=splunkins.build
def robotAction=build.getAction(RobotBuildAction)
if(robotAction) {
    def robotResults=[]
    def allTestCases = robotAction.result.suites[0].getAllCases()
    allTestCases.each { test ->  
            robotResults << ["name" : test.getRelativePackageName(), "tags":test.tags, "duration":test.duration,
             "passed": test.passed, "description":test.description]
       }
    def metadata = LogEventHelper.getBuildVariables(build)
    def robotData = ["metadata":metadata, "build_url":build.url, "robot_results":robotResults, "build_number": build.number]
    splunkins.send(robotData)
}

View solution in original post

0 Karma

Ted
Engager
import hudson.plugins.robot.RobotBuildAction
import com.splunk.splunkjenkins.utils.LogEventHelper

def build=splunkins.build
def robotAction=build.getAction(RobotBuildAction)
if(robotAction) {
    def robotResults=[]
    robotAction.result.suites.each { suite ->
       suite.caseResults.each { result ->  
            robotResults << ["name" : result.name, "tags":result.tags, "duration":result.duration,
             "passed": result.passed, "description":result.description]
       }
    }
    def metadata = LogEventHelper.getBuildVariables(build)
    def robotData=["metadata":metadata, "build_url", build.url, "robot_results":robotResults]
    splunkins.send(robotData)
}

you can insert the code sample snippet into the plugin config -> Advance ->Customize Event Processing Command 

it will send an extra event into jenkins index

P.S. the tag is not a standard field, the Jenkins app will not show it, you need build your own dashboard

JykkeDaMan
Path Finder

Thanks, I was hopping something like this.

I fixed a minor typo in

 

 

"build_url", build.url -> "build_url":build.url

 

 

I tried it, but I got empty results like this:

 

 

{ [-]
   build_url: job/658/
   metadata: { [-]
     scm: git
   }
   robot_results: [ [-]
   ]
}

 

 

0 Karma

JykkeDaMan
Path Finder

I managed to get it like this:

import hudson.plugins.robot.RobotBuildAction
import com.splunk.splunkjenkins.utils.LogEventHelper

def build=splunkins.build
def robotAction=build.getAction(RobotBuildAction)
if(robotAction) {
    def robotResults=[]
    def allTestCases = robotAction.result.suites[0].getAllCases()
    allTestCases.each { test ->  
            robotResults << ["name" : test.getRelativePackageName(), "tags":test.tags, "duration":test.duration,
             "passed": test.passed, "description":test.description]
       }
    def metadata = LogEventHelper.getBuildVariables(build)
    def robotData = ["metadata":metadata, "build_url":build.url, "robot_results":robotResults, "build_number": build.number]
    splunkins.send(robotData)
}
0 Karma

JykkeDaMan
Path Finder
0 Karma
Get Updates on the Splunk Community!

Platform Newsletter Highlights | March 2023

 March 2023 | Check out the latest and greatestIntroducing Splunk Edge Processor, simplified data ...

Enterprise Security Content Updates (ESCU) - New Releases

In the last month, the Splunk Threat Research Team (STRT) has had 3 releases of new content via the Enterprise ...

Thought Leaders are Validating Your Hard Work and Training Rigor

As a Splunk enthusiast and member of the Splunk Community, you are one of thousands who recognize the value of ...