{"adoption": {"forks": 394, "observed_at": "2026-08-28T04:05:07.591683+00:00", "stars": 1585}, "canonical_url": "https://ross.abutalabs.com/products/jenkinspipelineunit", "card": {"archived": false, "artifact_type": "framework", "description": "Framework for unit testing Jenkins pipelines ", "domain": ["testing", "developer-tools"], "enriched": true, "function": ["testing", "mocking", "ci-cd"], "health_score": 99, "homepage": null, "language": "Groovy", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["jenkinsci/JenkinsPipelineUnit"], "name": "jenkinsci/JenkinsPipelineUnit", "platform": ["jvm", "cli"], "pushed_at": "2026-08-24T07:35:12+00:00", "repo": "jenkinsci/JenkinsPipelineUnit", "stars": 1585, "tags": ["jenkins", "groovy", "pipeline-as-code", "unit-testing", "shared-libraries", "devops", "automation"], "topics": ["jenkins", "pipelines-as-code", "test", "hactoberfest"], "urls": [], "use_cases": ["unit test jenkins pipeline logic", "mock jenkins pipeline steps in tests", "test jenkins shared libraries", "write tests for declarative jenkins pipelines", "catch regressions in jenkinsfile changes", "test conditional logic in ci pipeline code"], "what_it_is": "JenkinsPipelineUnit is a Groovy testing framework for unit testing Jenkins pipelines written in the Pipeline DSL. It provides a mock execution environment for pipelines, allowing developers to mock built-in Jenkins commands, test pipeline logic and configuration, and track regressions.", "when_to_avoid": ["you need integration or end-to-end testing against a real Jenkins instance", "your project uses Groovy 4, which is not yet supported", "you don't use Jenkins for CI/CD"], "when_to_choose": ["you write complex Jenkins pipelines or shared libraries and want automated tests", "you want to mock Jenkins built-in steps without a live Jenkins server", "you need to verify pipeline behavior in CI before merging changes"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/jenkinspipelineunit", "repo": "jenkinsci/JenkinsPipelineUnit", "role": "main", "score": 88}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:07.591683+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:55:33.765624+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1d5dd4c83f682d607945cc202e18ab1752ea8f1f0ab4d64576a6f0d444a37d57", "fetched_at": "2026-08-28T04:05:07.591683+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jenkinsci/JenkinsPipelineUnit"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:07.591683+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:55:33.765624+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1d5dd4c83f682d607945cc202e18ab1752ea8f1f0ab4d64576a6f0d444a37d57", "fetched_at": "2026-08-28T04:05:07.591683+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jenkinsci/JenkinsPipelineUnit"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:55:33.765624+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1d5dd4c83f682d607945cc202e18ab1752ea8f1f0ab4d64576a6f0d444a37d57", "fetched_at": "2026-08-28T04:05:07.591683+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jenkinsci/JenkinsPipelineUnit"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:05:07.591683+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:07.591683+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:07.591683+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:55:33.765624+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1d5dd4c83f682d607945cc202e18ab1752ea8f1f0ab4d64576a6f0d444a37d57", "fetched_at": "2026-08-28T04:05:07.591683+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jenkinsci/JenkinsPipelineUnit"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:07.591683+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:07.591683+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:55:33.765624+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1d5dd4c83f682d607945cc202e18ab1752ea8f1f0ab4d64576a6f0d444a37d57", "fetched_at": "2026-08-28T04:05:07.591683+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jenkinsci/JenkinsPipelineUnit"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:07.591683+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:07.591683+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:07.591683+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:55:33.765624+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1d5dd4c83f682d607945cc202e18ab1752ea8f1f0ab4d64576a6f0d444a37d57", "fetched_at": "2026-08-28T04:05:07.591683+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jenkinsci/JenkinsPipelineUnit"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:07.591683+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:07.591683+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:55:33.765624+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1d5dd4c83f682d607945cc202e18ab1752ea8f1f0ab4d64576a6f0d444a37d57", "fetched_at": "2026-08-28T04:05:07.591683+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jenkinsci/JenkinsPipelineUnit"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:55:33.765624+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1d5dd4c83f682d607945cc202e18ab1752ea8f1f0ab4d64576a6f0d444a37d57", "fetched_at": "2026-08-28T04:05:07.591683+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jenkinsci/JenkinsPipelineUnit"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:55:33.765624+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1d5dd4c83f682d607945cc202e18ab1752ea8f1f0ab4d64576a6f0d444a37d57", "fetched_at": "2026-08-28T04:05:07.591683+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jenkinsci/JenkinsPipelineUnit"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:55:33.765624+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1d5dd4c83f682d607945cc202e18ab1752ea8f1f0ab4d64576a6f0d444a37d57", "fetched_at": "2026-08-28T04:05:07.591683+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jenkinsci/JenkinsPipelineUnit"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 67}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3507, "days_push": 9, "days_rel": 63, "gap_med": 97.5, "n_releases_24m": 7}, "score": 88, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}