Plug-in Documentation

JMeter

Overview

The JMeter plug-in provides for parsing CVS and XML data sent to a qualityData endpoint.

Compatibility

Must be running UrbanCode Velocity version 1.2.1 and later to use the plug-in.

Versions

There is no install process for this plug-in. The JMeter plug-in is identified to UrbanCode Velocity as a value stream integration. UrbanCode Velocity plug-in images are located in DockerHub and the UrbanCode Velolcity code accesses the version
that you select. To view available versions, see the UrbanCode DockerHub.

History

Version 1.0.34

  • Update plugin version from 0.x.x to 1.x.x format.

Version 0.0.31

  • Initial release

Usage

The JMeter plug-in does not require configuration, like other types of UrbanCode Velocity plug-ins. To use the plug-in upload a Jmeter results file to UrbanCode Velocity to parse. Whenever UrbanCode Velocity receives the file, the plug-in parses the data and creates a metric entry.

Integration type

The JMeter plug-in is a parser type plug-in. It parses data from a JMeter CSV and XML data.

Invoking the plug-in

You can invoke the plug-in manually using a REST Call or by using a Jenkins plug-in to integrate UrbanCode Velocity in a Jenkins environment.

Invoke using Jenkins plug-in

Install the UrbanCode Velocity plug-in into your Jenkins server. In your freestyle job or pipeline use the UCV-Upload Metrics File to UrbanCode Velocity step and provide the required fields. This step allows your build job to upload generated coverage results files to UrbanCode Velocity.

Invoke the plug-in using a Rest call

When using a REST call to invoke the Code Coverage plug-in, it must be a POST method and include the location of the UrbanCode Velocity quality data endpoint.

The following request sample shows a REST call that you can copy and update as necessary. Key points about the snippet:

  • The URL points to the UrbanCode Velocity quality data endpoint. Update with the server location for your installation of UrbanCode Velocity.
  • The BODY of the call is a multipart/form data. It includes information about the payload.

METHOD: POST 
URL: https://<url_urbancodevelocity_server>/reporting-consumer/qualityData 
BODY (multipart/form-data):
 {
  payload: <payload_json_object_string> // See below for schema format
 testArtifact: <jmeter_xml_file>
 }

The following shows the schema for the payload. Replace the angle brackets with your values for the parameters.


{
  "tenant_id": "<tenant_id>",    // required Tenant ID
  "metricName": "<metric_name>", // optional: name for recurring test set
  "application": {
    "name": "<application_name>"  //Name of application
  },
  "record": {
    "recordName": "<record_name>", // optional: Name for this record
    "executionDate": 1547983466015, // optional: UNIX Epoch
    "pluginType": "jmeter",
    "dataFormat": "jmeterXML"  // jmeter xml
  },
  "build": {  // Optional: One of the following fields must be included 
    "buildId": "<build_id>",
    "jobExternalId": "<external_job_id>",
    "url": "<build_url>",
  },
  "commitId": "<commit_id>",  // optional
  "pullRequestId": "<pullrequest_id>", // optional
  "environment": "<environment_name>" // optional
}

Example: Invoking using Curl


curl --request POST \
  --url https:///reporting-consu<er/qualityData \
  --form 'payload={
    "tenant_id": "5ade13625558f2c6688d15ce",
    "application": {
    "name": "My Application"
  },
  "record": {
    "pluginType": "jmeter",
    "dataFormat": "jmeterXML"
  }
}
' \
  --form testArtifact=@test-result/jmeter.xml