No linenumbers in codeclimate widget
Summary
The codeclimate
widget only shows line-numbers for
{
"path": "path/to/file.sh",
"lines": {
"begin": 13,
"end": 14
}
}
while a second form exists : https://github.com/codeclimate/spec/blob/master/SPEC.md#locations
{
"path": "path/to/file.sh",
"positions": {
"begin": {
"line": 3,
"column": 10
},
"end": {
"line": 4,
"column": 12
}
}
}
Steps to reproduce
codeclimate
engine shellcheck
produces "positions", engine fixme
uses "lines"
create script.sh
#!/bin/bash
# - trigger fix-me-report ("found TODO")
# TODO testfixme
# - trigger shellcheck-report ("use quotes to prevent...")
if [ -z $PROJECTLIST ]; then
echo dummy
fi
observe 2 new issues, fixme
with linked-linenumber, shellcheck
without.
What is the current bug behavior?
Widget displays:
Some Issue Text occured. in path/to/file.sh
What is the expected correct behavior?
Widget should add a line-number (and modify the link):
Some Issue Text occured. in path/to/file.sh:3
Output of checks
This bug happens on GitLab.com
Possible fixes
https://gitlab.com/gitlab-org/gitlab-ee/blob/master/ee/app/assets/javascripts/vue_merge_request_widget/stores/mr_widget_store.js#L207 (?)
Needs something along the lines of
} else if (issue.location.positions && issue.location.positions.begin && issue.location.positions.begin.line) {
parsedIssue.line = issue.location.positions.begin.line;
parseCodeQualityUrl += `#L${issue.location.positions.begin.line}`;
}
Edited by Tabakhase