In the example below, we simply create the buildSessionId outside the JSON command using the relevant parameters.
Note |
---|
The Target branch must have builds already reported to Sealights, otherwise the prConfig command will fail. If your development process includes pull requests merged to features branch, you may want to exclude them from the scope if Sealights analysis or enforce a build to be reported with the creation of the feature branch (via a webhook). |
Code Block |
---|
|
#!/bin/bash
echo "Downloading Sealights Agents..."
wget -nv https://agents.sealights.co/sealights-java/sealights-java-latest.zip
unzip -o sealights-java-latest.zip |
...
# sample values
export SL_APP_NAME="myApp"
export SL_PACKAGES_INCLUDED="*com.mycompany.*"
export SL_PR_TARGETBRANCH = "master"
# Pull request parameters per the Sealights documentation
if $GIT_PULL_REQUEST not null
#Pull Request context
java -jar sl-build-scanner.jar -prConfig -token $SL_TOKEN -appname $SL_APP_NAME \
-targetBranch $SL_PR_TARGETBRANCH -pullRequestNumber $GIT_PULL_REQUEST \
-latestCommit $GIT_COMMIT -repoUrl $GIT_REPO_URL -pi $SL_PACKAGES_INCLUDED
else
#Regular Build
java -jar sl-build-scanner.jar -config -token $SL_TOKEN -appname $SL_APP_NAME \
-branchname "${GIT_BRANCH}" -buildname "${BUILD_NUMBER}" -pi $SL_PACKAGES_INCLUDED
fi
echo '{ |
...
...
"createBuildSessionId": false, |
...
"buildSessionIdFile": "./buildSessionId.txt", |
...
"filesIncluded": "*.class", |
...
"filesExcluded": "*test-classes*",
|
...
...
"includeResources": true, |
...
"testStage": "Unit Tests", |
...
...
...
...
"logDestination": "console", |
...
...
...
"sealightsJvmParams": {}, |
...
...
"filesStorage": "/tmp"
}' > slmaven.json
echo "Updating POM with Sealights..."
java -jar sl-build-scanner.jar -pom -configfile slmaven.json -workspacepath . |