إجراء GitHub لتشغيل التحليل الثابت للترميز على أكثر من 40 لغة مدعومة وإرجاع المشكلات المحددة في الكود.
Codacy هي أداة مراجعة التعليمات البرمجية الآلية التي تجعل من السهل التأكد من أن فريقك يكتب رمزًا عالي الجودة من خلال تحليل أكثر من 40 لغة برمجة مثل PHP و JavaScript و Python و Java و Ruby. يتيح لك CODACY تحديد قواعد الجودة الخاصة بك وأنماط التعليمات البرمجية وإعدادات الجودة التي ترغب في إنفاذها لمنع المشكلات الموجودة على قاعدة الشفرة الخاصة بك.
يدعم عمل GitHub Codacy السيناريوهات التالية:
بشكل افتراضي ، عمل GitHub Codacy:

لاستخدام إجراء 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 دمج إجراءات GitHub Codacy مع مسح رمز 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 لتشغيل أي من أدوات من جانب العميل المعتمدة التي تدعمها Codacy وتحميل نتائج التحليل إلى الترميز.
في هذا السيناريو ، عمل جيثب:
بعد ذلك ، تعرض CODACY نتائج تحليل الالتزامات الخاصة بك وسحب الطلبات على لوحات معلومات واجهة المستخدم ، ويبلغ عن حالة التحليل مباشرة على طلبات سحب github.

لاستخدام عمل github مع تكامل الترميز:
على الترميز ، قم بتمكين أداة من جانب العميل الحاوية وتكوين أنماط التعليمات البرمجية المقابلة في صفحة أنماط رمز المستودع الخاص بك.
على CODACY ، قم بتمكين تحليل التشغيل من خلال Build Server في إعدادات المستودع الخاص بك ، Tab General ، تحليل المستودع .
يمكّن هذا الإعداد CODACY من انتظار نتائج التحليل المحلي قبل استئناف تحليل الالتزامات الخاصة بك.
قم بإعداد رمز API للسماح لعمل github بالتوثيق على الترميز:
CODACY_PROJECT_TOKEN .CODACY_API_TOKEN .
️ لا تكتب مطلقًا رموز API إلى ملفات التكوين الخاصة بك والحفاظ على رموز API محمية جيدًا ، حيث تمنح أذونات المالك لمشاريعك على الترميز.
أضف ما يلي إلى ملف .github/workflows/codacy-analysis.yaml في المستودع الخاص بك ، حيث <CLIENT_SIDE_TOOL_NAME> هو اسم أداة من جانب العميل الحاوية التي سيتم تشغيل CODACY CLI محليًا ، أو لا تحدد هذه المعلمة لتشغيل جميع الأدوات المدعومة بواسطة CODACY:
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 قبل تشغيل إجراء تحليل CODACY CLI github. نوصي باستخدام إجراء الإعداد github لهذا:
- 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 "إذا كنت ترغب فقط في تشغيل الأدوات المستقلة من جانب العميل وليس جميع الأدوات الحاوية التي تدعمها Codacy ، حدد:
run-docker-tools : " false "اختياريا ، تمكين تكامل GitHub على الترميز للحصول على معلومات حول تحليل الملفات التي تم تغييرها مباشرة على طلبات السحب الخاصة بك.
عمل github codacy هو غلاف لتشغيل Codacy Analysis CLI. للحصول على قائمة بمعلمات الإدخال المدعومة ، انظر action.yml . لتمرير معلمات الإدخال إلى الإجراء ، قم بتحديث الخريطة with .
يقتصر المثال التالي على تحليل دليل src ويوفر تفاصيل إضافية عن طريق تعيين verbose إلى true .
- name : Run Codacy Analysis CLI
uses : codacy/codacy-analysis-cli-action@master
with :
directory : src
verbose : true نحن نحب المساهمات والتعليقات وتقارير الأخطاء. إذا واجهت مشكلات أثناء تشغيل هذا الإجراء ، فتح مشكلة في هذا المستودع.