Skip to main content

Config as Code settings

The SEI Job Reporter Plugin, monitors all job runs. As soon as a job run completes it sends the info about job run and failed logs back to SEI SaaS.

It does not do any periodic push. It gathers info about job stages and steps. If a job run fails and does not have stages the plugin captures the failed job run logs, else if it has stages and no steps, the plugin captures logs for the failed steps, else if it has steps, the plugin captures logs for failed steps. It does not capture the logs for any successful job or stage or step. This plugin supports the failure triage feature.

Dependency NameDirect Dependency/Indirect DependencyVersionURL
FavoriteIndirect2.3.2https://plugins.jenkins.io/favorite
VariantIndirect1.3https://plugins.jenkins.io/variant
REST Implementation for Blue OceanDirect1.23.2https://plugins.jenkins.io/blueocean-rest-impl
Common API for Blue OceanIndirect1.23.2https://plugins.jenkins.io/blueocean-commons
REST API for Blue OceanIndirect1.23.2https://plugins.jenkins.io/blueocean-rest
Design LanguageIndirect1.23.2https://plugins.jenkins.io/jenkins-design-language
Blue Ocean Core JSIndirect1.23.2https://plugins.jenkins.io/blueocean-core-js
Web for Blue OceanIndirect1.23.2https://plugins.jenkins.io/blueocean-web
JWT for Blue OceanIndirect1.23.2https://plugins.jenkins.io/blueocean-jwt
Pipeline implementation for Blue OceanDirect1.23.2https://plugins.jenkins.io/blueocean-pipeline-api-impl
Pipeline SCM API for Blue OceanIndirect1.23.2https://plugins.jenkins.io/blueocean-pipeline-scm-api
HTML PublisherIndirect1.23https://plugins.jenkins.io/htmlpublisher
Dashboard for Blue OceanDirect1.23.2https://plugins.jenkins.io/blueocean-dashboard
Pub-Sub "light" BusIndirect1.13https://plugins.jenkins.io/pubsub-light

Config as Code Settings

Requirements

  • Jenkins version should be 2.426.3 or higher.
  • Use the plugin version 1.0.33 or higher of SEI Job Reporter Jenkins plugin.

Step-by-step instructions

To configure the SEI Job Reporter plugin in Jenkins using Configuration as Code (JCasC), follow the instructions below:

  • Locate the jenkins.yaml configuration file and insert the following configuration under the unclassified section of the jenkins.yaml file:
propelo-job-reporter:
levelOpsApiKey: "<SEI_API_KEY>"
levelOpsPluginPath: "<PLUGIN_PATH>"
trustAllCertificates: "true" or "false"
jenkinsInstanceName: "<INSTANCE_NAME>"
jenkinsUserName: "<USERNAME>" # For Blue Ocean Plugin
jenkinsUserToken: "<USER_TOKEN>" # For Blue Ocean Plugin
applicationType: <APPLICATION_TYPE> # eg. SEI_LEGACY
jenkinsBaseUrl: <BASE_URL_OF_INSTANCE> # eg. https://jenkins-instance.harness.io

Here's an example jenkins.yaml file

jenkins:
nodeMonitors:
- "architecture"
- "clock"
- diskSpace:
freeSpaceThreshold: "1GiB"
freeSpaceWarningThreshold: "2GiB"
- "swapSpace"
- tmpSpace:
freeSpaceThreshold: "1GiB"
freeSpaceWarningThreshold: "2GiB"
- "responseTime"
numExecutors: 2
globalCredentialsConfiguration:
appearance:
security:
unclassified:
mailer:
propelo-job-reporter:
levelOpsApiKey: "<SEI_API_KEY>"
levelOpsPluginPath: "<PLUGIN_PATH>"
trustAllCertificates: "true" or "false"
jenkinsInstanceName: "<INSTANCE_NAME>"
jenkinsUserName: "<USERNAME>" # For Blue Ocean Plugin <OPTIONAL>
jenkinsUserToken: "<USER_TOKEN>" # For Blue Ocean Plugin <OPTIONAL>
applicationType: <APPLICATION_TYPE> # eg. SEI_LEGACY
jenkinsBaseUrl: <BASE_URL_OF_INSTANCE> # eg. https://jenkins-instance.harness.io
tool:
git:
installations:
- home: "git"
name: "Default"
mavenGlobalConfig:
globalSettingsProvider: "standard"
settingsProvider: "standard"

  • Specify the applicationType based on the environment:
    • Prod 1: SEI_HARNESS_PROD_1
    • Prod 2: SEI_HARNESS_PROD_2
    • Prod 3: SEI_HARNESS_PROD_3
warning

Note that the SEI Job Reporter plugin installation is not supported directly by JCasC itself. For more details, refer to the official Jenkins Configuration as Code documentation.

By following these steps, you can properly configure the SEI Job Reporter plugin using Jenkins Configuration as Code. Make sure to replace placeholder values like <SEI_API_KEY>, <PLUGIN_PATH>, <INSTANCE_NAME>, etc with actual data relevant to your Jenkins environment.