How to Integrate Google Chat With Jenkins Using Webhook? – Devstringx

Back to Blog
Feature image for to integrate Google Chat with Jenkins

How to Integrate Google Chat With Jenkins Using Webhook? – Devstringx

Integration of Google Chat with Jenkins 

In one of our projects, we moved to use Google Chat as a communication platform so the need arose for having the pipeline notifications in Google Chat (all our pipelines are setup in Jenkins), we started the work and found that not much help is available online for this as compared to other platforms like Slack or teams so we thought of writing this blog which might be helpful for others who are looking to perform such integration.

Short Intro of Tools

Some of the short tools that help to integrate Google Chat with Jenkins:-

  • Google Chat

Google Chat is a messaging and collaboration platform that allows teams to communicate in real time, share information, and collaborate on projects.

  • Jenkins

Jenkins is an open-source continuous integration/continuous delivery and deployment (CI/CD) automation software/DevOps tool.

Benefits to Integrate Google Chat with Jenkins

It provides several benefits to our development and operations workflow, some of the benefits are mentioned below:

  • Reduced Email clutter
  • Google Chat is also accessible in mobile apps, so by this, team members stay updated on Jenkins notifications even when they are not at their desks
  • Real-Time Notification etc

Steps to Integrate Google Chat with Jenkins

To integrate Google with Jenkins we have to do the configuration of Google Chat and Jenkins Job.

Google Chat Configuration

  • Open the Google Chat space to configure the webhook, If no Google Chat space exists, then create a new Space, please see the below image for reference.

image of Space creation in google chat

 

  • Access the Webhook setting by clicking on the space name at the top and selecting the Apps & Integration option, Please see the below image for reference.
  • images of JenkinsIntegrationCheck from a list of existing webhooks if any, otherwise, create a new webhook by clicking the Manage webhooks button as shown in the below image.
  • JenkinsIntegration apps imagesFill in all information such as name, icon, and other configuration options, and click Save to create an incoming webhook.

Image of Incoming WebHooks of Jenkins

  • Once the webhook is created or selected, you can copy the webhook URL and use it for Jenkins integration.

Incoming webhooks image

Jenkins Job Configuration

Note: Please make sure you have the rights to do the configurations,  for this article we are using a local installation of Jenkins.

  • Once you are logged in with your user then click on New Item from Jenkins Dashboard
  • new item jenkins imageEnter Project Name into the “Item Name” input field and select Project type “Pipeline”
  • image of Jenkins item nameAdd Pipeline Script and mention Google Chat webhook into your pipeline script and Save the Job.

image of Pipeline script JenkinsCode Snippet

pipeline {

    agent any

    stages {

        // Define your pipeline stages here

    }

    post {

        always {

            script {

                def googleChatWebhook = 'YOUR_WEBHOOK_URL_HERE'

                def jobName = env.JOB_NAME

                def buildUrl = env.BUILD_URL

                def message = "Pipeline job '${jobName}' (${buildUrl}) has started."

                sh """

                curl -X POST -H 'Content-Type: application/json' -d '{

                    "text": "${message}"

                }' ${googleChatWebhook}

                """

            }

        }

    }

}
  • Click the Build Now option to run the job
  • image of Pipeline Job demo

 

  • You will get the notification on your Google chat Space.

 

Successful Integration of Jenkins appNote: You can Customize the notification message in normal text format or in Card format.

Conclusion

Overall, integrating Google Chat with Jenkins streamlines communication improves collaboration, and helps teams stay informed about the status of their CI/CD pipeline and software development process. It’s a way to bring relevant information directly to the place where your team is already communicating and collaborating.

Share this post

Back to Blog