Spectral for Jenkins CI

Integrating with Jenkins is as simple as downloading Spectral and running a scan in your test or build scripts, we will also configure the SPECTRAL_DSN variable.

First, grab your DSN from the SpectralOps platform, and store it as SPECTRAL_DSN in Jenkins Credentials store as spectral-dsn.

Here's an example run of Spectral on Jenkins:

Jenkinsfile
pipeline {
agent { label 'master' }
environment {
SPECTRAL_DSN = credentials('spectral-dsn')
}
stages {
stage('install Spectral') {
steps {
sh "curl -L "https://get.spectralops.io/latest/x/sh?dsn=$SPECTRAL_DSN" | sh"
}
}
stage('scan for issues') {
steps {
sh "$HOME/.spectral/spectral scan"
}
}
}
}
tip

We cryptographically sign our binaries. However, you might prefer downloading the Spectral binary and storing it in your own artifact store periodically, then, you can pull from your own store in your CI workflows.

With Spectral integrated, your builds should now look like this:

tip

Use spectral scan --ok if you wouldn't like to break builds. It's common to use this mode when you're ramping up your discovery of issues, or when you have a different kind of security workflow.