-
-
Notifications
You must be signed in to change notification settings - Fork 457
[bitbucket-code-report] Integration with Bitbucket Code Insights #769
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
I would keep it as a Draft for now and test it on my project to make sure no issue arises but would happy if this can be reviewed in meantime. 🐶 |
Current implementation generates one report for all the runners in one project. |
Co-authored-by: haya14busa <hayabusa1419@gmail.com>
create "pending" reports on tool start
Hey, @haya14busa, all done! Please check if all looks good to you. The last thing to decide, if we will keep the |
// filtering of annotations dividing them in two groups: | ||
// - This pull request (10) | ||
// - All (50) | ||
log.Printf("reviewdog: [bitbucket-code-report] supports only with filter.ModeNoFilter for now\n") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Log this only if the filter mode is not default nor no-filter mode.
} | ||
|
||
// if this is simple run, get the single tool name | ||
if name := toolName(opt); len(name) > 0 { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[nit] name != ""
@@ -689,3 +750,26 @@ func buildRunnersMap(runners string) map[string]bool { | |||
} | |||
return m | |||
} | |||
|
|||
func getRunnersList(opt *option, conf *project.Config) []string { | |||
if len(opt.runners) > 0 { // if runners explicitly defined, use them |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[optional] It's better to check the specified runner name is actually in the project config.
// hash the output of linter and use it as external id | ||
a.SetExternalId(externalIDFromDiagnostic(c.Result.Diagnostic)) | ||
a.SetSummary(c.Result.Diagnostic.GetMessage()) | ||
a.SetDetails(fmt.Sprintf(`[%s] %s`, c.ToolName, c.Result.Diagnostic.GetMessage())) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[optinal] Does bitbucket support markdown? Then we may want to re-use this util func.
reviewdog/service/commentutil/commentutil.go
Lines 58 to 59 in 2b11a08
// MarkdownComment creates comment body markdown. | |
func MarkdownComment(c *reviewdog.Comment) string { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No, markdown isn't supported in the Code Reports, I tried :(
|
||
// create client | ||
client := NewAPIClientWithConfigurations(&http.Client{Timeout: 1 * time.Second}, openapi.ServerConfiguration{URL: ts.URL}) | ||
bb := NewReportAnnotator(client, username, repo, commit, test.runnersList) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you fix this warning?
Using the variable on range scope `test` in function literal (scopelint)
ctx := context.Background() | ||
|
||
for _, c := range test.comments { | ||
// post comments |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[super nit] I think this comment is redundant.
t.Error(err) | ||
} | ||
} | ||
// flush comments |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[super nit] I think this comment is redundant.
Hi, @trane9991! We merged your PR to reviewdog! 🐶 We just invited you to join the @reviewdog organization on GitHub. Thanks again! |
The comments were mostly nitpicks, so I just fixed them and merged! Thank you for your contribution! |
As the above ^^ comment, we invited you to the reviewdog org. |
Thanks, amazing!
Will do so. Could we release v0.11.0 once it is done? :) |
I have a plan to release a new version this weekend (hopefully). |
Cool, anyway, I should be able to move the bitbucket to the separate repository right now. |
@haya14busa , I think you can add |
Good idea. Done! |
https://github.com/reviewdog/reviewdog/tree/reviewdog:master # Changelog All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] ### ✨ Release Note <!-- optional --> ### 🚀 Enhancements - [reviewdog#888](reviewdog#888) Allow GitHub PR reporting for a forked repository iff it's triggered by `pull_request_target` ### 🐛 Fixes - ... ### 🚨 Breaking changes - ... --- ## [v0.11.0] - 2020-10-25 ### ✨ Release Note reviewdog v0.11 introduced [Reviewdog Diagnostic Format (RDFormat)](./README.md#reviewdog-diagnostic-format-rdformat) as generic machine-readable diagnostic format and it unlocks new rich features like code suggestions. ### 🚀 Enhancements - [reviewdog#629](reviewdog#629) Introduced Reviewdog Diagnostic Format. - [reviewdog#674](reviewdog#674) [reviewdog#703](reviewdog#703) Support rdjsonl/rdjson as input format - [reviewdog#680](reviewdog#680) github-pr-review: Support multiline comments - [reviewdog#675](reviewdog#675) [reviewdog#698](reviewdog#698) github-pr-review: Support suggested changes - [reviewdog#699](reviewdog#699) Support diff input format (`-f=diff`). Useful for suggested changes. - [reviewdog#700](reviewdog#700) Support to show code(rule), code URL and severity in GitHub and GitLab reporters. - [reviewdog#678](reviewdog#678) github-pr-review: Support Code Suggestions - Introduced [reviewdog/action-suggester](https://github.com/reviewdog/action-suggester) action. - Introduced [reviewdog/action-setup](https://github.com/reviewdog/action-setup) GitHub Action which installs reviewdog easily including nightly release. - [reviewdog#769](reviewdog#769) Integration with [Bitbucket Code Insights](https://support.atlassian.com/bitbucket-cloud/docs/code-insights/) and [Bitbucket Pipelines](https://bitbucket.org/product/ru/features/pipelines) --- ## [v0.10.2] - 2020-08-04 ### 🐛 Fixes - [reviewdog#709](reviewdog#709) Check for GITHUB_ACTIONS instead of GITHUB_ACTION --- ## [v0.10.1] - 2020-06-30 ### 🚀 Enhancements - [reviewdog#563](reviewdog#563) Use `CI_API_V4_URL` environment variable when present. ### 🐛 Fixes - [reviewdog#609](reviewdog#609) reviewdog command will fail with unexpected tool's error for github-check/github-pr-check reporters as well. ([@haya14busa]) - [reviewdog#603](reviewdog#603) Fixed detection of Pull Requests from forked repo. ([@haya14busa]) --- ## [v0.10.0] - 2020-05-07 ### ✨ Release Note With v0.10.0 release, now reviewdog can find issues outside diff by controlling filtering behavior with `-filter-mode`. Also, you can ensure to check reported results by exit 1 with `-fail-on-error`. Example ```shell $ cd subdir/ && reviewdog -filter-mode=file -fail-on-error -reporter=github-pr-review ``` ### 🚀 Enhancements - [reviewdog#446](reviewdog#446) Added `-fail-on-error` flag ([document](https://github.com/reviewdog/reviewdog/tree/e359505275143ec85e9b114fc1ab4a4e91d04fb5#exit-codes)) and improved exit code handling. ([@DmitryLanda](https://github.com/DmitryLanda), [@haya14busa]) - [reviewdog#187](reviewdog#187) Added `-filter-mode` flag [`added`, `diff_context`, `file`, `nofilter`] ([document](https://github.com/reviewdog/reviewdog/tree/e359505275143ec85e9b114fc1ab4a4e91d04fb5#filter-mode)) which controls how reviewdog filter results. ([@Le6ow5k1](https://github.com/Le6ow5k1), [@haya14busa]) - [reviewdog#69](reviewdog#69) Support gerrit! ([@staticmukesh](https://github.com/staticmukesh)) - [reviewdog#548](reviewdog#548) Introduced nightly release ([reviewdog/nightly](https://github.com/reviewdog/nightly)). ([@haya14busa]) ### 🐛 Fixes - [reviewdog#461](reviewdog#461) All reporters now supports sub-directory run. ([@haya14busa]) ### 🚨 Breaking changes - `github-check` reporter won't report results outside diff by default now. You need to use `-filter-mode=nofilter` to keep the same bahavior. --- See https://github.com/reviewdog/reviewdog/releases for older release note. [Unreleased]: reviewdog/reviewdog@v0.10.0...HEAD [v0.10.0]: reviewdog/reviewdog@v0.9.17...v0.10.0 [v0.10.1]: reviewdog/reviewdog@v0.10.0...v0.10.1 [v0.10.2]: reviewdog/reviewdog@v0.10.1...v0.10.2 [v0.11.0]: reviewdog/reviewdog@v0.10.2...v0.11.0 [@haya14busa]: https://github.com/haya14busa
This fixes #113 via integration with Bitbucket Code Insights and Bitbucket Pipelines.
See example project trane9991/reviewdog-example.
With the example PR trane9991/reviewdog-example PR#1.
Example report:

Example annotated diff in PR:
