NewExternalIssue externalIssue = context.newExternalIssue()
.forRule(RuleKey.of(issue.engineId, issue.ruleId))
.severity(Severity.valueOf(issue.severity))
- .remediationEffortMinutes(20L)
.type(RuleType.valueOf(issue.type));
+ if (issue.effortMinutes != null) {
+ externalIssue.remediationEffortMinutes(Long.valueOf(issue.effortMinutes));
+ }
+
NewIssueLocation primary = fillLocation(context, externalIssue.newLocation(), issue.primaryLocation);
if (primary != null) {
knownFiles.add(issue.primaryLocation.filePath);
assertThat(report.issues[0].engineId).isEqualTo("eslint");
assertThat(report.issues[0].ruleId).isEqualTo("rule1");
assertThat(report.issues[0].severity).isEqualTo("MAJOR");
- assertThat(report.issues[0].effortMinutes).isEqualTo(20);
+ assertThat(report.issues[0].effortMinutes).isEqualTo(40);
assertThat(report.issues[0].type).isEqualTo("CODE_SMELL");
assertThat(report.issues[0].primaryLocation.filePath).isEqualTo("file1.js");
assertThat(report.issues[0].primaryLocation.message).isEqualTo("fix the issue here");
assertThat(issue.getMsg()).isEqualTo("fix the issue here");
assertThat(issue.getRuleKey()).isEqualTo("rule1");
assertThat(issue.getSeverity()).isEqualTo(Severity.MAJOR);
+ assertThat(issue.getEffort()).isEqualTo(50l);
assertThat(issue.getType()).isEqualTo(IssueType.CODE_SMELL);
assertThat(issue.getTextRange().getStartLine()).isEqualTo(5);
assertThat(issue.getTextRange().getEndLine()).isEqualTo(5);
assertThat(issue.getRuleKey()).isEqualTo("rule2");
assertThat(issue.getSeverity()).isEqualTo(Severity.CRITICAL);
assertThat(issue.getType()).isEqualTo(IssueType.BUG);
+ assertThat(issue.getEffort()).isZero();
assertThat(issue.getTextRange().getStartLine()).isEqualTo(3);
assertThat(issue.getTextRange().getEndLine()).isEqualTo(3);
assertThat(issue.getTextRange().getStartOffset()).isEqualTo(0);
"ruleId": "rule1",
"severity": "MAJOR",
"type": "CODE_SMELL",
+ "effortMinutes": 50,
"primaryLocation": {
"message": "fix the issue here",
"filePath": "xources/hello/HelloJava.xoo",
"ruleId": "rule1",
"severity": "MAJOR",
"type": "CODE_SMELL",
- "effortMinutes": 20,
+ "effortMinutes": 40,
"primaryLocation": {
"message": "fix the issue here",
"filePath": "file1.js",
assertThat(issuesList.get(0).getType()).isEqualTo(RuleType.CODE_SMELL);
assertThat(issuesList.get(0).getComponent()).isEqualTo("sample:src/main/xoo/sample/Sample.xoo");
assertThat(issuesList.get(0).getStatus()).isEqualTo("OPEN");
- assertThat(issuesList.get(0).getEffort()).isEqualTo("20min");
+ assertThat(issuesList.get(0).getEffort()).isEqualTo("50min");
assertThat(issuesList.get(0).getExternalRuleEngine()).isEqualTo("externalXoo");
issuesList = tester.wsClient().issues().search(new SearchRequest()