Skip to main content
InProd Logo

Genesys Cloud CI/CD with Jenkins.

Trigger InProd changeset validation and deployment from Jenkins — with input step approval gates, credentials binding, Simulate Run before every environment, and deployment evidence archived as build artifacts at every stage of your Genesys Cloud Jenkins pipeline.

Trusted By Top Companies Worldwide
Medibank
ABN Amro
LivePerson
Ministry of Social Development
NEC
Vodafone
ANZ
Medibank
ABN Amro
LivePerson
Ministry of Social Development
NEC
Vodafone
ANZ

How It Works

Three steps from a reviewed change to a recorded production deployment.

1

Define changes as an InProd changeset

Package your Genesys Cloud configuration changes — routing flows, queue definitions, skill mappings, data actions — into governed deployment units managed in InProd and triggered from your Jenkins Jenkinsfile.

2

Validate before every deployment

Automatically run a validate-only stage at the start of every pipeline run. InProd executes Simulate Run against the target environment and reports exactly what would change — before any configuration is modified.

3

Promote through Dev, UAT, and Production with input gates

Use Jenkins' input step to require explicit sign-off between environments. InProd handles environment-aware variable mapping and deployment execution; Jenkins enforces who can approve each promotion.

What You Get

Automated validation on every build

Every Genesys Cloud configuration change is verified against the live target environment before any deployment stage runs — not after it reaches production.

Input-gated environment promotion

Jenkins' input step pauses the pipeline and requires an authorized user to confirm before UAT or Production deployment begins. No stage runs without explicit approval.

Simulate Run before each environment

InProd executes a pre-deployment simulation showing exactly what will be created, updated, or deleted — including environment-specific differences invisible to a standard diff.

Archived artifacts for deployment evidence

inprod-result.json and inprod-results.env are archived after every run using archiveArtifacts, providing an immutable deployment record stored in Jenkins.

Rollback from pipeline or InProd UI

Revert to a previous state using InProd's point-in-time restore — without manual reconstruction of what the configuration was before the change.

Works With Your Existing Jenkins Setup

No custom plugins required beyond Node.js availability. InProd runs via npx @inprod.io/run-changesets in any Jenkins stage using either the NodeJS Plugin or a Docker agent with a Node.js image. Your existing credentials store, branch filters, and pipeline structure all apply — InProd adds Genesys Cloud-specific validation and deployment governance on top of the Jenkinsfile you already run.

This makes it straightforward to add CX as Code deployments to a Jenkins workflow your team already understands.

Jenkinsfile
pipeline {
    agent any

    tools {
        nodejs 'NodeJS 18'
    }

    environment {
        INPROD_API_KEY        = credentials('inprod-api-key')
        INPROD_BASE_URL       = credentials('inprod-base-url')
        INPROD_CHANGESET_FILE = 'changesets/*.yaml'
    }

    stages {
        stage('Validate') {
            steps {
                sh 'INPROD_VALIDATE_ONLY=true npx --yes @inprod.io/run-changesets'
            }
        }

        stage('Deploy to Dev') {
            steps {
                sh 'INPROD_ENVIRONMENT=Development npx --yes @inprod.io/run-changesets'
            }
        }

        stage('Approve UAT') {
            steps {
                input message: 'Deploy to UAT?', ok: 'Deploy'
            }
        }

        stage('Deploy to UAT') {
            steps {
                sh 'INPROD_ENVIRONMENT=UAT npx --yes @inprod.io/run-changesets'
            }
        }

        stage('Approve Production') {
            steps {
                input message: 'Deploy to Production?', ok: 'Deploy'
            }
        }

        stage('Deploy to Production') {
            steps {
                sh 'INPROD_ENVIRONMENT=Production npx --yes @inprod.io/run-changesets'
            }
        }
    }

    post {
        always {
            archiveArtifacts artifacts: 'inprod-result.json,inprod-results.env',
                allowEmptyArchive: true
        }
    }
}

Frequently Asked Questions

Why use Jenkins for Genesys Cloud deployments instead of manual promotion?

Manual promotion relies on engineers replicating the same steps correctly across Dev, UAT, and Production every time. A Jenkins Declarative Pipeline enforces the same process on every build — validation runs first, input gates require explicit approval before production, and every deployment archives a result artifact. The pipeline removes the process variability that causes most configuration-related incidents.

How do Jenkins input gates work with InProd?

Jenkins' input step pauses the pipeline and waits for an authorized user to confirm from the Jenkins UI or via API. Only after approval does the downstream deployment stage execute. InProd then runs Simulate Run and deploys the changeset within that approved stage — so every promotion to UAT or Production is explicit and auditable.

Does InProd work with Docker agents in Jenkins?

Yes. If Node.js is not pre-installed on your Jenkins agents, use a Docker agent with agent { docker { image 'node:18-alpine' } } instead of the NodeJS Plugin. The npx @inprod.io/run-changesets command runs identically in either execution context.

Does this work with CX as Code and Terraform?

Yes. InProd sits alongside your CX as Code and Genesys Cloud Terraform workflows. Terraform manages desired-state definitions; InProd governs the deployment lifecycle — Simulate Run, promotion gates, drift detection, and the audit trail. Jenkins can trigger both Terraform applies and InProd changeset deployments within the same pipeline stages.

Need the full pipeline picture? Genesys Cloud CI/CD Pipeline →

Your Genesys Cloud Jenkins Pipeline, Governed.

Every configuration change validated automatically, promoted through input-gated approvals, and archived as a build artifact — before the next incident forces the issue.

Book a Consultation