Skip to main content

Jenkins plugin

The Coralogix Jenkins plugin facilitates the transmission of audit, security, and pipeline console logs to Coralogix, while pushing tags to the Coralogix platform.
Notes:

  • To send metrics to Coralogix, use our Jenkins Telemetry (Otel) integration.

  • The Coralogix plugin will work on Jenkins version 2.277.2 and above. If your Jenkins isn't in the mentioned versions, you may try our Curl commands located further in the doc.

Install the plugin

  • Download the hpi file from GitHub releases

  • Put the hpi file in the directory $JENKINS_HOME/plugins

  • Restart Jenkins

Coralogix Plugin

Configuration

Go to Manage Jenkins, open Configure system, find the Coralogix section and configure your account Send-Your-Data API key for sending system/audit/security logs.

You can configure as many keys as you want.

Coralogix Configuration

Notes:

  • Send system logs won't be checked, as it's not currently supported.

  • If you use Private Link, you can change Coralogix Region to Custom and overwrite it in Custom Coralogix endpoint field. An example of a Custom Coralogix endpoint is private.coralogix.com.

  • If your Coralogix domain ends with a suffix other than '.com', overwrite the Coralogix API endpoint value by going to the Advanced section and inserting:

https://eu2.coralogix.com

Credentials

Before usage, create Jenkins credentials with your Coralogix Send-Your-Data API key for your team. Navigate to Manage Jenkins > Manage Credentials and select Jenkins under Stores scoped to Jenkins.

Coralogix Configuration

To use this API you also need to create a personal or team API key. It’s recommended to use permission presets, as they are automatically updated with all relevant permissions. Alternatively, you can manually add individual permissions.

PresetActionDescription
CICDIntegrationVERSION-BENCHMARK-TAGS:READ
VERSION-BENCHMARKS-REPORTS:READ
VERSION-BENCHMARK-TAGS:UPDATE
View Version Benchmark Tags
View Version Benchmark Reports
Modify Version Benchmark Tags

Insert the API key into the Coralogix API key field. This will allow us to use the "push tags" function since it will allow the creation of a tag each time there is a build in the pipe.

To push Tags, go under your config and select Add build step.

Select Push Tags to Coralogix and select the Tags key from your credentials.

Jenkins build step configuration with Push Tags to Coralogix selected and a tags credential chosen

Coralogix Configuration

Usage

This plugin supports sending build logs and tags for Freestyle project and Pipelines.

Send logs

Send your build logs to Coralogix.

Freestyle project
Check Send build logs to Coralogix, select Private Key, and provide the Application and Subsystem names.

Jenkins freestyle project post-build settings with Send build logs to Coralogix enabled and application and subsystem names filled in

Pipeline

This is the Groovy implementation:

pipeline {
agent any
stages {
stage('Test') {
steps {
echo "Hello world!"
}
}
}
post {
always {
coralogixSend privateKeyCredentialId: 'coralogix-production',
application: 'MyApp',
subsystem: "${env.JOB_NAME}",
splitLogs: true
}
}
}

Curl

It's possible to use Curl command to create a log. Select the https://api./api/v1/external/tags endpoint that corresponds to your Coralogix domain using the domain selector at the top of the page.

curl --location --request POST 'https://api.eu2.coralogix.com/api/v1/external/tags' \
--header 'private_key: <privatekey>' \
--header 'Content-Type: application/json' \
--data-raw '{"applicationName": "prd", "subsystemName": "app", "text": "hello world", "severity": "3"}'
Note

"text", "severity" are optional fields.

Push tag

Push version tag to Coralogix.

Freestyle project
Add build step Push Coralogix tag and configure:

  • Private Key - your Coralogix account Send-Your-Data API key

  • Tag name - version tag name

  • Application name - your application name

  • Subsystem names - your subsystem names

  • Icon(optional) - your own tag picture

Jenkins Push Tags to Coralogix build step with tag name, application name, subsystem names, and optional icon fields

Pipeline

This is the Groovy representation of Push Coralogix tag build step:

pipeline {
agent any
stages {
stage('Test') {
steps {
echo "Hello world!"
}
}
}
post {
success {
coralogixTag apiKeyCredentialId: 'coralogix-production-api',
tag: '1.0.0',
applications: [
[name: 'MyApp']
],
subsystems: [
[name: 'staging'],
[name: 'production']
],
icon: 'https://raw.githubusercontent.com/coralogix/jenkins-coralogix-plugin/master/docs/images/logo.svg'
}
}
}

Curl

It's possible to use Curl command to create a tag, select the right endpoint, add the "APIkey" and run the command below.

Note

"timestamp" and "iconUrl" are optional fields.

Select the https://api./api/v1/external/tags endpoint that corresponds to your Coralogix domain using the domain selector at the top of the page.

curl --location --request POST 'https://api.eu2.coralogix.com/api/v1/external/tags' \
--header 'Authorization: Bearer <APIKey>' \
--header 'Content-Type: application/json' \
--data-raw '{
"name": "test tag",
"timestamp": <currentTimeinMilliseconds>
"application": ["prd", "dev"],
"subsystem": ["app", "mobile"],
"iconUrl": "<iconUrl>"
}'

Upgrading

If upgrading from version <= 1.17, you will get an error in the Manage Jenkins UI:

Jenkins Error

To clear this error, simply select "Manage" and then "Discard Unreadable Data" of the CoralogixConfiguration:

Jenkins Error

License

The Coralogix Plugin is licensed under the Apache 2.0 License.

Last updated on
On this page
Was this page helpful?