{"id":38787950,"url":"https://github.com/code42/pipelinekt","last_synced_at":"2026-01-17T12:35:37.942Z","repository":{"id":42186667,"uuid":"227466617","full_name":"code42/pipelinekt","owner":"code42","description":"PipelineKt is a kotlin library that generates Jenkinsfiles in a flexible and familiar manner","archived":false,"fork":false,"pushed_at":"2025-10-15T18:57:24.000Z","size":541,"stargazers_count":63,"open_issues_count":3,"forks_count":11,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-10-16T14:27:03.038Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://code42.github.io/pipelinekt/","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/code42.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2019-12-11T21:47:41.000Z","updated_at":"2025-10-15T18:57:28.000Z","dependencies_parsed_at":"2024-03-28T20:06:46.627Z","dependency_job_id":null,"html_url":"https://github.com/code42/pipelinekt","commit_stats":null,"previous_names":[],"tags_count":49,"template":false,"template_full_name":null,"purl":"pkg:github/code42/pipelinekt","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/code42%2Fpipelinekt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/code42%2Fpipelinekt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/code42%2Fpipelinekt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/code42%2Fpipelinekt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/code42","download_url":"https://codeload.github.com/code42/pipelinekt/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/code42%2Fpipelinekt/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28508473,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-17T11:50:55.898Z","status":"ssl_error","status_checked_at":"2026-01-17T11:50:55.569Z","response_time":85,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-01-17T12:35:37.840Z","updated_at":"2026-01-17T12:35:37.930Z","avatar_url":"https://github.com/code42.png","language":"Kotlin","readme":"[![](https://jitpack.io/v/code42/pipelinekt.svg)](https://jitpack.io/#code42/pipelinekt)\n\n# Dynamic Declarative Jenkinsfile in Kotlin\n\npipelinekt is a kotlin library that improves the Jenkinsfile development experience, especially for large projects.\n\n## Why:\n\n1. Remove several limitations imposed by the declarative syntax, for example:\n   1. No longer need to statically define stages\n      1. create stages in loops or by iterating over collections\n   2. move any block of code into a separate function\n   3. standard code sharing with actual classes\n      1. no need to call `load` to dynamically interpret groovy scripts)\n2. IDE integration\n   1. native kotlin + gradle - no custom groovy compiler\n   2. Code completion\n   3. Auto complete\n3. Configure sane defaults\n   1. Shared steps before and after stages\n   2. default pipeline configurations\n   3. default `post` stage actions\n\n## Subprojects\n\n* core - The base framework for the dsl\n* internal - internal implementation for most dsl methods; not exposed to end users\n* dsl - end user interface\n* examples - code examples\n\n# Documentation\n\n* [Examples](https://github.com/code42/pipelinekt/tree/master/examples/src/main/kotlin)\n* [The Docs](docs/index.md)\n\n# getting started \nPlease see the [quickstart guide](docs/quickstart.md)\n\n# Contributing\n1. Fork on GitHub\n2. Update minor or major as needed in [version.txt] per [Semantic Versioning 2.0.0](https://semver.org)\n3. Ensure all gradle tasks are successful\n\n       ./gradlew build detek examples:build\n4. Apply spotless before each commit\n\n       ./gradlew spotlessApply\n5. Create PR\n","funding_links":[],"categories":["Kotlin"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcode42%2Fpipelinekt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcode42%2Fpipelinekt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcode42%2Fpipelinekt/lists"}