นี่คือเอกสารบางส่วนเกี่ยวกับการวางท่อส่งของเจนกินส์และคำสั่ง คุณจำเป็นต้องตรวจสอบก่อนที่จะส่งมอบหรือไม่? หากไม่เป็นเช่นนั้นจะเป็นเรื่องเล็กน้อยที่จะรันคำสั่ง linting ก่อนที่ไพพ์ไลน์ของคุณจะทำงานและจะล้มเหลวหากไม่ผ่าน
  Jenkins สามารถตรวจสอบหรือ " lint " Pipeline Declarative จากบรรทัดคำสั่งก่อนที่จะรันจริง สิ่งนี้สามารถทำได้โดยใช้คำสั่ง Jenkins CLI หรือทำการร้องขอ HTTP POST พร้อมพารามิเตอร์ที่เหมาะสม เราแนะนำให้ใช้อินเตอร์เฟส SSHเพื่อเรียกใช้ linter ดูเอกสารประกอบของJenkins CLIสำหรับรายละเอียดเกี่ยวกับวิธีกำหนดค่า Jenkins อย่างเหมาะสมสำหรับการเข้าถึงบรรทัดคำสั่งอย่างปลอดภัย
  
  ผ้าสำลีผ่าน CLI ด้วย SSH
# ssh (Jenkins CLI)
# JENKINS_SSHD_PORT=[sshd port on master]
# JENKINS_HOSTNAME=[Jenkins master hostname]
ssh -p $JENKINS_SSHD_PORT $JENKINS_HOSTNAME declarative-linter < Jenkinsfile
  
  ใช้ผ้าสำลีผ่าน HTTP POST โดยใช้ curl
# curl (REST API)
# Assuming "anonymous read access" has been enabled on your Jenkins instance.
# JENKINS_URL=[root URL of Jenkins master]
# JENKINS_CRUMB is needed if your Jenkins master has CRSF protection enabled as it should
JENKINS_CRUMB=`curl "$JENKINS_URL/crumbIssuer/api/xml?xpath=concat(//crumbRequestField,\":\",//crumb)"`
curl -X POST -H $JENKINS_CRUMB -F "jenkinsfile=<Jenkinsfile" $JENKINS_URL/pipeline-model-converter/validate
  
  ตัวอย่าง
  
  ด้านล่างนี้เป็นตัวอย่างการใช้งาน Pipinter Linter ตัวอย่างแรกนี้แสดงเอาท์พุทของ linter เมื่อมันผ่านการไม่ถูกต้อง
   Jenkinsfileหนึ่งที่ขาดหายไปเป็นส่วนหนึ่งของการagentประกาศ
  
  Jenkinsfile
pipeline {
  agent
  stages {
    stage ('Initialize') {
      steps {
        echo 'Placeholder.'
      }
    }
  }
}
  
  เอาต์พุต Linter สำหรับ Jenkinsfile ที่ไม่ถูกต้อง
# pass a Jenkinsfile that does not contain an "agent" section
ssh -p 8675 localhost declarative-linter < ./Jenkinsfile
Errors encountered validating Jenkinsfile:
WorkflowScript: 2: Not a valid section definition: "agent". Some extra configuration is required. @ line 2, column 3.
     agent
     ^
WorkflowScript: 1: Missing required section "agent" @ line 1, column 1.
   pipeline }
   ^
  
  ในตัวอย่างที่สองนี้Jenkinsfileได้รับการปรับปรุงรวมถึงการขาดหายไปในany agentตอนนี้ linter รายงานว่า Pipeline นั้นถูกต้อง
  
  Jenkinsfile
pipeline {
  agent any
  stages {
    stage ('Initialize') {
      steps {
        echo 'Placeholder.'
      }
    }
  }
}
  
  เอาต์พุต Linter สำหรับ Jenkinsfile ที่ถูกต้อง
ssh -p 8675 localhost declarative-linter < ./Jenkinsfile
Jenkinsfile successfully validated.
              
java -jar jenkins-cli.jar [-s JENKINS_URL] [global options...] command [command options...] [arguments...]