Complete jenkinsfile toolkit with generation and validation capabilities
97
97%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Risky
Do not use without reviewing
{
"context": "Tests whether the agent places input outside the steps block to avoid holding agents, uses fingerprint: true with archiveArtifacts, adds beforeAgent true on when conditions, and includes cleanWs in the post block.",
"type": "weighted_checklist",
"checklist": [
{
"name": "input outside steps",
"description": "The input { } directive appears at the stage level (sibling to steps {}), NOT nested inside a steps { } block",
"max_score": 16
},
{
"name": "fingerprint true",
"description": "archiveArtifacts includes fingerprint: true",
"max_score": 14
},
{
"name": "archiveArtifacts present",
"description": "Jenkinsfile contains an archiveArtifacts directive in the post success block or in a stage",
"max_score": 8
},
{
"name": "when branch main",
"description": "The production deployment stage has a when { branch 'main' } or equivalent condition",
"max_score": 10
},
{
"name": "beforeAgent true",
"description": "The when block on the deployment stage includes beforeAgent true to skip agent allocation when the condition is false",
"max_score": 12
},
{
"name": "submitter restricted",
"description": "The input block includes a submitter field restricting approval to specific users or groups (e.g., 'release-managers')",
"max_score": 8
},
{
"name": "cleanWs in post",
"description": "Jenkinsfile post block includes always { cleanWs() } or equivalent workspace cleanup",
"max_score": 10
},
{
"name": "Declarative syntax",
"description": "Jenkinsfile uses Declarative pipeline syntax (pipeline { ... }), NOT Scripted (node { ... })",
"max_score": 8
},
{
"name": "timeout in options",
"description": "Jenkinsfile options block includes timeout()",
"max_score": 6
},
{
"name": "buildDiscarder in options",
"description": "Jenkinsfile options block includes buildDiscarder(logRotator(...))",
"max_score": 8
}
]
}