https://github.com/code42/pipelinekt
PipelineKt is a kotlin library that generates Jenkinsfiles in a flexible and familiar manner
https://github.com/code42/pipelinekt
Last synced: 3 months ago
JSON representation
PipelineKt is a kotlin library that generates Jenkinsfiles in a flexible and familiar manner
- Host: GitHub
- URL: https://github.com/code42/pipelinekt
- Owner: code42
- License: mit
- Created: 2019-12-11T21:47:41.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2025-10-15T18:57:24.000Z (6 months ago)
- Last Synced: 2025-10-16T14:27:03.038Z (6 months ago)
- Language: Kotlin
- Homepage: https://code42.github.io/pipelinekt/
- Size: 528 KB
- Stars: 63
- Watchers: 5
- Forks: 11
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome - code42/pipelinekt - PipelineKt is a kotlin library that generates Jenkinsfiles in a flexible and familiar manner (Kotlin)
README
[](https://jitpack.io/#code42/pipelinekt)
# Dynamic Declarative Jenkinsfile in Kotlin
pipelinekt is a kotlin library that improves the Jenkinsfile development experience, especially for large projects.
## Why:
1. Remove several limitations imposed by the declarative syntax, for example:
1. No longer need to statically define stages
1. create stages in loops or by iterating over collections
2. move any block of code into a separate function
3. standard code sharing with actual classes
1. no need to call `load` to dynamically interpret groovy scripts)
2. IDE integration
1. native kotlin + gradle - no custom groovy compiler
2. Code completion
3. Auto complete
3. Configure sane defaults
1. Shared steps before and after stages
2. default pipeline configurations
3. default `post` stage actions
## Subprojects
* core - The base framework for the dsl
* internal - internal implementation for most dsl methods; not exposed to end users
* dsl - end user interface
* examples - code examples
# Documentation
* [Examples](https://github.com/code42/pipelinekt/tree/master/examples/src/main/kotlin)
* [The Docs](docs/index.md)
# getting started
Please see the [quickstart guide](docs/quickstart.md)
# Contributing
1. Fork on GitHub
2. Update minor or major as needed in [version.txt] per [Semantic Versioning 2.0.0](https://semver.org)
3. Ensure all gradle tasks are successful
./gradlew build detek examples:build
4. Apply spotless before each commit
./gradlew spotlessApply
5. Create PR