


ReviewDog는 Linter 도구와 쉽게 통합하여 GitHub와 같은 코드 호스팅 서비스에 검토 의견을 게시하는 방법을 제공합니다. 보풀 도구의 출력을 사용하고 검토 할 패치의 차이가있는 경우 댓글로 게시합니다.
ReviewDog는 또한 로컬 환경에서 실행되는 것을 지원하여 Diff에 의해 Lint Tools의 출력을 필터링합니다.
디자인 DOC



# 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]Mightly 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]Brew를 사용하여 리뷰어를 설치할 수도 있습니다.
$ brew install reviewdog/tap/reviewdog
$ brew upgrade reviewdog/tap/reviewdog > scoop install reviewdog
$ go install github.com/reviewdog/reviewdog/cmd/reviewdog@latestReviewDog는 Stdin의 컴파일러 또는 Linter 결과를 수락하고 Vim의 Errorformat 기능의 포트 인 Scan-F와 같은 '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 에서 사용 가능한 ErrorFormat 이름을 찾을 수 있으며 -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 "reviewDog/ErrorFormat에 기여하여 지원되는 사전 정의 된 'ERRORFORMAT'를 추가 할 수 있습니다.
ReviewDog는 ReviewDog Diagnostic Format (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또는 github 동작에 리뷰어/액션-잉글린트를 사용할 수도 있습니다.

ReviewDog는 Code 제안에 특히 유용한 입력 형식으로 Diff (Unified Format)를 지원합니다. ReviewDog는 모든 코드 제안 도구 또는 포맷터와 통합하여 제안을보고 할 수 있습니다.
-f.diff.strip : -f=diff : diff 파일 이름의 스트립 num 선형 구성 요소 ( 'patch -p'에 해당) (기본값은 git diff의 경우 1) (기본값 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} "또는 GitHub 작업에 ReviewDog/Action-Suggester를 사용할 수도 있습니다.
진단 도구가 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=diffReviewDog는 또한 CheckStyle XML 형식도 허용합니다. Linter가 CheckStyle 형식을 보고서 형식으로 지원하는 경우 'ErrorFormat'을 사용하는 대신 -f = CheckStyle을 사용할 수 있습니다.
# 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 형식을 지원합니다. -f = sarif 옵션으로 리뷰어를 사용할 수 있습니다.
# Local
$ eslint -f @microsoft/eslint-formatter-sarif . | reviewdog -f=sarif -diff= " git diff " 

ReviewDog는 RDFormat 또는 Diff Input을 사용하여 코드 제안 기능을 지원합니다. GitHub 액션에는 ReviewDog/Action-Suggester를 사용할 수도 있습니다.
진단 도구가 코드 제안 데이터를 지원하는 경우 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는 "-f"또는 "-efm"인수 대신 .reviewdog.yml 구성 파일을 통해 제어 할 수 있습니다.
.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는 Diff를 사용하여 Linter 결과를 필터링하여 새로 소개 된 결과를 찾을 수 있습니다. diff 명령을 -diff arg로 전달할 수 있습니다.
$ golint ./... | reviewdog -f=golint -diff= " git diff FETCH_HEAD "

Github-PR-Check Reporter는 결과를 GitHub 확인에보고합니다.
구성 파일 또는 -level 플래그에서 level 필드 별로이 리포터의 보고서 레벨을 변경할 수 있습니다. 이 기능으로 GitHub 상태 확인 결과를 제어 할 수 있습니다. (기본값 : 오류)
| 수준 | Github 상태 |
|---|---|
info | 중립적 |
warning | 중립적 |
error | 실패 |
이 리포터를 사용할 수있는 두 가지 옵션이 있습니다.
예 : .github/Workflows/ReviewDog.yml
- name : Run reviewdog
env :
REVIEWDOG_GITHUB_API_TOKEN : ${{ secrets.GITHUB_TOKEN }}
run : |
golint ./... | reviewdog -f=golint -reporter=github-pr-checkGitHub 조치 섹션도 참조하십시오. 공개 리뷰어 github 액션을 사용할 수도 있습니다.
ReviewDog CLI는 ReviewDog GitHub 앱 서버 및 서버 게시 결과를 GitHub 확인으로 요청합니다. Check API는 GitHub 앱 및 GitHub 작업에만 지원되기 때문입니다.
REVIEWDOG_TOKEN 또는 REVIONDOG CLI를 설정하십시오.https://reviewdog.app/gh/{owner}/{repo-name} 에서 토큰을 받으십시오. $ export REVIEWDOG_TOKEN= " <token> "
$ reviewdog -reporter=github-pr-check참고 : Travis 또는 Appveyor에서 리뷰어를 실행하면 토큰이 필요하지 않습니다.
주의
위에서 설명한 것처럼 옵션 2를 가진 Github-PR-Check 리포터는 reviewDog GitHub 앱 서버에 따라 다릅니다. 서버는 지금 Haya14busa의 용접 돈으로 실행 중이며 물건을 깨뜨릴 수 있으므로 서버가 24 시간 및 365 일을 실행할 수는 없습니다.
업데이트 : OpenCollective 및 Github 스폰서의 지원을 시작했습니다. 지원 리뷰어를 참조하십시오
reviewDog 서버에 의존하고 싶지 않은 경우 GitHub-PR-Review Reporter를 사용하거나 GitHub 작업에서 RUN 리뷰어를 사용 할 수 있습니다.
기본적으로 풀 요청뿐만 아니라 커밋에도 작동하는 것을 제외하고는 -reporter=github-pr-check 과 동일합니다.

이 리포터를위한 리뷰어 배지를 만들 수 있습니다.
Github PR-Review Reporter는 Github Personal API Access Token을 사용한 GitHub PullRequest 검토 의견에 대한 결과를보고합니다. Github Enterprise도 지원됩니다.
public_repo 에 대한 repo 확인하십시오. $ export REVIEWDOG_GITHUB_API_TOKEN= " <token> "
$ reviewdog -reporter=github-pr-reviewGitHub 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 SSLGitHub 작업을 사용할 수있는 경우 GitHub 작업 섹션도 참조하십시오. 공개 리뷰어 github 액션을 사용할 수도 있습니다.
github-pr-nantations는 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"}
이 리포터는 DIFF를 생성하기 위해 유효한 GitHub API 토큰이 필요하지만 토큰을 사용하여 오류를보고하지 않습니다.

필수 gitlab 버전 :> = v10.8.0
Gitlab-MR-Discustion Reporter는 Gitlab Personal API Access Token을 사용한 Gitlab Mergerequest 토론에 결과를보고합니다. https://gitlab.com/profile/personal_access_tokens에서 api 범위를 가진 토큰을 얻으십시오.
$ export REVIEWDOG_GITLAB_API_TOKEN= " <token> "
$ reviewdog -reporter=gitlab-mr-discussion gitlab ci (v11.7 이후)에 의해 자동으로 정의 된 CI_API_V4_URL 환경 변수는 gitlab api url을 찾는 데 사용됩니다.
또는 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 SSLGitlab-MR-Commit은 Gitlab-MR-Discustion Reporter와 유사하지만 Gitlab Mergerequest의 각 커밋에 대한 결과를보고합니다.
gitlab-mr-discustion이 권장되지만 Gitlab 버전이 v10.8.0에있는 경우 Gitlab-MR-Commit 리포터를 사용할 수 있습니다.
$ export REVIEWDOG_GITLAB_API_TOKEN= " <token> "
$ reviewdog -reporter=gitlab-mr-commitGerrit-Change-Review Reporter는 Gerrit Rest API를 사용하여 Gerrit Change에 대한 결과를보고합니다.
리포터는보고 결과를위한 기본 인증 및 Git-Cookie 기반 인증을 지원합니다.
기본 인증을 위해 GERRIT_USERNAME 및 GERRIT_PASSWORD 환경 변수를 설정하고 git 쿠키 기반 인증을 위해 GIT_GITCOOKIE_PATH 넣으십시오.
$ 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-Report 주석이 달린 비트 버킷 코드 통찰력 보고서를 생성합니다.
현재로서는 no-filter 모드 만 지원되므로 전체 프로젝트가 매번 실행할 때마다 스캔됩니다. 보고서는 커밋 당 저장되며 Bitbucket Pipelines UI 또는 풀 요청에서 커밋 당 볼 수 있습니다. 풀 요청에서 UI 영향을받는 코드 라인은 Diff에 주석이 달리며이 풀 요청 또는 모든 것에 의해 주석을 필터링 할 수 있습니다.
Bitbucket 파이프 라인에서 실행되는 경우 추가 구성이 필요하지 않습니다 (자격 증명조차도). 로컬 또는 다른 CI 시스템에서 실행중인 경우 Bitbucket API 자격 증명을 제공해야합니다.
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/Workflows/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/Workflows/ReviewDog
푸시 이벤트에서도 github-check 리포터 만 실행할 수 있습니다.
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 액션을 사용하여 리뷰어를 쉽게 사용하기 시작할 수 있습니다! ?
Dockerfile 을 보려고합니다..env 파일로 dotenv-linter를 실행합니다.... 그리고 Github Marketplace에 대한 것들.
누락 된 행동? ReviewDog/Action-Template를 확인하고 새로운 ReviewDog 액션을 작성하십시오!
여기에 생성 된 리뷰어 조치를 추가하려면 풀 요청을 열어주십시오. 또한 리포지토리를 검토 org에 넣고 조치를 공동 유지할 수 있습니다. 예 : Action-Tflint.

포크 리포지토리의 풀 요청에 대한 GITHUB_TOKEN GitHub 조치 제한으로 인해 API를 확인하거나 API를 검토하기위한 쓰기 액세스가 없습니다.
대신, ReviewDog는 GitHub 조치의 로깅 명령을 사용하여 github-pr-check Reporter와 유사한 주석으로 결과를 게시합니다.
로깅 명령에 의해 생성 된 주석에 대한 제한은 실행 당 주석의 최대 #과 같은 제한이 있습니다. GitHub 조치 로그를 확인하여 그러한 경우 전체 결과를 확인할 수 있습니다.

Commit에서 실행되는 github-check Reporter 지원을 통해 검토 도그 GitHub 액션 배지를 만들어 마스터 커밋에 대한 결과를 확인할 수 있습니다. ?
예:
<!-- Replace <OWNER> and <REPOSITORY>. It assumes workflow name is "reviewdog" -->
[](https://github.com/<OWNER>/<REPOSITORY>/actions?query=workflow%3Areviewdog+event%3Apush+branch%3Amaster)
Travis CI에서 -reporter = github-pr-check을 사용하는 경우 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 Travis 암호화 키로 Github API 토큰을 저장하십시오.
$ 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예
환경 변수에서 저장 REVIEWDOG_GITHUB_API_TOKEN (또는 github-pr-check에 대한 REVIEWDOG_TOKEN ) -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 gitlab ci 변수에서 REVIEWDOG_GITLAB_API_TOKEN 저장하십시오.
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리뷰어를 사용하여 다음 환경 변수가있는 어느 곳에서나 검토 댓글을 게시 할 수 있습니다.
| 이름 | 설명 |
|---|---|
CI_PULL_REQUEST | 풀 요청 번호 (예 : 14) |
CI_COMMIT | 현재 빌드의 SHA1 |
CI_REPO_OWNER | 저장소 소유자 (예 : https://github.com/reviewdog/errorformat의 "ReviewDog") |
CI_REPO_NAME | 저장소 이름 (예 : https://github.com/reviewdog/errorformat의 "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 서비스가 Pull Request ID와 같은 정보를 제공하지 않으면 ReviewDog는 지점 이름으로 추측하고 Commit 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 ) reviewDog는 오류를 찾더라도 EXIT 코드로 0 반환합니다. reviewDog는 -fail-level=[any,info,warning,error] 플래그가있는 코드 1으로 종료됩니다. 이것은 CI 파이프 라인의 단계로 사용할 때 도움이 될 수 있으며 Linter가 발견 한 오류가 발생하면 단계를 표시하지 않으려고합니다.
-level 플래그를 사용하여 기본 보고서 Revel을 구성 할 수도 있습니다.
Diff의 검토 필터 결과를 검토하고 검토 도그 필터가 -filter-mode 플래그로 결과를 제어 할 수 있습니다. 사용 가능한 필터 모드는 다음과 같습니다.
added (기본값)추가/수정 된 라인에 의한 필터 결과.
diff_contextDiff 컨텍스트별로 결과를 필터링합니다. 즉, 줄 +-n 라인을 변경했습니다 (예 : n = 3).
file추가/수정 된 파일로 결과를 필터링합니다. IE ReviewDog는 결과가 실제 차이가 아닌 경우에도 추가/수정 된 파일에있는 한 결과를보고합니다.
nofilter결과를 필터링하지 마십시오. 최대한 주석으로 결과를 게시하고 동시에 콘솔에서 다른 결과를 확인하는 데 유용합니다.
-fail-on-error 또한 모든 필터 모드와 함께 작동하며 nofilter 모드를 가진 모든 Linters의 모든 결과를 포착 할 수 있습니다.
예:
$ reviewdog -reporter=github-pr-review -filter-mode=nofilter -fail-on-error 모든 리포터가 API 제한으로 인해 필터 모드를 완전히 지원하는 것은 아닙니다. 예를 들어 github-pr-review Reporter는 Github Review API를 사용하지만이 API는 Diff Context 외부에 의견을 게시하는 것을 지원하지 않으므로 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의 후원자 또는 후원자가됩니다.