Use Just Enough Pipeline

Jenkins Pipeline (or simply Pipeline with a capital P) is a suite of plugins that supports implementing and integrating continuous delivery pipelines into Jenkins. This allows you to automate the process of getting software from version control through to your users and customers.

This is a companion discussion topic for the original entry at

As I understand it, Pipeline is meant to handle choreography between different steps that should be run on agents via things like sh or bat. That makes sense but what if we prefer to use something different than bash or powershell. Is it ok to use something like groovy or python to perform our business logic and to call out to it using something like sh or bat?

Absolutely, go for it

Encouraged even. Having scripts that can be run locally improves debugging. You can test things without going through the commit and build cycle

Shameless plug for my shared library

I do lots of groovy in my pipeline and have some tooling that can be really helpful.

Do you have examples for how you call out to your lib?

Is it better to sh to a python/groovy script or are there plugins that have steps accepting scripts.

For example something like:

python some-input-param

The README covers how to install it on your Jenkins and has a link to example jobs.