Get started with Opsgenie as a user
Learn how to configure your profile, get notifications from Opsgenie and view on-call schedules.
Use Opsgenie Jenkins Integration to forward Jenkins build alerts to Opsgenie. Opsgenie determines the right people to notify based on on-call schedules– notifies via email, text messages (SMS), phone calls, and iOS & Android push notifications, and escalates alerts until the alert is acknowledged or closed.
When a build related problem occurs in Jenkins, an alert is created in Opsgenie automatically through the integration.
If you're using Opsgenie's Free or Essentials plan or if you’re using Opsgenie with Jira Service Management's Standard plan, you can add this integration from your team dashboard only. The Integrations page under Settings is not available in your plan.
Go to Teams and select your team.
Select Integrations on the left navigation and then select Add integration.
Adding the integration from your team dashboard will make your team the owner of the integration. This means Opsgenie will assign the alerts received through this integration to your team only. Follow the rest of the steps in this section to set up the integration.
Go to Settings > Integrations. Search for Jenkins and select Add.
Specify who is notified of Jenkins alerts using the Responders field. Auto-complete suggestions are provided as you type.
Copy the URL and API Key and paste it into plugin's "Opsgenie Api URL" and "API Key" fields respectively.
Select Save Integration.
In the Jenkins machine go to "Manage Jenkins" -> "Go to plugin manager" -> "Available" and search for Opsgenie Plugin, select and install it.
Go back to Jenkins main page and go to "Manage Jenkins" -> "Configure System" -> "Opsgenie Notifier Settings" in order to set Global Plugin Configuration.
Global Settings:
Enter the API URL and API Key that's given from Opsgenie Jenkins Integration. API URL is set to a default value but also can be configured.
Enter the Teams to notify and alert Tags.
These fields are used as default settings, override them for specific jobs.
4. Post-Build Action:
Activate Opsgenie Plugin for the Jenkins Job by following -> "Configure".
Scroll to the "Post-Build Actions" section of the project configuration.
Click "Add post-build action".
Select "Send Alert to Opsgenie" from the list displayed. The "Send Alert to Opsgenie" section appears in the window.
Click Save to retain these changes.
5. Job Configuration:
Configure the Jenkins Job settings for Opsgenie plugin by following -> "Configure" -> "Send Alert to Opsgenie".
Check "Enable Sending Alerts" to send an alert to Opsgenie.
Check "Notify Build Start" to send an alert to Opsgenie that notifies on build start.
Enter the API URL and API Key that's given from Opsgenie Jenkins Integration. If these fields are filled, global settings are overridden.
Enter the Teams to notify and alert Tags. Fill these fields to override global settings.
Select the priority of the build status alert from "Priority" field.
Select the priority of the build start status alert from "Build Start Alert's Priority" field.
6. For more information about plugin you can check Opsgenie Plugin and our open source project Opsgenie Jenkins Plugin
You can call Opsgenie Trigger Step function from your pipeline stages or post actions. Opsgenie Step function can be called with the following parameters(or without any parameter): tags(comma separated), teams(comma separated), priority, apiKey and apiUrl
An example request would be the following:
step
1
opsgenie(tags: "tag1,tag2" , teams: "team1", priority: "P1")
API key and API Url
You can configure API key and API url from Manage Jenkins -> Configure System -> Opsgenie Notifier Settings.
You can also override API key and API url from the step function call like following: opsgenie(apiKey: "myApiKey", apiUrl: "myApiUrl")
An example pipeline script:
pipeline
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
pipeline {
agent any
stages {
stage('pre') {
steps {
sh 'echo "pre success!"; exit 0'
}
}
stage('post') {
steps {
sh 'echo "post success!"; exit 0'
}
}
stage('Test') {
steps {
sh 'echo "Failed!"; exit 1'
}
}
}
post {
always {
echo 'This will always run'
}
success {
echo 'This will run only if successful'
opsgenie(tags: "informational")
}
failure {
echo 'This will run only if failed'
opsgenie(tags: "failure, critical",
teams: "engineering", priority:"P1")
}
unstable {
echo 'This will run only if the run was marked as unstable'
opsgenie()
}
changed {
echo 'This will run only if the state of the Pipeline has changed'
echo 'For example, if the Pipeline was previously failing but is now successful'
}
}
}
Was this helpful?