Browse Source

NO JIRA - Adding updatedAt field in WebAPI rules/search

tags/10.2.0.77647
zhengzexiang 11 months ago
parent
commit
4a6c20d584

+ 2
- 0
server/sonar-webserver-webapi/src/it/java/org/sonar/server/rule/ws/SearchActionIT.java View File

@@ -312,6 +312,7 @@ public class SearchActionIT {
Rules.SearchResponse response = ws.newRequest().executeProtobuf(Rules.SearchResponse.class);
Rules.Rule result = response.getRules(0);
assertThat(result.getCreatedAt()).isNotEmpty();
assertThat(result.getUpdatedAt()).isNotEmpty();
assertThat(result.getGapDescription()).isNotEmpty();
assertThat(result.getHtmlDesc()).isNotEmpty();
assertThat(result.hasIsTemplate()).isTrue();
@@ -350,6 +351,7 @@ public class SearchActionIT {
assertThat(result.hasName()).isFalse();
assertThat(result.hasSeverity()).isFalse();
assertThat(result.hasRepo()).isFalse();
assertThat(result.hasUpdatedAt()).isFalse();
}

@Test

+ 8
- 0
server/sonar-webserver-webapi/src/main/java/org/sonar/server/rule/ws/RuleMapper.java View File

@@ -79,6 +79,7 @@ import static org.sonar.server.rule.ws.RulesWsParameters.FIELD_STATUS;
import static org.sonar.server.rule.ws.RulesWsParameters.FIELD_SYSTEM_TAGS;
import static org.sonar.server.rule.ws.RulesWsParameters.FIELD_TAGS;
import static org.sonar.server.rule.ws.RulesWsParameters.FIELD_TEMPLATE_KEY;
import static org.sonar.server.rule.ws.RulesWsParameters.FIELD_UPDATED_AT;
import static org.sonarqube.ws.Rules.Rule.DescriptionSection.Context.newBuilder;

/**
@@ -125,6 +126,7 @@ public class RuleMapper {
setSysTags(ruleResponse, ruleDto, fieldsToReturn);
setParams(ruleResponse, ruleDto, result, fieldsToReturn);
setCreatedAt(ruleResponse, ruleDto, fieldsToReturn);
setUpdatedAt(ruleResponse, ruleDto, fieldsToReturn);
setDescriptionFields(ruleResponse, ruleDto, fieldsToReturn);
setSeverity(ruleResponse, ruleDto, fieldsToReturn);
setInternalKey(ruleResponse, ruleDto, fieldsToReturn);
@@ -327,6 +329,12 @@ public class RuleMapper {
}
}

private static void setUpdatedAt(Rules.Rule.Builder ruleResponse, RuleDto ruleDto, Set<String> fieldsToReturn) {
if (shouldReturnField(fieldsToReturn, FIELD_UPDATED_AT)) {
ruleResponse.setUpdatedAt(formatDateTime(ruleDto.getUpdatedAt()));
}
}

private void setDescriptionFields(Rules.Rule.Builder ruleResponse, RuleDto ruleDto, Set<String> fieldsToReturn) {
if (shouldReturnField(fieldsToReturn, FIELD_HTML_DESCRIPTION)) {
String htmlDescription = ruleDescriptionFormatter.getDescriptionAsHtml(ruleDto);

+ 1
- 0
sonar-ws/src/main/protobuf/ws-rules.proto View File

@@ -120,6 +120,7 @@ message Rule {
optional DeprecatedKeys deprecatedKeys = 48;
optional DescriptionSections descriptionSections = 49;
optional EducationPrinciples educationPrinciples = 50;
optional string updatedAt = 51;

message DescriptionSections {
repeated DescriptionSection descriptionSections = 1;

Loading…
Cancel
Save