การกระทำนี้ผลักดันผลลัพธ์จาก PMD เป็นคำอธิบายประกอบการทำงาน
การกระทำยังสามารถใช้สำหรับเครื่องมือวิเคราะห์แบบคงที่อื่น ๆ ที่สร้างรายงานในรูปแบบ PMD XML รายงานตัวเองจะต้องสร้างขึ้นในขั้นตอนการสร้างเดิมเช่นการสร้าง Maven

path ที่จำเป็น. รูปแบบไฟล์ไดเรกทอรีหรือไวด์การ์ดที่อธิบายว่าจะหารายงานได้ที่ไหน สามารถประมวลผลไฟล์ได้หลายไฟล์ผ่านทางนิพจน์ GLOB: '**/pmd.xml'
name ไม่จำเป็น. ชื่อสำหรับการตรวจสอบเรียกใช้เพื่อสร้าง ค่าเริ่มต้นเป็น PMD
title ไม่จำเป็น. ชื่อเรื่องสำหรับการตรวจสอบเพื่อสร้าง ค่าเริ่มต้นเป็น PMD Source Code Analyzer report
token ไม่จำเป็น. โทเค็นการเข้าถึง GitHub API ค่าเริ่มต้นเป็น ${{ github.token }} ซึ่งตั้งค่าโดย actions/checkout@v2 น้อยที่สุด
name : Java CI
on : [push]
jobs :
build :
runs-on : ubuntu-latest
steps :
- uses : actions/checkout@v2
- name : Set up JDK 1.8
uses : actions/setup-java@v1
with :
java-version : 1.8
- uses : actions/cache@v1
with :
path : ~/.m2/repository
key : ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys : |
${{ runner.os }}-maven-
- name : Build with Maven
run : mvn -B verify pmd:pmd
- uses : jwgmeligmeyling/pmd-github-action@master
with :
path : ' **/pmd.xml 'และอย่าลืมเปิดใช้งานเอาต์พุต XML สำหรับปลั๊กอิน Maven:
< build >
< plugins >
< plugin >
< groupId >org.apache.maven.plugins</ groupId >
< artifactId >maven-pmd-plugin</ artifactId >
< version >3.13.0</ version >
< configuration >
< includeTests >true</ includeTests >
< failOnViolation >false</ failOnViolation >
< skipEmptyReport >false</ skipEmptyReport >
</ configuration >
</ plugin >
</ plugins >
</ build > โปรดทราบว่าโดยค่าเริ่มต้นเวิร์กโฟลว์ในเหตุการณ์ pull_request เช็คเอาต์ refs/pull/:prNumber/merge แทนที่จะเป็นหัวของคำขอดึง ด้วยเหตุนี้หมายเลขบรรทัดสำหรับการละเมิดที่สร้างขึ้นอาจไม่สอดคล้องกับหมายเลขบรรทัดจริงที่พวกเขาจะแสดงบน HEAD อย่างที่เป็นอยู่ไม่มีวิธีที่สมเหตุสมผลในการดำเนินการนี้ในการรวมการร้องขอการดึงเนื่องจากผลลัพธ์จะถูกโพสต์ไปยังเวิร์กโฟลว์ที่ไม่มีชื่อสำหรับการกระทำที่มองไม่เห็น แม้สำหรับเหตุการณ์ pull_request มีความเป็นไปได้ที่จะชำระเงินหัวคำขอดึงแทน ในการทำเช่นนั้นให้เปลี่ยนการดำเนินการ checkout ของคุณตาม:
- uses : actions/checkout@v2
with :
ref : ${{ github.event.pull_request.head.sha }} นี่คือการกระทำของ GitHub ในชุดของการกระทำของ GitHub อื่น ๆ การกระทำที่คล้ายกันรวมถึง:
เนื่องจากข้อ จำกัด ของ GitHub API เราไม่สามารถระบุว่าเวิร์กโฟลว์รันใด (หรือชุดตรวจสอบพื้นฐาน) การตรวจสอบการตรวจสอบที่สร้างขึ้นใหม่ควรเชื่อมโยงกัน เป็นผลให้เวิร์กโฟลว์ที่ก่อให้เกิดเหตุการณ์หลายประเภทอาจผลักดันผลลัพธ์ภายใต้เหตุการณ์อื่นนอกเหนือจากการดำเนินการดำเนินการสำหรับข้อมูลเพิ่มเติมดู: #4
ติดตั้งการอ้างอิง:
$ npm installสร้าง typescript และแพ็คเกจสำหรับการแจกจ่าย
$ npm run build && npm run packageเรียกใช้การทดสอบ✔
$ npm test
PASS ./index.test.js
✓ throws invalid number (3ms)
✓ wait 500 ms (504ms)
✓ test runs (95ms)
...