New to Kestra?
Use blueprints to kickstart your first workflows.
Gate a Jenkins build-to-deploy pipeline with Kestra: run the build, request approval in Teams, pause for a reviewer, then trigger the deploy and confirm on Slack.
Add a human approval gate between a Jenkins build and its deploy job so no release ships without a named reviewer signing off. This Jenkins CI/CD orchestration blueprint runs the build, waits for it to finish, posts an Adaptive Card to Microsoft Teams, pauses for review, then fires the deploy and confirms on Slack. It solves the gap most teams patch with manual chat pings and copy-pasted job links: a reliable, auditable build-to-deploy handoff where the reviewer identity and approval timestamp are captured automatically in execution history.
run_build (io.kestra.plugin.jenkins.JobBuild) enqueues the build job named by the build_job input on the jenkins_url instance.wait_for_build (io.kestra.plugin.core.flow.Sequential) polls the Jenkins lastBuild REST endpoint with a core.http.Request and re-runs the block via a constant retry until assert_build_done confirms the build has a terminal result.notify_approval (io.kestra.plugin.microsoft365.teams.TeamsIncomingWebhook) posts an Adaptive Card to Microsoft Teams once the build is genuinely done.await_approval (io.kestra.plugin.core.flow.Pause) holds the execution for up to the approval_timeout duration while a reviewer approves in the Kestra UI.run_deploy (io.kestra.plugin.jenkins.JobBuild) enqueues the deploy job, and notify_complete (io.kestra.plugin.slack.notifications.SlackIncomingWebhook) confirms the trigger on Slack.Jenkins can chain a build to a deploy, but its input step ties the gate to a running agent, and the approval trail lives inside console logs rather than a queryable history. Kestra runs the gate as declarative YAML: Pause parks the execution without holding an executor, retries handle the polling loop, and every approval is stored with reviewer identity and timestamp for lineage and audit. You also get event triggers, notifications across Teams and Slack, and a clean failure path when an approval times out, all in one flow that any reviewer can act on from the UI.
JENKINS_USERNAME: Jenkins user for Basic Auth.JENKINS_API_TOKEN: Jenkins API token.TEAMS_WEBHOOK_URL: Microsoft Teams incoming webhook URL for the approval card.SLACK_WEBHOOK_URL: Slack incoming webhook URL for the completion notification.build_job and deploy_job names, and override jenkins_url and approval_timeout if needed.await_approval Pause in the Kestra UI to trigger the deploy.If task between wait_for_build and notify_approval and route a failed build to a Fail task so the deploy is skipped.lastBuild URI path to include the folder segments.