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 releasesPut the
hpi
file in the directory$JENKINS_HOME/plugins
Restart Jenkins
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.
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 inCustom Coralogix endpoint
field. An example of a Custom Coralogix endpoint isprivate.coralogix.com
.If your Coralogix domain ends with a suffix other than '.com', overwrite the
Coralogix API endpoint
value by going to theAdvanced
section and inserting:
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.
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.
Preset | Action | Description |
---|---|---|
CICDIntegration | VERSION-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 click Add build step.
Select Push Tags to Coralogix and select the Tags key from your credentials.
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.
Domain | Endpoint |
---|---|
coralogix.com | https://webapi.coralogix.com/api/v1/external/tags/ |
coralogix.us | https://webapi.coralogix.us/api/v1/external/tags/ |
coralogix.in | https://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:
To clear this error, simply click "Manage" and then "Discard Unreadable Data" of the CoralogixConfiguration:
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].