


يوفر ReviewDog وسيلة لنشر التعليقات المراجعة إلى خدمات استضافة التعليمات البرمجية ، مثل GitHub ، تلقائيًا من خلال الاندماج مع أي أدوات Linter بسهولة. يستخدم إخراجًا من أدوات الوبر ونشرها كتعليق إذا كانت النتائج في مختلف التصحيحات للمراجعة.
يدعم ReviewDog أيضًا تشغيل البيئة المحلية لتصفية إخراج أدوات الوبر بواسطة Diff.
تصميم مستند



# Install the latest version. (Install it into ./bin/ by default).
$ curl -sfL https://raw.githubusercontent.com/reviewdog/reviewdog/master/install.sh | sh -s
# Specify installation directory ($(go env GOPATH)/bin/) and version.
$ curl -sfL https://raw.githubusercontent.com/reviewdog/reviewdog/master/install.sh | sh -s -- -b $( go env GOPATH ) /bin [vX.Y.Z]
# In alpine linux (as it does not come with curl by default)
$ wget -O - -q https://raw.githubusercontent.com/reviewdog/reviewdog/master/install.sh | sh -s [vX.Y.Z]يمكنك أيضًا استخدام إصدار Nightly ReviewDog لتجربة أحدث تحسينات ReviewDog كل يوم!
$ curl -sfL https://raw.githubusercontent.com/reviewdog/nightly/master/install.sh | sh -s -- -b $( go env GOPATH ) /bin steps :
- uses : reviewdog/action-setup@v1
with :
reviewdog_version : latest # Optional. [latest,nightly,v.X.Y.Z]يمكنك أيضًا تثبيت ReviewDog باستخدام المشروب:
$ brew install reviewdog/tap/reviewdog
$ brew upgrade reviewdog/tap/reviewdog > scoop install reviewdog
$ go install github.com/reviewdog/reviewdog/cmd/reviewdog@latestيقبل ReviewDog أي برنامج التحويل البرمجي أو الناتج عن stdin ويقوم بتوزيعه مع Scan-F مثل "Errorformat" ، وهو ميزة منفذ Vim's Errorformat.
على سبيل المثال ، إذا كان تنسيق النتيجة هو {file}:{line number}:{column number}: {message} ، يجب أن يكون errorformat %f:%l:%c: %m ويمكنك تمريره كوسائط -efm .
$ golint ./...
comment_iowriter.go:11:6: exported type CommentWriter should have comment or be unexported
$ golint ./... | reviewdog -efm= " %f:%l:%c: %m " -diff= " git diff FETCH_HEAD "| اسم | وصف |
|---|---|
| ٪ و | اسم الملف |
| ٪ ل | رقم السطر |
| ٪ ج | رقم العمود |
| ٪ م | رسالة الخطأ |
| ٪٪ | شخصية "٪" واحدة |
| ... | ... |
يرجى الاطلاع على ReviewDog/errorformat و: H errorformat إذا كنت ترغب في التعامل مع إخراج أكثر تعقيدًا. يمكن لـ "errorformat" التعامل مع الإخراج الأكثر تعقيدًا مثل رسالة خطأ متعددة الخطوط.
يمكنك أيضًا تجربة errorformat على الملعب!
باستخدام ميزة "Errorformat" ، يمكن لـ ReviewDog دعم أي إخراج أداة بسهولة.
ولكن ، ليس عليك كتابة "errorformat" في كثير من الحالات. تدعم ReviewDog خطأ محدد مسبقًا للأدوات الرئيسية.
يمكنك العثور على اسم Errorformat المتاح عن طريق reviewdog -list ويمكنك استخدامه مع -f={name} .
$ reviewdog -list
golint linter for Go source code - https://github.com/golang/lint
govet Vet examines Go source code and reports suspicious problems - https://golang.org/cmd/vet/
sbt the interactive build tool - http://www.scala-sbt.org/
...$ golint ./... | reviewdog -f=golint -diff= " git diff FETCH_HEAD "يمكنك إضافة "errorformat" المعرفة مسبقًا من خلال المساهمة في ReviewDog/errorformat
تدعم ReviewDog تنسيق التشخيص المراجعة (RDFormat) كتنسيق تشخيص عام ويدعم كل من تنسيقات RDJSON و RDJSONL.
يدعم RDFormat هذه الميزات الغنية مثل التعليقات التي تراوحت عن متعددة ، وشدة ، رمز القاعدة مع عنوان URL ، واقتراحات التعليمات البرمجية.
$ < linter > | < convert-to-rdjson > | reviewdog -f=rdjson -reporter=github-pr-review
# or
$ < linter > | < convert-to-rdjsonl > | reviewdog -f=rdjsonl -reporter=github-pr-review
يمكنك استخدام eslint-formatter-rdjson لإخراج rdjson كتنسيق إخراج ESLINT.
$ npm install --save-dev eslint-formatter-rdjson
$ eslint -f rdjson . | reviewdog -f=rdjson -reporter=github-pr-reviewأو يمكنك أيضًا استخدام ReviewDog/Action-eslint لإجراءات GitHub.

تدعم ReviewDog Diff (التنسيق الموحد) كتنسيق إدخال مفيد بشكل خاص لاقتراحات التعليمات البرمجية. يمكن لـ ReviewDog الاندماج مع أي أدوات اقتراحات الرمز أو التنسيق للإبلاغ عن الاقتراحات.
-f.diff.strip : خيار -f=diff : Strip NUM المكونات الرائدة من أسماء ملفات Diff (أي ما يعادل 'Patch -P') (الافتراضي هو 1 لـ GIT Diff) (افتراضي 1)
$ < any-code-fixer/formatter > # e.g. eslint --fix, gofmt
$ TMPFILE= $( mktemp )
$ git diff > " ${TMPFILE} "
$ git stash -u && git stash drop
$ reviewdog -f=diff -f.diff.strip=1 -reporter=github-pr-review < " ${TMPFILE} "أو يمكنك أيضًا استخدام ReviewDog/Action-Suggester لإجراءات GitHub.
إذا دعمت أدوات التشخيص تنسيق إخراج DIFF ، فيمكنك تنشيط DIFF مباشرة.
$ gofmt -s -d . | reviewdog -name= " gofmt " -f=diff -f.diff.strip=0 -reporter=github-pr-review
$ shellcheck -f diff $( shfmt -f . ) | reviewdog -f=diffيقبل ReviewDog أيضًا تنسيق CheckStyle XML أيضًا. إذا كان Linter يدعم تنسيق CheckStyle كتنسيق ، فيمكنك استخدام -f = checkStyle بدلاً من استخدام "errorformat".
# Local
$ eslint -f checkstyle . | reviewdog -f=checkstyle -diff= " git diff "
# CI (overwrite tool name which is shown in review comment by -name arg)
$ eslint -f checkstyle . | reviewdog -f=checkstyle -name= " eslint " -reporter=github-checkأيضًا ، إذا كنت ترغب في تمرير تنسيق JSON/XML/etc ... يمكنك كتابة محول.
$ < linter > | < convert-to-checkstyle > | reviewdog -f=checkstyle -name= " <linter> " -reporter=github-pr-checkReviewDog يدعم تنسيق SARIF 2.1.0 JSON. يمكنك استخدام ReviewDog مع -F = SARIF.
# Local
$ eslint -f @microsoft/eslint-formatter-sarif . | reviewdog -f=sarif -diff= " git diff " 

تدعم ReviewDog ميزة اقتراحات الكود مع RDFormat أو Diff إدخال. يمكنك أيضًا استخدام ReviewDog/Action-Suggester لإجراءات GitHub.
يمكن أن يقترح ReviewDog تغييرات في التعليمات البرمجية جنبًا إلى جنب مع نتائج التشخيص إذا كانت أداة التشخيص تدعم بيانات اقتراحات الرمز. يمكنك دمج ReviewDog مع أي أدوات تثبيت رمز وأي رمز ينسيق مع إدخال DIFF أيضًا.
لاحظ أنه لا يوفر جميع المراسلين الدعم لاقتراحات التعليمات البرمجية.
-reporter | دعم الاقتراح |
|---|---|
local | لا [1] |
github-check | لا [2] |
github-pr-check | لا [2] |
github-pr-review | نعم |
gitlab-mr-discussion | نعم |
gitlab-mr-commit | لا [2] |
gerrit-change-review | لا [1] |
bitbucket-code-report | لا [2] |
gitea-pr-review | لا [2] |
يمكن أيضًا التحكم في المراجعة عبر ملف تكوين .reviewdog.yml بدلاً من الوسائط "-f" أو "-EFM".
باستخدام .reviewDog.yml ، يمكنك تشغيل نفس الأوامر لكل من خدمة CI والبيئة المحلية بما في ذلك تكامل المحرر بسهولة.
runner :
<tool-name> :
cmd : <command> # (required)
errorformat : # (optional if you use `format`)
- <list of errorformat>
format : <format-name> # (optional if you use `errorformat`. e.g. golint,rdjson,rdjsonl)
name : <tool-name> # (optional. you can overwrite <tool-name> defined by runner key)
level : <level> # (optional. same as -level flag. [info,warning,error])
# examples
golint :
cmd : golint ./...
errorformat :
- " %f:%l:%c: %m "
level : warning
govet :
cmd : go vet -all .
format : govet
your-awesome-linter :
cmd : awesome-linter run
format : rdjson
name : AwesomeLinter $ reviewdog -diff= " git diff FETCH_HEAD "
project/run_test.go:61:28: [golint] error strings should not end with punctuation
project/run.go:57:18: [errcheck] defer os.Setenv(name, os.Getenv(name))
project/run.go:58:12: [errcheck] os.Setenv(name, " " )
# You can use -runners to run only specified runners.
$ reviewdog -diff= " git diff FETCH_HEAD " -runners=golint,govet
project/run_test.go:61:28: [golint] error strings should not end with punctuation
# You can use -conf to specify config file path.
$ reviewdog -conf=./.reviewdog.yml -reporter=github-pr-checkيعد تنسيق الإخراج للتشغيل القائم على تكوين المشروع أحد التنسيقات التالية.
<file>: [<tool name>] <message><file>:<lnum>: [<tool name>] <message><file>:<lnum>:<col>: [<tool name>] <message>يمكن لـ ReviewDog الإبلاغ عن النتائج في كل من البيئة المحلية وخدمات المراجعة كتكامل مستمر.
يمكن لـ ReviewDog العثور على النتائج التي تم تقديمها حديثًا عن طريق تصفية نتائج Linter باستخدام Diff. يمكنك تمرير أمر -diff كـ -ARG.
$ golint ./... | reviewdog -f=golint -diff= " git diff FETCH_HEAD "

تقارير GitHub-PR-Check Reporter تقارير نتائج الشيكات github.
يمكنك تغيير مستوى التقرير لهذا المراسل حسب الحقل level في ملف التكوين أو علامة -level . يمكنك التحكم في نتائج التحقق من حالة github مع هذه الميزة. (افتراضي: خطأ)
| مستوى | حالة جيثب |
|---|---|
info | حيادي |
warning | حيادي |
error | فشل |
هناك خياران لاستخدام هذا المراسل.
مثال: .github/سير العمل/ReviewDog.yml
- name : Run reviewdog
env :
REVIEWDOG_GITHUB_API_TOKEN : ${{ secrets.GITHUB_TOKEN }}
run : |
golint ./... | reviewdog -f=golint -reporter=github-pr-checkانظر قسم إجراءات GitHub أيضًا. يمكنك أيضًا استخدام إجراءات المراجعة العامة Dithub.
يرسل ReviewDog CLI طلبًا لمراجعة خادم تطبيق GitHub ونتائج نشر الخادم كما يتحقق GitHub ، لأن Check API مدعوم فقط لتطبيق GitHub وإجراءات github.
REVIEWDOG_TOKEN أو تشغيل ReviewDog CLI في مقدمي CI الموثوق بهم.https://reviewdog.app/gh/{owner}/{repo-name} . $ export REVIEWDOG_TOKEN= " <token> "
$ reviewdog -reporter=github-pr-checkملاحظة: الرمز المميز غير مطلوب إذا قمت بتشغيل ReviewDog في Travis أو Appveyor.
حذر
كما هو موضح أعلاه ، يعتمد مراسل GitHub-PRE-Check مع الخيار 2 على خادم تطبيق GitHub ReviewDOG. يعمل الخادم مع أموال جيب Haya14busa في الوقت الحالي وقد أقوم بتكسير الأشياء ، لذلك لا يمكنني التأكد من أن الخادم يعمل 24 ساعة و 365 يومًا.
تحديث: بدأت في الحصول على الدعم من قبل OpenCollective و Github الراعي. انظر دعم المراجعة
يمكنك استخدام مراسل GitHub-PR-Review أو استخدام Run ReviewDog ضمن إجراءات GitHub إذا كنت لا ترغب في الاعتماد على خادم ReviewDog.
إنه في الأساس هو نفسه- -reporter=github-pr-check باستثناء أنه يعمل ليس فقط لطلب السحب ولكن أيضًا للالتزام.

يمكنك إنشاء شارة مراجعة لهذا المراسل.
تقارير GitHub-PR-Review Reporter عن نتائج Github GullRequest مراجعة التعليقات باستخدام الرمز المميز لـ GitHub Personal API. GitHub Enterprise مدعوم أيضًا.
repo للمستودعات الخاصة أو public_repo للمستودعات العامة. $ export REVIEWDOG_GITHUB_API_TOKEN= " <token> "
$ reviewdog -reporter=github-pr-reviewبالنسبة إلى GitHub Enterprise ، قم بتعيين نقطة نهاية API بواسطة متغير البيئة.
$ export GITHUB_API= " https://example.githubenterprise.com/api/v3/ "
$ export REVIEWDOG_INSECURE_SKIP_VERIFY=true # set this as you need to skip verifying SSLراجع قسم إجراءات GitHub أيضًا إذا كان يمكنك استخدام إجراءات GitHub. يمكنك أيضًا استخدام إجراءات المراجعة العامة Dithub.
يستخدم GitHub-PR-ANNOTATIONS تنسيق توضيح إجراءات GITHUB لإخراج الأخطاء والتحذيرات إلى stdout على سبيل المثال
::error line=11,col=41,file=app/index.md::[vale] reported by reviewdog ?%0A[demo.Spelling] Did you really mean 'boobarbaz'?%0A%0ARaw Output:%0A{"message": "[demo.Spelling] Did you really mean 'boobarbaz'?", "location": {"path": "app/index.md", "range": {"start": {"line": 11, "column": 41}}}, "severity": "ERROR"}
يتطلب هذا المراسل رمزًا صالحًا لـ GitHub API لإنشاء DEFF ، ولكنه لن يستخدم الرمز المميز للإبلاغ عن الأخطاء.

إصدار gitlab المطلوب:> = v10.8.0
تقارير مراسل Gitlab-MR-Discussion عن نتائج مناقشات Gitlab Mergerequest باستخدام رمز الوصول إلى واجهة برمجة تطبيقات GitLab الشخصية. احصل على الرمز المميز مع نطاق api من https://gitlab.com/profile/personal_access_tokens.
$ export REVIEWDOG_GITLAB_API_TOKEN= " <token> "
$ reviewdog -reporter=gitlab-mr-discussion سيتم استخدام متغير البيئة CI_API_V4_URL ، الذي تم تعريفه تلقائيًا بواسطة GITLAB CI (V11.7 فصاعدًا) ، لمعرفة عنوان URL لـ GITLAB API.
بدلاً من ذلك ، يمكن أيضًا تحديد GITLAB_API ، وفي هذه الحالة سوف يكون لها الأسبقية على CI_API_V4_URL .
$ export GITLAB_API= " https://example.gitlab.com/api/v4 "
$ export REVIEWDOG_INSECURE_SKIP_VERIFY=true # set this as you need to skip verifying SSLيشبه Gitlab-MR-Commit مراسل Gitlab-MR-Discussion ولكنه تقارير نتائج لكل التزام في Gitlab Mergerequest.
يوصى باستخدام Gitlab-MR-Discussion ، ولكن يمكنك استخدام مراسل Gitlab-MR-Commit إذا كان إصدار GitLAB الخاص بك تحت V10.8.0.
$ export REVIEWDOG_GITLAB_API_TOKEN= " <token> "
$ reviewdog -reporter=gitlab-mr-commitتقارير Gerrit-Change-Review Reporter Residents لتغيير Gerrit باستخدام Gerrit Rest APIs.
يدعم المراسل المصادقة الأساسية والمصادقة المستندة إلى git-cookie للإبلاغ عن نتائج.
قم بتعيين متغيرات بيئة GERRIT_USERNAME و GERRIT_PASSWORD للمصادقة الأساسية ، ووضع GIT_GITCOOKIE_PATH للمصادقة المستندة إلى ملف تعريف الارتباط GIT.
$ export GERRIT_CHANGE_ID=changeID
$ export GERRIT_REVISION_ID=revisionID
$ export GERRIT_BRANCH=master
$ export GERRIT_ADDRESS=http:// < gerrit-host > : < gerrit-port >
$ reviewdog -reporter=gerrit-change-review

يقوم تقرير Bitbucket-Code بإنشاء تقرير رؤى Bitbucket Code المشروح.
في الوقت الحالي ، يتم دعم وضع no-filter فقط ، لذلك يتم مسح المشروع بأكمله في كل تشغيل. يتم تخزين التقارير لكل التزام ويمكن مشاهدتها لكل التزام من واجهة مستخدم خطوط أنابيب Bitbucket أو في طلب السحب. في طلب السحب ، سيتم شرح خطوط التعليمات البرمجية المتأثرة في DIFF ، وكذلك ستتمكن من تصفية التعليقات التوضيحية حسب طلب السحب هذا أو جميعًا .
إذا تم تشغيله من خطوط أنابيب Bitbucket ، فلن يكون هناك حاجة إلى تكوين إضافي (حتى بيانات الاعتماد). إذا كنت تعمل محليًا أو من نظام CI الآخر ، فستحتاج إلى توفير بيانات اعتماد API Bitbucket:
BITBUCKET_USER و BITBUCKET_PASSWORDBITBUCKET_ACCESS_TOKEN $ export BITBUCKET_USER= " my_user "
$ export BITBUCKET_PASSWORD= " my_password "
$ reviewdog -reporter=bitbucket-code-report لنشر تقرير إلى خادم Bitbucket ، استخدم BITBUCKET_SERVER_URL المتغير:
$ export BITBUCKET_USER= " my_user "
$ export BITBUCKET_PASSWORD= " my_password "
$ export BITBUCKET_SERVER_URL= " https://bitbucket.my-company.com "
$ reviewdog -reporter=bitbucket-code-reportمثال: .github/سير العمل/ReviewDog.yml
name : reviewdog
on : [pull_request]
jobs :
reviewdog :
name : reviewdog
runs-on : ubuntu-latest
steps :
# ...
- uses : reviewdog/action-setup@v1
with :
reviewdog_version : latest # Optional. [latest,nightly,v.X.Y.Z]
- name : Run reviewdog
env :
REVIEWDOG_GITHUB_API_TOKEN : ${{ secrets.GITHUB_TOKEN }}
run : |
reviewdog -reporter=github-pr-check -runners=golint,govet
# or
reviewdog -reporter=github-pr-review -runners=golint,govet.github/سير العمل/المراجعة
فقط github-check Reporter يمكنه الركض في حدث الدفع أيضًا.
name : reviewdog (github-check)
on :
push :
branches :
- master
pull_request :
jobs :
reviewdog :
name : reviewdog
runs-on : ubuntu-latest
steps :
# ...
- name : Run reviewdog
env :
REVIEWDOG_GITHUB_API_TOKEN : ${{ secrets.GITHUB_TOKEN }}
run : |
reviewdog -reporter=github-check -runners=golint,govet يمكنك استخدام إجراءات github العامة لبدء استخدام ReviewDog بسهولة! ؟
Dockerfile ..env .... والمزيد على Github Marketplace.
الإجراءات المفقودة؟ تحقق من المراجعة/الإجراءات الإجراءات وإنشاء إجراء مراجعة جديد!
يرجى فتح طلب سحب لإضافة إجراءات المراجعة التي تم إنشاؤها هنا. يمكنني أيضًا وضع المستودعات الخاصة بك قيد المراجعة Doy Org و Co-Maintain الإجراءات. مثال: Action-Tflint.

GITHUB_TOKEN للحصول على طلبات السحب من مستودع متشوق لا يتمتع بوصول الكتابة للتحقق من واجهة برمجة التطبيقات أو مراجعة API بسبب تقييد إجراءات github.
بدلاً من ذلك ، يستخدم ReviewDog أوامر تسجيل من إجراءات GitHub لنشر النتائج كتعليقات مماثلة لمراسل github-pr-check .
لاحظ أن هناك قيودًا على التعليقات التوضيحية التي تم إنشاؤها بواسطة أوامر تسجيل ، مثل Max # of anotations في المدى. يمكنك التحقق من سجل إجراءات GitHub لرؤية النتائج الكاملة في مثل هذه الحالات.

بصفتنا دعم مراسل github-check ، يمكننا إنشاء شارة عمل ReviewDog GitHub للتحقق من النتيجة ضد Master Commice على سبيل المثال. ؟
مثال:
<!-- Replace <OWNER> and <REPOSITORY>. It assumes workflow name is "reviewdog" -->
[](https://github.com/<OWNER>/<REPOSITORY>/actions?query=workflow%3Areviewdog+event%3Apush+branch%3Amaster)
إذا كنت تستخدم -reporter = github-pre-check في Travis CI ، فلن تحتاج إلى تعيين REVIEWDOG_TOKEN .
مثال:
install :
- mkdir -p ~/bin/ && export PATH="~/bin/:$PATH"
- curl -sfL https://raw.githubusercontent.com/reviewdog/reviewdog/master/install.sh| sh -s -- -b ~/bin
script :
- reviewdog -conf=.reviewdog.yml -reporter=github-pr-check تخزين الرمز المميز لـ GitHub API بواسطة مفاتيح تشفير Travis.
$ gem install travis
$ travis encrypt REVIEWDOG_GITHUB_API_TOKEN= < token > --add env.globalمثال:
env :
global :
- secure : <token>
install :
- mkdir -p ~/bin/ && export PATH="~/bin/:$PATH"
- curl -sfL https://raw.githubusercontent.com/reviewdog/reviewdog/master/install.sh| sh -s -- -b ~/bin
script :
- >-
golint ./... | reviewdog -f=golint -reporter=github-pr-reviewأمثلة
store REVIEWDOG_GITHUB_API_TOKEN (أو REVIEWDOG_TOKEN for github-pp-check) في متغيرات البيئة-circleci
version : 2
jobs :
build :
docker :
- image : golang:latest
steps :
- checkout
- run : curl -sfL https://raw.githubusercontent.com/reviewdog/reviewdog/master/install.sh| sh -s -- -b ./bin
- run : go vet ./... 2>&1 | ./bin/reviewdog -f=govet -reporter=github-pr-review
# Deprecated: prefer GitHub Actions to use github-pr-check reporter.
- run : go vet ./... 2>&1 | ./bin/reviewdog -f=govet -reporter=github-pr-check store REVIEWDOG_GITLAB_API_TOKEN في متغير gitlab CI.
reviewdog :
script :
- reviewdog -reporter=gitlab-mr-discussion
# Or
- reviewdog -reporter=gitlab-mr-commitلا يلزم تكوين إضافي.
pipelines :
default :
- step :
name : Reviewdog
image : golangci/golangci-lint:v1.31-alpine
script :
- wget -O - -q https://raw.githubusercontent.com/reviewdog/reviewdog/master/install.sh |
sh -s -- -b $(go env GOPATH)/bin
- golangci-lint run --out-format=line-number ./... | reviewdog -f=golangci-lint -reporter=bitbucket-code-reportيمكنك استخدام ReviewDog لنشر التعليقات من أي مكان مع متغيرات البيئة التالية.
| اسم | وصف |
|---|---|
CI_PULL_REQUEST | رقم طلب السحب (على سبيل المثال 14) |
CI_COMMIT | SHA1 للبناء الحالي |
CI_REPO_OWNER | مالك المستودع (على سبيل المثال "ReviewDog" لـ https://github.com/reviewdog/errorformat) |
CI_REPO_NAME | اسم المستودع (على سبيل المثال "errorformat" لـ https://github.com/reviewdog/errorformat) |
CI_BRANCH | [اختياري] فرع الالتزام |
$ export CI_PULL_REQUEST=14
$ export CI_REPO_OWNER=haya14busa
$ export CI_REPO_NAME=reviewdog
$ export CI_COMMIT= $( git rev-parse HEAD )وضبط رمز الرمز المميز إذا لزم الأمر.
$ REVIEWDOG_TOKEN= " <token> "
$ REVIEWDOG_GITHUB_API_TOKEN= " <token> "
$ REVIEWDOG_GITLAB_API_TOKEN= " <token> " إذا لم تقدم خدمة CI معلومات مثل معرّف طلب السحب - يمكن للمراجعة Defere ذلك باسم الفرع وارتكاب SHA. فقط مرر العلم guess :
$ reviewdog -conf=.reviewdog.yml -reporter=github-pr-check -guess$ export CI_PULL_REQUEST= ${ghprbPullId}
$ export CI_REPO_OWNER=haya14busa
$ export CI_REPO_NAME=reviewdog
$ export CI_COMMIT= ${ghprbActualCommit}
$ export REVIEWDOG_INSECURE_SKIP_VERIFY=true # set this as you need
# To submit via reviewdog server using github-pr-check reporter
$ REVIEWDOG_TOKEN= " <token> " reviewdog -reporter=github-pr-check
# Or, to submit directly via API using github-pr-review reporter
$ REVIEWDOG_GITHUB_API_TOKEN= " <token> " reviewdog -reporter=github-pr-review
# Or, to submit directly via API using github-pr-check reporter (requires GitHub App Account configured)
$ REVIEWDOG_SKIP_DOGHOUSE=true REVIEWDOG_GITHUB_API_TOKEN= " <token> " reviewdog -reporter=github-pr-check بشكل افتراضي ( -fail-level=none ) ، ستعود المراجعة 0 كرمز خروج حتى لو وجدت أخطاء. سوف يخرج ReviewDog مع الكود 1 بمستوى -fail-level=[any,info,warning,error] علامة إذا وجدت مشكلة واحدة على الأقل مع شدة أكبر من أو تساوي المستوى المحدد. يمكن أن يكون هذا مفيدًا عندما تستخدمه كخطوة في خط أنابيب CI الخاص بك وتريد وضع علامة على الخطوة فشل إذا تم العثور على أي خطأ بواسطة Linter.
يمكنك أيضًا استخدام علامة -level لتكوين Revel Revel.
مراجعة نتائج مرشح DIFF ويمكنك التحكم في كيفية نتائج مراجعة مرشح المرشح بواسطة علامة -filter-mode . أوضاع التصفية المتاحة كما هو موضح أدناه.
added (افتراضي)نتائج تصفية الخطوط المضافة/المعدلة.
diff_contextنتائج التصفية بواسطة Diff Context. IE تم تغيير الخطوط +-N الخطوط (ن = 3 على سبيل المثال).
fileتصفية النتائج عن طريق الملف المضافة/المعدلة. ستقوم IE ReviewDog بالإبلاغ عن النتائج طالما أنها في ملف إضافي/تعديل حتى لو لم تكن النتائج في الفرق الفعلية.
nofilterلا ترشح أي نتائج. مفيد لنشر النتائج قدر الإمكان والتحقق من النتائج الأخرى في وحدة التحكم في نفس الوقت.
-fail-on-error يعمل أيضًا مع أي وضع مرشح ويمكنه التقاط جميع النتائج من أي بياضات مع وضع nofilter .
مثال:
$ reviewdog -reporter=github-pr-review -filter-mode=nofilter -fail-on-error لاحظ أنه لا يوفر جميع المراسلين دعمًا كاملاً لوضع التصفية بسبب الحد من API. EG github-pr-review Reporter يستخدم GitHub Review API ، لكن واجهة برمجة التطبيقات هذه لا تدعم نشر التعليقات خارج سياق الاختلاف ، لذلك سوف تستخدم ReviewDog مراجعة التعليقات التوضيحية كاحتفال لنشر هذه التعليقات [1].
-reporter -filter-mode | added | diff_context | file | nofilter |
|---|---|---|---|---|
local | نعم | نعم | نعم | نعم |
github-check | نعم | نعم | نعم | نعم |
github-pr-check | نعم | نعم | نعم | نعم |
github-pr-review | نعم | نعم | مدعوم جزئيا [1] | مدعوم جزئيا [1] |
github-pr-annotations | نعم | نعم | نعم | نعم |
gitlab-mr-discussion | نعم | نعم | نعم | مدعوم جزئيا [2] |
gitlab-mr-commit | نعم | مدعوم جزئيا [2] | مدعوم جزئيا [2] | مدعوم جزئيا [2] |
gerrit-change-review | نعم | نعم؟ [3] | نعم؟ [3] | مدعوم جزئيا؟ [2] [3] |
bitbucket-code-report | لا [4] | لا [4] | لا [4] | نعم |
gitea-pr-review | نعم | نعم | مدعوم جزئيا [2] | مدعوم جزئيا [2] |
استخدم علم -tee لإظهار معلومات التصحيح.
reviewdog -filter-mode=nofilter -teehaya14busa
كن راعي Github لكل مساهم أو كن مؤيدًا أو راعيًا من OpenCollective.