Skip to 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.

Installation

  • 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://<span class="domain-value"></span>

Credentials

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

Coralogix Configuration

Next, create a new credential of kind: Coralogix API key, this keys' value is taken from: Data flow > API keys copy the "Alerts, Rules and Tags API Key" and insert it into the 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 click Add build step.

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

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.

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 Coralogix [2] Logs Endpoint associated with your Coralogix domain.

curl --location --request POST '<endpoint>' \
--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

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, choose the right Endpoint, add the "APIkey" and run the command below.
NOTE: "timestamp" and "iconUrl" are optional fields.

DomainEndpoint
coralogix.comhttps://webapi.coralogix.com/api/v1/external/tags/
coralogix.ushttps://webapi.coralogix.us/api/v1/external/tags/
coralogix.inhttps://webapi.app.coralogix.in/api/v1/external/tags/
curl --location --request POST '<yourCoralogixEndpoint>' \
--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 click "Manage" and then "Discard Unreadable Data" of the CoralogixConfiguration:

Jenkins Error

License

The Coralogix Plugin is licensed under the Apache 2.0 License.

Support

Need help?

Our world-class customer success team is available 24/7 to answer any questions that may come up. Feel free to reach out to us via our in-app chat or by sending us an email at [email protected].