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!

Why You Can't Miss .conf25: Unleashing the Power of Agentic AI with Splunk & Cisco

The Defining Technology Movement of Our Lifetime The advent of agentic AI is arguably the defining technology ...

Deep Dive into Federated Analytics: Unlocking the Full Power of Your Security Data

In today’s complex digital landscape, security teams face increasing pressure to protect sprawling data across ...

Your summer travels continue with new course releases

Summer in the Northern hemisphere is in full swing, and is often a time to travel and explore. If your summer ...