การกระทำของ GitHub สำหรับการใช้งานการวิเคราะห์แบบคงที่แบบคงที่มากกว่า 40 ภาษาที่รองรับและส่งคืนปัญหาที่ระบุในรหัส
Codacy เป็นเครื่องมือตรวจสอบรหัสอัตโนมัติที่ทำให้ง่ายต่อการตรวจสอบให้แน่ใจว่าทีมของคุณกำลังเขียนรหัสคุณภาพสูงโดยการวิเคราะห์ภาษาการเขียนโปรแกรมมากกว่า 40 ภาษาเช่น PHP, JavaScript, Python, Java และ Ruby Codacy ช่วยให้คุณสามารถกำหนดกฎคุณภาพของคุณเองรูปแบบรหัสและการตั้งค่าคุณภาพที่คุณต้องการบังคับใช้เพื่อป้องกันปัญหาบนรหัสฐานของคุณ
การกระทำของ GitHub Codacy รองรับสถานการณ์ต่อไปนี้:
โดยค่าเริ่มต้นการดำเนินการ codacy gitHub:

หากต้องการใช้การดำเนินการ gitHub กับการตั้งค่าเริ่มต้นให้เพิ่มสิ่งต่อไปนี้ในไฟล์ .github/workflows/codacy-analysis.yaml ในที่เก็บของคุณ:
name : Codacy Analysis CLI
on : ["push"]
jobs :
codacy-analysis-cli :
name : Codacy Analysis CLI
runs-on : ubuntu-latest
steps :
- name : Checkout code
uses : actions/checkout@main
- name : Run Codacy Analysis CLI
uses : codacy/codacy-analysis-cli-action@master รวมการดำเนินการ codacy gitHub เข้ากับการสแกนรหัส GitHub เพื่อแสดงผลการวิเคราะห์บนที่เก็บของคุณภายใต้ ความปลอดภัย ของแท็บ การแจ้งเตือนการสแกนรหัส หน้า
ในสถานการณ์นี้การกระทำของ GitHub:
master หรือสาขา main โดยใช้เครื่องมือวิเคราะห์รหัสสแตติกที่รองรับทั้งหมดสำหรับภาษาที่พบในที่เก็บของคุณresults.sarif ไฟล์ sarif ซึ่งจะถูกอัปโหลดไปยัง GitHub 
หากต้องการใช้การกระทำของ GitHub กับการรวมรหัส GitHub ให้เพิ่มไฟล์ต่อไปนี้ในไฟล์ .github/workflows/codacy-analysis.yaml ในที่เก็บของคุณ:
name : Codacy Security Scan
on :
push :
branches : [ "master", "main" ]
pull_request :
branches : [ "master", "main" ]
jobs :
codacy-security-scan :
name : Codacy Security Scan
runs-on : ubuntu-latest
steps :
- name : Checkout code
uses : actions/checkout@main
- name : Run Codacy Analysis CLI
uses : codacy/codacy-analysis-cli-action@master
with :
output : results.sarif
format : sarif
# Adjust severity of non-security issues
gh-code-scanning-compat : true
# Force 0 exit code to allow SARIF file generation
# This will hand over control about PR rejection to the GitHub side
max-allowed-issues : 2147483647
# Upload the SARIF file generated in the previous step
- name : Upload SARIF results file
uses : github/codeql-action/upload-sarif@main
with :
sarif_file : results.sarif ใช้การดำเนินการของ GitHub เพื่อเรียกใช้เครื่องมือฝั่ง ไคลเอ็นต์ ใด ๆ ที่สนับสนุนโดยการเข้ารหัสและอัปโหลดผลลัพธ์ของการวิเคราะห์ไปยังการเข้ารหัส
ในสถานการณ์นี้การกระทำของ GitHub:
หลังจากนี้ Codacy จะแสดงผลลัพธ์ของการวิเคราะห์การกระทำของคุณและดึงคำขอบนแดชบอร์ด UI และรายงานสถานะของการวิเคราะห์โดยตรงในคำขอดึง GitHub ของคุณ

เพื่อใช้การกระทำของ GitHub ด้วยการรวมรหัส:
ในการเข้ารหัสให้เปิดใช้งานเครื่องมือฝั่งไคลเอ็นต์แบบคอนเทนเนอร์และกำหนดค่ารูปแบบรหัสที่เกี่ยวข้องในหน้า รูปแบบรหัส ที่เก็บข้อมูลของคุณ
ในการเข้ารหัสเปิดใช้ งานการวิเคราะห์รันผ่าน Build Server ใน การตั้งค่า ที่เก็บของคุณ การวิเคราะห์ที่เก็บข้อมูล ทั่วไป
การตั้งค่านี้ช่วยให้การเข้ารหัสสามารถรอผลการวิเคราะห์ท้องถิ่นก่อนที่จะกลับมาวิเคราะห์การกระทำของคุณต่อไป
ตั้งค่าโทเค็น API เพื่อให้การดำเนินการของ GitHub สามารถตรวจสอบความถูกต้องเกี่ยวกับการเข้ารหัส:
CODACY_PROJECT_TOKENCODACY_API_TOKEN
อย่าเขียนโทเค็น API ไปยังไฟล์การกำหนดค่าของคุณ และรักษาโทเค็น API ของคุณให้ดีได้รับการปกป้องอย่างดีเนื่องจากพวกเขาให้สิทธิ์เจ้าของโครงการของคุณเกี่ยวกับการเข้ารหัส
เพิ่มสิ่งต่อไปนี้ในไฟล์ .github/workflows/codacy-analysis.yaml ในที่เก็บของของคุณโดยที่ <CLIENT_SIDE_TOOL_NAME> เป็นชื่อของเครื่องมือฝั่งไคลเอ็นต์คอนเทนเนอร์ที่การวิเคราะห์การเข้ารหัส CLI จะทำงานในเครื่องหรือไม่ระบุพารามิเตอร์นี้
name : Codacy Analysis CLI
on : ["push"]
jobs :
codacy-analysis-cli :
name : Codacy Analysis CLI
runs-on : ubuntu-latest
steps :
- name : Checkout code
uses : actions/checkout@main
- name : Run Codacy Analysis CLI
uses : codacy/codacy-analysis-cli-action@master
with :
tool : <CLIENT_SIDE_TOOL_NAME>
project-token : ${{ secrets.CODACY_PROJECT_TOKEN }}
# or
# api-token: ${{ secrets.CODACY_API_TOKEN }}
upload : true
max-allowed-issues : 2147483647หากคุณกำลังใช้เครื่องมือฝั่งไคลเอ็นต์ GO คุณต้องตั้งค่าสภาพแวดล้อม GO ก่อนที่จะเรียกใช้การวิเคราะห์การประมวลผล CLI GitHub เราขอแนะนำให้ใช้แอ็คชั่น GitHub Setup-Go สำหรับสิ่งนี้:
- name : set-up go
uses : actions/setup-go@v3
with :
# Go version currently supported by Codacy
go-version : 1.19.1เลือกระบุพารามิเตอร์ต่อไปนี้เพื่อเรียกใช้เครื่องมือฝั่งไคลเอ็นต์ แบบสแตนด์อโลน :
run-gosec : " true "
run-staticcheck : " true "เนื่องจากการเตรียมการที่ซับซ้อนของเครื่องมือ Clang-Tidy และ Faux PAS การกระทำสามารถรับไฟล์เอาต์พุตของเครื่องมือและอัปโหลดไปยังการเข้ารหัสได้แทน
clang-tidy-output : " path/to/output "
faux-pas-output : " path/to/output "หากคุณต้องการเรียกใช้เครื่องมือฝั่งไคลเอ็นต์แบบสแตนด์อโลนเท่านั้น
run-docker-tools : " false "เป็นทางเลือกเปิดใช้งานการรวม GitHub บน Codacy เพื่อให้มีข้อมูลเกี่ยวกับการวิเคราะห์ไฟล์ที่เปลี่ยนแปลงโดยตรงในคำขอดึงของคุณ
การกระทำของ Codacy GitHub เป็น wrapper สำหรับการเรียกใช้การวิเคราะห์การแปลง CLI สำหรับรายการพารามิเตอร์อินพุตที่รองรับดู action.yml หากต้องการส่งผ่านพารามิเตอร์อินพุตไปยังการดำเนินการอัปเดต Atctel with MAP
ตัวอย่างต่อไปนี้ จำกัด การวิเคราะห์ไดเรกทอรี src และให้รายละเอียดเพิ่มเติมโดยการตั้ง verbose เป็น true
- name : Run Codacy Analysis CLI
uses : codacy/codacy-analysis-cli-action@master
with :
directory : src
verbose : true เรารักการมีส่วนร่วมข้อเสนอแนะและรายงานข้อผิดพลาด หากคุณพบปัญหาในขณะที่ดำเนินการนี้ให้เปิดปัญหาในที่เก็บนี้