prConfig - Command Reference

This page summarizes the agents commands for genrating a pull request specific build session ID and configuration, for the following technologies:


Java Agent - CLI


  • Minimum Java Agent version supporting prConfig command: 2.1.1166.
  • Recommended version is: latest.
prConfig usage
java -jar sl-build-scanner.jar -prConfig {-token <arg> | -tokenfile <arg>} -appname <arg> -targetBranch <arg> -latestCommit <arg> -pullRequestNumber <arg> -repoUrl <arg> [-pi <arg>] [-pe <arg>]
Parameter
Description
token
Access token generated from the SeaLights server
tokenfile
Path to file containing the access token generated from the SeaLights server
appname 
The name of the app the Pull Request is being merged to (as provided to SeaLights)
targetBranchThe name of the branch the Pull Request is being merged to (as provided to SeaLights)
latestCommit
The latest commit SHA of the Pull Request branch
pullRequestNumber
The Pull Request number that is being evaluated
repoUrl 
The repository URL of the Pull Request and merged branchs 
pi, packagesincluded

Comma-separated list of packages to include in scan

Supports wildcards (* = any string, ? = any character). For example: 'com.example.* ,io.*.demo, com.?ello.world'

pe,packagesexcluded

Comma-separated list of packages to exclude from scan

Supports wildcards (* = any string, ? = any character). For example: 'com.example.* ,io.*.demo, com.?ello.world'

proxy
Address of proxy to run connection through
The packages included and excluded should be exactly the same as what was defined to SeaLights for the merged branch so that the compared results will be the same


Node.js Agent - CLI

  • Minimum slnodejs Agent version supporting prConfig command: 3.5.193.
  • Recommended version is: latest.
Usage
./node_modules/.bin/slnodejs prConfig {--token <token> | --tokenfile <file>} --appname <appname> --pullRequestNumber <number> --targetBranch <branchname> --latestCommit <arg> --repositoryUrl <url> [--proxy <proxy>] [--failbuild {true|false}]
ParameterDescription
token
Access token generated from the Sealights server
tokenfile
Path to file containing access token generated from the SeaLights server
appname
The name of the app the Pull Request is being merged to (as provided to SeaLights)
pullRequestNumberThe Pull Request number that is being evaluated
targetBranch
The name of the branch the Pull Request is being merged to (as provided to SeaLights)
latestCommit
The latest commit SHA of the Pull Request branch
repositoryUrlThe repository URL of the Pull Request and merged branchs 
proxy
Address of proxy to run connection through
failbuild
Exit with an error code if an error is encountered (Default: false)

Jenkins plugin

You can refer to the default configuration page for Generating a Build Session ID using the Jenkins Plugin in regards to installation and other details.

  • Minimum Jenkins plugin version supporting prConfig command: 1.3.255.
  • Recommended version is: latest.
  • Enable This Step - Check box to allow you to disable a step without deleting it. When marked the step will be performed
  • Fail the build if this step fails - Check box to allow you to choose if the job will fail or not if this step fails
  • In the Action select PrConfig - Create build session data
    • If you are building a Java project, then open the Add drop down and select Java Options
      • In the Monitored Application Packages enter the list of packages that you want SeaLights to analyze. It should be a comma separated list with asterisks before and after each entry.
        It should be exactly the same as what was defined to SeaLights for the merged branch so that the compared results will be the same

    • Enter the following parameters:

ParameterDescription
App NameThe name of the app the Pull Request is being merged to (as provided to SeaLights)

Latest Commit

The latest commit SHA of the Pull Request branch
Repository URLThe repository URL of the Pull Request and merged branchs 

Target Branch

The name of the branch the Pull Request is being merged to (as provided to SeaLights)

Pull Request Number

The Pull Request number that is being evaluated
Additional ArgumentsSection to provide additional parameters if needed usually to override the global parameters. See the field help () in Jenkins for more details



Logging

Java

In order to enable logs you can set the following parameters as environment variables or when using as javaagent add them as -Dsl.* parameters

Parameter
Description
sl.log.level

Sets the log level to one of the following: "off", "error", "warn", "info", "debug"

sl.log.toConsole
Set to true to enable log output to the console
sl.log.toFile

Set to true to enable log output to a file

sl.log.folder
Provide a folder to save the log files in
sl.log.filename
Provide the name of the log file
sl.log.count
Limit the number of log files to create. Default: 10
sl.log.limit
Limit the size of the log file. Default: 10*1024 KB

Node.js

In order to enable logs you can set the NODE_DEBUG environment variable to one of the following:

ValueDescription
sl
Display log output to the console
sl-file
Export the log information to a log file named 'sl.node.log'

Furthermore, you can set the level of logging by using the SL_LOG_LEVEL environment variable  with one of the following options error, warning, info or debug

Sample
export NODE_DEBUG=sl
export SL_LOG_LEVEL=debug