]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-12026 add transition reset as to review
authorPierre Guillot <pierre.guillot@sonarsource.com>
Fri, 10 May 2019 07:40:58 +0000 (09:40 +0200)
committerSonarTech <sonartech@sonarsource.com>
Wed, 22 May 2019 18:21:15 +0000 (20:21 +0200)
13 files changed:
server/sonar-server-common/src/main/java/org/sonar/server/issue/workflow/IssueWorkflow.java
server/sonar-server-common/src/test/java/org/sonar/server/issue/workflow/IssueWorkflowForSecurityHotspotsTest.java
server/sonar-server/src/main/java/org/sonar/server/issue/ws/DoTransitionAction.java
server/sonar-server/src/test/java/org/sonar/server/issue/ws/BulkChangeActionTest.java
server/sonar-server/src/test/resources/com/sonar/governance/securityreport/ws/ShowActionTest/empty.json
server/sonar-server/src/test/resources/com/sonar/governance/securityreport/ws/ShowActionTest/owaspNoCwe.json
server/sonar-server/src/test/resources/com/sonar/governance/securityreport/ws/ShowActionTest/sansWithCwe.json
server/sonar-server/src/test/resources/com/sonar/governance/securityreport/ws/ShowActionTest/sonarsourceSecurityNoCwe.json
server/sonar-server/src/test/resources/com/sonar/governance/securityreport/ws/ShowActionTest/sonarsourceSecurityOnApplication.json
server/sonar-server/src/test/resources/com/sonar/governance/securityreport/ws/ShowActionTest/sonarsourceSecurityWithCwe.json
sonar-core/src/main/resources/org/sonar/l10n/core.properties
sonar-plugin-api/src/main/java/org/sonar/api/issue/DefaultTransitions.java
sonar-ws/src/main/protobuf/ws-security.proto

index 4304fb721c8b72aef68ece61f449d987ca50f14d..eca4e74b473b574e8df95a48ebb102e8eaabc761 100644 (file)
@@ -179,8 +179,7 @@ public class IssueWorkflow implements Startable {
       .transition(Transition.builder(DefaultTransitions.OPEN_AS_VULNERABILITY)
         .from(STATUS_REVIEWED).to(STATUS_OPEN)
         .conditions(new HasType(RuleType.SECURITY_HOTSPOT))
-        .functions(new SetResolution(null))
-        .functions(new SetType(RuleType.VULNERABILITY))
+        .functions(new SetResolution(null), new SetType(RuleType.VULNERABILITY))
         .requiredProjectPermission(UserRole.SECURITYHOTSPOT_ADMIN)
         .build())
       .transition(Transition.builder(DefaultTransitions.OPEN_AS_VULNERABILITY)
@@ -196,49 +195,25 @@ public class IssueWorkflow implements Startable {
         .requiredProjectPermission(UserRole.SECURITYHOTSPOT_ADMIN)
         .build())
 
-      // all transitions below have to be removed by the end of the MMF-1635
-      .transition(Transition.builder(DefaultTransitions.DETECT)
-        .from(STATUS_TO_REVIEW).to(STATUS_OPEN)
+      .transition(Transition.builder(DefaultTransitions.RESET_AS_TO_REVIEW)
+        .from(STATUS_IN_REVIEW).to(STATUS_TO_REVIEW)
         .conditions(new HasType(RuleType.SECURITY_HOTSPOT))
-        .functions(new SetType(RuleType.VULNERABILITY))
+        .functions(new SetResolution(null))
         .requiredProjectPermission(UserRole.SECURITYHOTSPOT_ADMIN)
         .build())
-      .transition(Transition.builder(DefaultTransitions.DETECT)
-        .from(STATUS_RESOLVED).to(STATUS_OPEN)
-        .conditions(new HasType(RuleType.SECURITY_HOTSPOT), new HasResolution(RESOLUTION_WONT_FIX))
-        .functions(new SetType(RuleType.VULNERABILITY), new SetResolution(null))
+      .transition(Transition.builder(DefaultTransitions.RESET_AS_TO_REVIEW)
+        .from(STATUS_REVIEWED).to(STATUS_TO_REVIEW)
+        .conditions(new HasType(RuleType.SECURITY_HOTSPOT))
+        .functions(new SetResolution(null))
         .requiredProjectPermission(UserRole.SECURITYHOTSPOT_ADMIN)
         .build())
-      .transition(Transition.builder(DefaultTransitions.DISMISS)
+      .transition(Transition.builder(DefaultTransitions.RESET_AS_TO_REVIEW)
         .from(STATUS_OPEN).to(STATUS_TO_REVIEW)
-        .conditions(IsManualVulnerability.INSTANCE)
-        .functions(new SetType(RuleType.SECURITY_HOTSPOT))
-        .requiredProjectPermission(UserRole.SECURITYHOTSPOT_ADMIN)
-        .build())
-      .transition(Transition.builder(DefaultTransitions.REJECT)
-        .from(STATUS_RESOLVED).to(STATUS_REOPENED)
-        .conditions(new HasType(RuleType.SECURITY_HOTSPOT), new HasResolution(RESOLUTION_FIXED))
-        .functions(new SetType(RuleType.VULNERABILITY), new SetResolution(null))
-        .requiredProjectPermission(UserRole.SECURITYHOTSPOT_ADMIN)
-        .build())
-      .transition(Transition.builder(DefaultTransitions.ACCEPT)
-        .from(STATUS_RESOLVED).to(STATUS_RESOLVED)
-        .conditions(new HasType(RuleType.SECURITY_HOTSPOT), new HasResolution(RESOLUTION_FIXED))
-        .functions(new SetResolution(RESOLUTION_WONT_FIX))
-        .requiredProjectPermission(UserRole.SECURITYHOTSPOT_ADMIN)
-        .build())
-      .transition(Transition.builder(DefaultTransitions.CLEAR)
-        .from(STATUS_TO_REVIEW).to(STATUS_RESOLVED)
-        .conditions(new HasType(RuleType.SECURITY_HOTSPOT))
-        .functions(new SetResolution(RESOLUTION_WONT_FIX))
+        .conditions(new HasType(RuleType.VULNERABILITY), IsManualVulnerability.INSTANCE)
+        .functions(new SetType(RuleType.SECURITY_HOTSPOT), new SetResolution(null))
         .requiredProjectPermission(UserRole.SECURITYHOTSPOT_ADMIN)
         .build())
-      .transition(Transition.builder(DefaultTransitions.REOPEN_HOTSPOT)
-        .from(STATUS_RESOLVED).to(STATUS_TO_REVIEW)
-        .conditions(new HasType(RuleType.SECURITY_HOTSPOT))
-        .functions(new SetResolution(null))
-        .requiredProjectPermission(UserRole.SECURITYHOTSPOT_ADMIN)
-        .build());
+      ;
   }
 
   private static void buildAutomaticTransitions(StateMachine.Builder builder) {
index 6e37f7bca71cff87ee7a3666f8be8366061f78f3..7a5cff3c3ed745e49244b0a6c036a5988ba2f6d9 100644 (file)
@@ -19,8 +19,6 @@
  */
 package org.sonar.server.issue.workflow;
 
-import com.google.common.base.Function;
-import com.google.common.collect.Collections2;
 import com.tngtech.java.junit.dataprovider.DataProvider;
 import com.tngtech.java.junit.dataprovider.DataProviderRunner;
 import com.tngtech.java.junit.dataprovider.UseDataProvider;
@@ -29,7 +27,6 @@ import java.util.Calendar;
 import java.util.Collection;
 import java.util.Date;
 import java.util.List;
-import javax.annotation.Nullable;
 import org.apache.commons.lang.time.DateUtils;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -40,12 +37,12 @@ import org.sonar.api.rules.RuleType;
 import org.sonar.core.issue.DefaultIssue;
 import org.sonar.core.issue.FieldDiffs;
 import org.sonar.core.issue.IssueChangeContext;
+import org.sonar.core.util.stream.MoreCollectors;
 import org.sonar.server.issue.IssueFieldsSetter;
 
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.sonar.api.issue.Issue.RESOLUTION_FIXED;
 import static org.sonar.api.issue.Issue.RESOLUTION_REMOVED;
-import static org.sonar.api.issue.Issue.RESOLUTION_WONT_FIX;
 import static org.sonar.api.issue.Issue.STATUS_CLOSED;
 import static org.sonar.api.issue.Issue.STATUS_IN_REVIEW;
 import static org.sonar.api.issue.Issue.STATUS_OPEN;
@@ -65,6 +62,31 @@ public class IssueWorkflowForSecurityHotspotsTest {
 
   private IssueWorkflow underTest = new IssueWorkflow(new FunctionExecutor(updater), updater);
 
+  @DataProvider
+  public static Object[][] allStatusesLeadingToClosed() {
+    return Arrays.stream(ALL_STATUSES_LEADING_TO_CLOSED)
+      .map(t -> new Object[] {t})
+      .toArray(Object[][]::new);
+  }
+
+  private static DefaultIssue newClosedIssue(String resolution) {
+    return new DefaultIssue()
+      .setKey("ABCDE")
+      .setRuleKey(RuleKey.of("js", "S001"))
+      .setResolution(resolution)
+      .setStatus(STATUS_CLOSED)
+      .setNew(false)
+      .setCloseDate(new Date(5_999_999L));
+  }
+
+  private static void setStatusPreviousToClosed(DefaultIssue issue, String previousStatus) {
+    addStatusChange(issue, new Date(), previousStatus, STATUS_CLOSED);
+  }
+
+  private static void addStatusChange(DefaultIssue issue, Date date, String previousStatus, String newStatus) {
+    issue.addChange(new FieldDiffs().setCreationDate(date).setDiff("status", previousStatus, newStatus));
+  }
+
   @Test
   public void list_out_transitions_in_status_to_review() {
     underTest.start();
@@ -72,7 +94,7 @@ public class IssueWorkflowForSecurityHotspotsTest {
 
     List<Transition> transitions = underTest.outTransitions(issue);
 
-    assertThat(keys(transitions)).containsOnly("setinreview", "detect", "clear", "resolveasreviewed", "openasvulnerability");
+    assertThat(keys(transitions)).containsExactlyInAnyOrder("setinreview", "resolveasreviewed", "openasvulnerability");
   }
 
   @Test
@@ -82,27 +104,27 @@ public class IssueWorkflowForSecurityHotspotsTest {
 
     List<Transition> transitions = underTest.outTransitions(issue);
 
-    assertThat(keys(transitions)).containsOnly("resolveasreviewed", "openasvulnerability");
+    assertThat(keys(transitions)).containsExactlyInAnyOrder("resolveasreviewed", "openasvulnerability", "resetastoreview");
   }
 
   @Test
-  public void list_out_transitions_in_status_reviwed() {
+  public void list_out_transitions_in_status_reviewed() {
     underTest.start();
     DefaultIssue issue = new DefaultIssue().setType(RuleType.SECURITY_HOTSPOT).setStatus(STATUS_REVIEWED);
 
     List<Transition> transitions = underTest.outTransitions(issue);
 
-    assertThat(keys(transitions)).containsOnly("openasvulnerability");
+    assertThat(keys(transitions)).containsExactlyInAnyOrder("openasvulnerability", "resetastoreview");
   }
 
   @Test
-  public void list_out_transitions_in_status_open() {
+  public void list_out_vulnerability_transitions_in_status_open() {
     underTest.start();
-    DefaultIssue issue = new DefaultIssue().setType(RuleType.VULNERABILITY).setStatus(STATUS_OPEN).setResolution(RESOLUTION_FIXED).setIsFromHotspot(true);
+    DefaultIssue issue = new DefaultIssue().setType(RuleType.VULNERABILITY).setResolution(RESOLUTION_FIXED).setStatus(STATUS_OPEN).setIsFromHotspot(true);
 
     List<Transition> transitions = underTest.outTransitions(issue);
 
-    assertThat(keys(transitions)).containsOnly("resolveasreviewed", "dismiss"); // dismiss to be remove by the end of the MMF-1635
+    assertThat(keys(transitions)).containsExactlyInAnyOrder("resolveasreviewed", "resetastoreview");
   }
 
   @Test
@@ -202,6 +224,54 @@ public class IssueWorkflowForSecurityHotspotsTest {
     assertThat(issue.resolution()).isNull();
   }
 
+  @Test
+  public void reset_as_to_review_from_reviewed() {
+    underTest.start();
+    DefaultIssue issue = new DefaultIssue()
+      .setType(RuleType.SECURITY_HOTSPOT)
+      .setIsFromHotspot(true)
+      .setStatus(STATUS_REVIEWED)
+      .setResolution(RESOLUTION_FIXED);
+
+    boolean result = underTest.doManualTransition(issue, DefaultTransitions.RESET_AS_TO_REVIEW, IssueChangeContext.createUser(new Date(), "USER1"));
+    assertThat(result).isTrue();
+    assertThat(issue.type()).isEqualTo(RuleType.SECURITY_HOTSPOT);
+    assertThat(issue.getStatus()).isEqualTo(STATUS_TO_REVIEW);
+    assertThat(issue.resolution()).isNull();
+  }
+
+  @Test
+  public void reset_as_to_review_from_in_review() {
+    underTest.start();
+    DefaultIssue issue = new DefaultIssue()
+      .setType(RuleType.SECURITY_HOTSPOT)
+      .setIsFromHotspot(true)
+      .setStatus(STATUS_IN_REVIEW)
+      .setResolution(null);
+
+    boolean result = underTest.doManualTransition(issue, DefaultTransitions.RESET_AS_TO_REVIEW, IssueChangeContext.createUser(new Date(), "USER1"));
+    assertThat(result).isTrue();
+    assertThat(issue.type()).isEqualTo(RuleType.SECURITY_HOTSPOT);
+    assertThat(issue.getStatus()).isEqualTo(STATUS_TO_REVIEW);
+    assertThat(issue.resolution()).isNull();
+  }
+
+  @Test
+  public void reset_as_to_review_from_opened_as_vulnerability() {
+    underTest.start();
+    DefaultIssue issue = new DefaultIssue()
+      .setType(RuleType.VULNERABILITY)
+      .setIsFromHotspot(true)
+      .setStatus(STATUS_OPEN)
+      .setResolution(null);
+
+    boolean result = underTest.doManualTransition(issue, DefaultTransitions.RESET_AS_TO_REVIEW, IssueChangeContext.createUser(new Date(), "USER1"));
+    assertThat(result).isTrue();
+    assertThat(issue.type()).isEqualTo(RuleType.SECURITY_HOTSPOT);
+    assertThat(issue.getStatus()).isEqualTo(STATUS_TO_REVIEW);
+    assertThat(issue.resolution()).isNull();
+  }
+
   @Test
   public void automatically_close_resolved_security_hotspots_in_status_to_review() {
     underTest.start();
@@ -259,6 +329,26 @@ public class IssueWorkflowForSecurityHotspotsTest {
     assertThat(issue.updateDate()).isEqualTo(DateUtils.truncate(now, Calendar.SECOND));
   }
 
+  @Test
+  public void automatically_close_hotspots_opened_as_vulnerability() {
+    underTest.start();
+    DefaultIssue issue = new DefaultIssue()
+      .setType(RuleType.VULNERABILITY)
+      .setResolution(null)
+      .setStatus(STATUS_OPEN)
+      .setIsFromHotspot(true)
+      .setNew(false)
+      .setBeingClosed(true);
+    Date now = new Date();
+
+    underTest.doAutomaticTransition(issue, IssueChangeContext.createScan(now));
+
+    assertThat(issue.resolution()).isEqualTo(RESOLUTION_FIXED);
+    assertThat(issue.status()).isEqualTo(STATUS_CLOSED);
+    assertThat(issue.closeDate()).isNotNull();
+    assertThat(issue.updateDate()).isEqualTo(DateUtils.truncate(now, Calendar.SECOND));
+  }
+
   @Test
   @UseDataProvider("allStatusesLeadingToClosed")
   public void do_not_automatically_reopen_closed_issues_of_security_hotspots(String previousStatus) {
@@ -318,13 +408,6 @@ public class IssueWorkflowForSecurityHotspotsTest {
     });
   }
 
-  @DataProvider
-  public static Object[][] allStatusesLeadingToClosed() {
-    return Arrays.stream(ALL_STATUSES_LEADING_TO_CLOSED)
-      .map(t -> new Object[] {t})
-      .toArray(Object[][]::new);
-  }
-
   @Test
   public void do_not_allow_to_doManualTransition_when_condition_fails() {
     underTest.start();
@@ -332,38 +415,15 @@ public class IssueWorkflowForSecurityHotspotsTest {
       .setKey("ABCDE")
       // Detect is only available on hotspot
       .setType(RuleType.VULNERABILITY)
-      .setIsFromHotspot(true)
-      .setStatus(STATUS_RESOLVED)
-      .setResolution(RESOLUTION_WONT_FIX)
+      .setIsFromHotspot(false)
+      .setStatus(STATUS_OPEN)
+      .setResolution(null)
       .setRuleKey(XOO_X1);
 
-    assertThat(underTest.doManualTransition(issue, DefaultTransitions.DETECT, IssueChangeContext.createScan(new Date()))).isFalse();
-  }
-
-  private static DefaultIssue newClosedIssue(String resolution) {
-    return new DefaultIssue()
-      .setKey("ABCDE")
-      .setRuleKey(RuleKey.of("js", "S001"))
-      .setResolution(resolution)
-      .setStatus(STATUS_CLOSED)
-      .setNew(false)
-      .setCloseDate(new Date(5_999_999L));
-  }
-
-  private static void setStatusPreviousToClosed(DefaultIssue issue, String previousStatus) {
-    addStatusChange(issue, new Date(), previousStatus, STATUS_CLOSED);
-  }
-
-  private static void addStatusChange(DefaultIssue issue, Date date, String previousStatus, String newStatus) {
-    issue.addChange(new FieldDiffs().setCreationDate(date).setDiff("status", previousStatus, newStatus));
+    assertThat(underTest.doManualTransition(issue, DefaultTransitions.RESET_AS_TO_REVIEW, IssueChangeContext.createScan(new Date()))).isFalse();
   }
 
   private Collection<String> keys(List<Transition> transitions) {
-    return Collections2.transform(transitions, new Function<Transition, String>() {
-      @Override
-      public String apply(@Nullable Transition transition) {
-        return transition.key();
-      }
-    });
+    return transitions.stream().map(Transition::key).collect(MoreCollectors.toList());
   }
 }
index 463f1cd52f4efa60a573e6867534bf575d0aedd3..7b0659e69ef5c0c287d482662d9fef57312968ea 100644 (file)
@@ -40,6 +40,7 @@ import org.sonar.server.user.UserSession;
 
 import static java.lang.String.format;
 import static org.sonar.api.issue.DefaultTransitions.OPEN_AS_VULNERABILITY;
+import static org.sonar.api.issue.DefaultTransitions.RESET_AS_TO_REVIEW;
 import static org.sonar.api.issue.DefaultTransitions.RESOLVE_AS_REVIEWED;
 import static org.sonar.api.issue.DefaultTransitions.SET_AS_IN_REVIEW;
 import static org.sonarqube.ws.client.issue.IssuesWsParameters.ACTION_DO_TRANSITION;
@@ -75,7 +76,7 @@ public class DoTransitionAction implements IssuesWsAction {
         "The transitions involving security hotspots require the permission 'Administer Security Hotspot'.")
       .setSince("3.6")
       .setChangelog(
-        new Change("7.8", format("added '%s', %s and %s transitions for security hotspots ", SET_AS_IN_REVIEW, RESOLVE_AS_REVIEWED, OPEN_AS_VULNERABILITY)),
+        new Change("7.8", format("added '%s', %s, %s and %s transitions for security hotspots ", SET_AS_IN_REVIEW, RESOLVE_AS_REVIEWED, OPEN_AS_VULNERABILITY, RESET_AS_TO_REVIEW)),
         new Change("7.3", "added transitions for security hotspots"),
         new Change("6.5", "the database ids of the components are removed from the response"),
         new Change("6.5", "the response field components.uuid is deprecated. Use components.key instead."))
index 87631fb449e0bf507af42c8fd1ed4edf848fee0f..127e87d2530ede65e6d059957999c07bdd805b19 100644 (file)
@@ -345,7 +345,7 @@ public class BulkChangeActionTest {
 
     BulkChangeWsResponse response = call(builder()
       .setIssues(singletonList(issue.getKey()))
-      .setDoTransition("dismiss")
+      .setDoTransition("resetastoreview")
       .setSendNotifications(true)
       .build());
 
index e249486597c37e80d7f167bc40486caca8664984..efb9191e511f8c2ef15855bf2d823326c73b6141 100644 (file)
@@ -5,7 +5,7 @@
       "vulnerabilities": 0,
       "inReviewSecurityHotspots": 0,
       "toReviewSecurityHotspots": 0,
-      "resolvedSecurityHotspots": 0,
+      "reviewedSecurityHotspots": 0,
       "distribution": [],
       "activeRules": 1,
       "totalRules": 1
@@ -15,7 +15,7 @@
       "vulnerabilities": 0,
       "inReviewSecurityHotspots": 0,
       "toReviewSecurityHotspots": 0,
-      "resolvedSecurityHotspots": 0,
+      "reviewedSecurityHotspots": 0,
       "distribution": [],
       "activeRules": 1,
       "totalRules": 1
@@ -25,7 +25,7 @@
       "vulnerabilities": 0,
       "inReviewSecurityHotspots": 0,
       "toReviewSecurityHotspots": 0,
-      "resolvedSecurityHotspots": 0,
+      "reviewedSecurityHotspots": 0,
       "distribution": [],
       "activeRules": 0,
       "totalRules": 1
@@ -35,7 +35,7 @@
       "vulnerabilities": 0,
       "inReviewSecurityHotspots": 0,
       "toReviewSecurityHotspots": 0,
-      "resolvedSecurityHotspots": 0,
+      "reviewedSecurityHotspots": 0,
       "distribution": [],
       "activeRules": 0,
       "totalRules": 0
@@ -45,7 +45,7 @@
       "vulnerabilities": 0,
       "inReviewSecurityHotspots": 0,
       "toReviewSecurityHotspots": 0,
-      "resolvedSecurityHotspots": 0,
+      "reviewedSecurityHotspots": 0,
       "distribution": [],
       "activeRules": 0,
       "totalRules": 0
@@ -55,7 +55,7 @@
       "vulnerabilities": 0,
       "inReviewSecurityHotspots": 0,
       "toReviewSecurityHotspots": 0,
-      "resolvedSecurityHotspots": 0,
+      "reviewedSecurityHotspots": 0,
       "distribution": [],
       "activeRules": 0,
       "totalRules": 0
@@ -65,7 +65,7 @@
       "vulnerabilities": 0,
       "inReviewSecurityHotspots": 0,
       "toReviewSecurityHotspots": 0,
-      "resolvedSecurityHotspots": 0,
+      "reviewedSecurityHotspots": 0,
       "distribution": [],
       "activeRules": 0,
       "totalRules": 0
@@ -75,7 +75,7 @@
       "vulnerabilities": 0,
       "inReviewSecurityHotspots": 0,
       "toReviewSecurityHotspots": 0,
-      "resolvedSecurityHotspots": 0,
+      "reviewedSecurityHotspots": 0,
       "distribution": [],
       "activeRules": 0,
       "totalRules": 0
@@ -85,7 +85,7 @@
       "vulnerabilities": 0,
       "inReviewSecurityHotspots": 0,
       "toReviewSecurityHotspots": 0,
-      "resolvedSecurityHotspots": 0,
+      "reviewedSecurityHotspots": 0,
       "distribution": [],
       "activeRules": 0,
       "totalRules": 0
@@ -95,7 +95,7 @@
       "vulnerabilities": 0,
       "inReviewSecurityHotspots": 0,
       "toReviewSecurityHotspots": 0,
-      "resolvedSecurityHotspots": 0,
+      "reviewedSecurityHotspots": 0,
       "distribution": [],
       "activeRules": 0,
       "totalRules": 0
       "vulnerabilities": 0,
       "inReviewSecurityHotspots": 0,
       "toReviewSecurityHotspots": 0,
-      "resolvedSecurityHotspots": 0,
+      "reviewedSecurityHotspots": 0,
       "distribution": [],
       "activeRules": 1,
       "totalRules": 2
index 30e6a1057dc3bed7af74220c02f526d68e356744..60675e21b7b9a711f992c1c5e0663c91a5aa2e49 100644 (file)
@@ -5,7 +5,7 @@
       "vulnerabilities": 0,
       "inReviewSecurityHotspots": 0,
       "toReviewSecurityHotspots": 0,
-      "resolvedSecurityHotspots": 0,
+      "reviewedSecurityHotspots": 0,
       "distribution": [],
       "activeRules": 1,
       "totalRules": 1
@@ -16,7 +16,7 @@
       "vulnerabilityRating": 3,
       "inReviewSecurityHotspots": 1,
       "toReviewSecurityHotspots": 1,
-      "resolvedSecurityHotspots": 1,
+      "reviewedSecurityHotspots": 1,
       "distribution": [],
       "activeRules": 1,
       "totalRules": 1
@@ -26,7 +26,7 @@
       "vulnerabilities": 0,
       "inReviewSecurityHotspots": 0,
       "toReviewSecurityHotspots": 0,
-      "resolvedSecurityHotspots": 0,
+      "reviewedSecurityHotspots": 0,
       "distribution": [],
       "activeRules": 0,
       "totalRules": 1
@@ -36,7 +36,7 @@
       "vulnerabilities": 0,
       "inReviewSecurityHotspots": 0,
       "toReviewSecurityHotspots": 0,
-      "resolvedSecurityHotspots": 0,
+      "reviewedSecurityHotspots": 0,
       "distribution": [],
       "activeRules": 0,
       "totalRules": 0
@@ -46,7 +46,7 @@
       "vulnerabilities": 0,
       "inReviewSecurityHotspots": 0,
       "toReviewSecurityHotspots": 0,
-      "resolvedSecurityHotspots": 0,
+      "reviewedSecurityHotspots": 0,
       "distribution": [],
       "activeRules": 0,
       "totalRules": 0
@@ -56,7 +56,7 @@
       "vulnerabilities": 0,
       "inReviewSecurityHotspots": 0,
       "toReviewSecurityHotspots": 0,
-      "resolvedSecurityHotspots": 0,
+      "reviewedSecurityHotspots": 0,
       "distribution": [],
       "activeRules": 0,
       "totalRules": 0
@@ -66,7 +66,7 @@
       "vulnerabilities": 0,
       "inReviewSecurityHotspots": 0,
       "toReviewSecurityHotspots": 0,
-      "resolvedSecurityHotspots": 0,
+      "reviewedSecurityHotspots": 0,
       "distribution": [],
       "activeRules": 0,
       "totalRules": 0
@@ -76,7 +76,7 @@
       "vulnerabilities": 0,
       "inReviewSecurityHotspots": 0,
       "toReviewSecurityHotspots": 0,
-      "resolvedSecurityHotspots": 0,
+      "reviewedSecurityHotspots": 0,
       "distribution": [],
       "activeRules": 0,
       "totalRules": 0
@@ -86,7 +86,7 @@
       "vulnerabilities": 0,
       "inReviewSecurityHotspots": 0,
       "toReviewSecurityHotspots": 0,
-      "resolvedSecurityHotspots": 0,
+      "reviewedSecurityHotspots": 0,
       "distribution": [],
       "activeRules": 0,
       "totalRules": 0
@@ -96,7 +96,7 @@
       "vulnerabilities": 0,
       "inReviewSecurityHotspots": 0,
       "toReviewSecurityHotspots": 0,
-      "resolvedSecurityHotspots": 0,
+      "reviewedSecurityHotspots": 0,
       "distribution": [],
       "activeRules": 0,
       "totalRules": 0
       "vulnerabilities": 0,
       "inReviewSecurityHotspots": 0,
       "toReviewSecurityHotspots": 0,
-      "resolvedSecurityHotspots": 0,
+      "reviewedSecurityHotspots": 0,
       "distribution": [],
       "activeRules": 1,
       "totalRules": 2
index 036ffff353d3255ded4c272181dc38a88032f848..ce510484551371f7eb6447d02a2ab6a7f18fc5b7 100644 (file)
@@ -5,7 +5,7 @@
       "vulnerabilities": 0,
       "inReviewSecurityHotspots": 0,
       "toReviewSecurityHotspots": 0,
-      "resolvedSecurityHotspots": 0,
+      "reviewedSecurityHotspots": 0,
       "distribution": [],
       "activeRules": 0,
       "totalRules": 1
@@ -15,7 +15,7 @@
       "vulnerabilities": 0,
       "inReviewSecurityHotspots": 0,
       "toReviewSecurityHotspots": 0,
-      "resolvedSecurityHotspots": 0,
+      "reviewedSecurityHotspots": 0,
       "distribution": [],
       "activeRules": 1,
       "totalRules": 1
@@ -26,7 +26,7 @@
       "vulnerabilityRating": 3,
       "inReviewSecurityHotspots": 1,
       "toReviewSecurityHotspots": 1,
-      "resolvedSecurityHotspots": 0,
+      "reviewedSecurityHotspots": 0,
       "distribution": [
         {
           "cwe": "89",
@@ -34,7 +34,7 @@
           "vulnerabilityRating": 3,
           "inReviewSecurityHotspots": 1,
           "toReviewSecurityHotspots": 1,
-          "resolvedSecurityHotspots": 0,
+          "reviewedSecurityHotspots": 0,
           "activeRules": 1,
           "totalRules": 1
         }
index 9d0acd1dc286149b89b942656dc5e4ad2e3b6700..c00feb5f2003454292797107583e8e457c6b8f00 100644 (file)
@@ -5,7 +5,7 @@
       "vulnerabilities": 0,
       "inReviewSecurityHotspots": 0,
       "toReviewSecurityHotspots": 0,
-      "resolvedSecurityHotspots": 0,
+      "reviewedSecurityHotspots": 0,
       "distribution": [],
       "activeRules": 0,
       "totalRules": 0
@@ -15,7 +15,7 @@
       "vulnerabilities": 0,
       "inReviewSecurityHotspots": 0,
       "toReviewSecurityHotspots": 0,
-      "resolvedSecurityHotspots": 0,
+      "reviewedSecurityHotspots": 0,
       "distribution": [],
       "activeRules": 0,
       "totalRules": 0
@@ -25,7 +25,7 @@
       "vulnerabilities": 0,
       "inReviewSecurityHotspots": 0,
       "toReviewSecurityHotspots": 0,
-      "resolvedSecurityHotspots": 0,
+      "reviewedSecurityHotspots": 0,
       "distribution": [],
       "activeRules": 0,
       "totalRules": 0
@@ -35,7 +35,7 @@
       "vulnerabilities": 0,
       "inReviewSecurityHotspots": 0,
       "toReviewSecurityHotspots": 0,
-      "resolvedSecurityHotspots": 0,
+      "reviewedSecurityHotspots": 0,
       "distribution": [],
       "activeRules": 0,
       "totalRules": 0
@@ -45,7 +45,7 @@
       "vulnerabilities": 0,
       "inReviewSecurityHotspots": 0,
       "toReviewSecurityHotspots": 0,
-      "resolvedSecurityHotspots": 0,
+      "reviewedSecurityHotspots": 0,
       "distribution": [],
       "activeRules": 0,
       "totalRules": 0
@@ -55,7 +55,7 @@
       "vulnerabilities": 0,
       "inReviewSecurityHotspots": 0,
       "toReviewSecurityHotspots": 0,
-      "resolvedSecurityHotspots": 0,
+      "reviewedSecurityHotspots": 0,
       "distribution": [],
       "activeRules": 0,
       "totalRules": 0
@@ -65,7 +65,7 @@
       "vulnerabilities": 0,
       "inReviewSecurityHotspots": 0,
       "toReviewSecurityHotspots": 0,
-      "resolvedSecurityHotspots": 0,
+      "reviewedSecurityHotspots": 0,
       "distribution": [],
       "activeRules": 0,
       "totalRules": 0
@@ -75,7 +75,7 @@
       "vulnerabilities": 0,
       "inReviewSecurityHotspots": 0,
       "toReviewSecurityHotspots": 0,
-      "resolvedSecurityHotspots": 0,
+      "reviewedSecurityHotspots": 0,
       "distribution": [],
       "activeRules": 0,
       "totalRules": 0
@@ -85,7 +85,7 @@
       "vulnerabilities": 0,
       "inReviewSecurityHotspots": 0,
       "toReviewSecurityHotspots": 0,
-      "resolvedSecurityHotspots": 0,
+      "reviewedSecurityHotspots": 0,
       "distribution": [],
       "activeRules": 0,
       "totalRules": 0
@@ -95,7 +95,7 @@
       "vulnerabilities": 0,
       "inReviewSecurityHotspots": 0,
       "toReviewSecurityHotspots": 0,
-      "resolvedSecurityHotspots": 0,
+      "reviewedSecurityHotspots": 0,
       "distribution": [],
       "activeRules": 0,
       "totalRules": 0
       "vulnerabilities": 0,
       "inReviewSecurityHotspots": 0,
       "toReviewSecurityHotspots": 0,
-      "resolvedSecurityHotspots": 0,
+      "reviewedSecurityHotspots": 0,
       "distribution": [],
       "activeRules": 0,
       "totalRules": 0
       "vulnerabilities": 0,
       "inReviewSecurityHotspots": 0,
       "toReviewSecurityHotspots": 0,
-      "resolvedSecurityHotspots": 0,
+      "reviewedSecurityHotspots": 0,
       "distribution": [],
       "activeRules": 0,
       "totalRules": 0
       "vulnerabilityRating": 3,
       "inReviewSecurityHotspots": 1,
       "toReviewSecurityHotspots": 1,
-      "resolvedSecurityHotspots": 1,
+      "reviewedSecurityHotspots": 1,
       "distribution": [],
       "activeRules": 1,
       "totalRules": 1
       "vulnerabilities": 0,
       "inReviewSecurityHotspots": 0,
       "toReviewSecurityHotspots": 0,
-      "resolvedSecurityHotspots": 0,
+      "reviewedSecurityHotspots": 0,
       "distribution": [],
       "activeRules": 0,
       "totalRules": 0
       "vulnerabilities": 0,
       "inReviewSecurityHotspots": 0,
       "toReviewSecurityHotspots": 0,
-      "resolvedSecurityHotspots": 0,
+      "reviewedSecurityHotspots": 0,
       "distribution": [],
       "activeRules": 0,
       "totalRules": 0
       "vulnerabilities": 0,
       "inReviewSecurityHotspots": 0,
       "toReviewSecurityHotspots": 0,
-      "resolvedSecurityHotspots": 0,
+      "reviewedSecurityHotspots": 0,
       "distribution": [],
       "activeRules": 0,
       "totalRules": 0
       "vulnerabilities": 0,
       "inReviewSecurityHotspots": 0,
       "toReviewSecurityHotspots": 0,
-      "resolvedSecurityHotspots": 0,
+      "reviewedSecurityHotspots": 0,
       "distribution": [],
       "activeRules": 0,
       "totalRules": 0
       "vulnerabilities": 0,
       "inReviewSecurityHotspots": 0,
       "toReviewSecurityHotspots": 0,
-      "resolvedSecurityHotspots": 0,
+      "reviewedSecurityHotspots": 0,
       "distribution": [],
       "activeRules": 1,
       "totalRules": 1
       "vulnerabilities": 0,
       "inReviewSecurityHotspots": 0,
       "toReviewSecurityHotspots": 0,
-      "resolvedSecurityHotspots": 0,
+      "reviewedSecurityHotspots": 0,
       "distribution": [],
       "activeRules": 1,
       "totalRules": 1
       "vulnerabilities": 0,
       "inReviewSecurityHotspots": 0,
       "toReviewSecurityHotspots": 0,
-      "resolvedSecurityHotspots": 0,
+      "reviewedSecurityHotspots": 0,
       "distribution": [],
       "activeRules": 0,
       "totalRules": 0
index 258c0756f9603d407677bfbfe4e109b11b10bd06..93df71860165b64fa9ca31d1b1166ea33f1bd623 100644 (file)
@@ -5,7 +5,7 @@
       "vulnerabilities": 0,
       "inReviewSecurityHotspots": 0,
       "toReviewSecurityHotspots": 0,
-      "resolvedSecurityHotspots": 0,
+      "reviewedSecurityHotspots": 0,
       "distribution": []
     },
     {
@@ -13,7 +13,7 @@
       "vulnerabilities": 0,
       "inReviewSecurityHotspots": 0,
       "toReviewSecurityHotspots": 0,
-      "resolvedSecurityHotspots": 0,
+      "reviewedSecurityHotspots": 0,
       "distribution": []
     },
     {
@@ -21,7 +21,7 @@
       "vulnerabilities": 0,
       "inReviewSecurityHotspots": 0,
       "toReviewSecurityHotspots": 0,
-      "resolvedSecurityHotspots": 0,
+      "reviewedSecurityHotspots": 0,
       "distribution": []
     },
     {
@@ -29,7 +29,7 @@
       "vulnerabilities": 0,
       "inReviewSecurityHotspots": 0,
       "toReviewSecurityHotspots": 0,
-      "resolvedSecurityHotspots": 0,
+      "reviewedSecurityHotspots": 0,
       "distribution": []
     },
     {
@@ -37,7 +37,7 @@
       "vulnerabilities": 0,
       "inReviewSecurityHotspots": 0,
       "toReviewSecurityHotspots": 0,
-      "resolvedSecurityHotspots": 0,
+      "reviewedSecurityHotspots": 0,
       "distribution": []
     },
     {
@@ -45,7 +45,7 @@
       "vulnerabilities": 0,
       "inReviewSecurityHotspots": 0,
       "toReviewSecurityHotspots": 0,
-      "resolvedSecurityHotspots": 0,
+      "reviewedSecurityHotspots": 0,
       "distribution": []
     },
     {
@@ -53,7 +53,7 @@
       "vulnerabilities": 0,
       "inReviewSecurityHotspots": 0,
       "toReviewSecurityHotspots": 0,
-      "resolvedSecurityHotspots": 0,
+      "reviewedSecurityHotspots": 0,
       "distribution": []
     },
     {
@@ -61,7 +61,7 @@
       "vulnerabilities": 0,
       "inReviewSecurityHotspots": 0,
       "toReviewSecurityHotspots": 0,
-      "resolvedSecurityHotspots": 0,
+      "reviewedSecurityHotspots": 0,
       "distribution": []
     },
     {
@@ -69,7 +69,7 @@
       "vulnerabilities": 0,
       "inReviewSecurityHotspots": 0,
       "toReviewSecurityHotspots": 0,
-      "resolvedSecurityHotspots": 0,
+      "reviewedSecurityHotspots": 0,
       "distribution": []
     },
     {
@@ -77,7 +77,7 @@
       "vulnerabilities": 0,
       "inReviewSecurityHotspots": 0,
       "toReviewSecurityHotspots": 0,
-      "resolvedSecurityHotspots": 0,
+      "reviewedSecurityHotspots": 0,
       "distribution": []
     },
     {
@@ -85,7 +85,7 @@
       "vulnerabilities": 0,
       "inReviewSecurityHotspots": 0,
       "toReviewSecurityHotspots": 0,
-      "resolvedSecurityHotspots": 0,
+      "reviewedSecurityHotspots": 0,
       "distribution": []
     },
     {
@@ -93,7 +93,7 @@
       "vulnerabilities": 0,
       "inReviewSecurityHotspots": 0,
       "toReviewSecurityHotspots": 0,
-      "resolvedSecurityHotspots": 0,
+      "reviewedSecurityHotspots": 0,
       "distribution": []
     },
     {
       "vulnerabilityRating": 3,
       "inReviewSecurityHotspots": 1,
       "toReviewSecurityHotspots": 1,
-      "resolvedSecurityHotspots": 1,
+      "reviewedSecurityHotspots": 1,
       "distribution": [
         {
           "cwe": "89",
           "vulnerabilityRating": 3,
           "inReviewSecurityHotspots": 1,
           "toReviewSecurityHotspots": 1,
-          "resolvedSecurityHotspots": 1
+          "reviewedSecurityHotspots": 1
         }
       ]
     },
       "vulnerabilities": 0,
       "inReviewSecurityHotspots": 0,
       "toReviewSecurityHotspots": 0,
-      "resolvedSecurityHotspots": 0,
+      "reviewedSecurityHotspots": 0,
       "distribution": []
     },
     {
       "vulnerabilities": 0,
       "inReviewSecurityHotspots": 0,
       "toReviewSecurityHotspots": 0,
-      "resolvedSecurityHotspots": 0,
+      "reviewedSecurityHotspots": 0,
       "distribution": []
     },
     {
       "vulnerabilities": 0,
       "inReviewSecurityHotspots": 0,
       "toReviewSecurityHotspots": 0,
-      "resolvedSecurityHotspots": 0,
+      "reviewedSecurityHotspots": 0,
       "distribution": []
     },
     {
       "vulnerabilities": 0,
       "inReviewSecurityHotspots": 0,
       "toReviewSecurityHotspots": 0,
-      "resolvedSecurityHotspots": 0,
+      "reviewedSecurityHotspots": 0,
       "distribution": []
     },
     {
       "vulnerabilities": 0,
       "inReviewSecurityHotspots": 0,
       "toReviewSecurityHotspots": 0,
-      "resolvedSecurityHotspots": 0,
+      "reviewedSecurityHotspots": 0,
       "distribution": []
     },
     {
       "vulnerabilities": 0,
       "inReviewSecurityHotspots": 0,
       "toReviewSecurityHotspots": 0,
-      "resolvedSecurityHotspots": 0,
+      "reviewedSecurityHotspots": 0,
       "distribution": []
     },
     {
       "vulnerabilities": 0,
       "inReviewSecurityHotspots": 0,
       "toReviewSecurityHotspots": 0,
-      "resolvedSecurityHotspots": 0,
+      "reviewedSecurityHotspots": 0,
       "distribution": []
     }
   ]
index 712067d6d7e5e9ea1f1522fc96bcc67c4a65a6d6..c9e6c74803670dce3a71bb67feae94afd49d9296 100644 (file)
@@ -5,7 +5,7 @@
       "vulnerabilities": 0,
       "inReviewSecurityHotspots": 0,
       "toReviewSecurityHotspots": 0,
-      "resolvedSecurityHotspots": 0,
+      "reviewedSecurityHotspots": 0,
       "distribution": [],
       "activeRules": 0,
       "totalRules": 0
@@ -15,7 +15,7 @@
       "vulnerabilities": 0,
       "inReviewSecurityHotspots": 0,
       "toReviewSecurityHotspots": 0,
-      "resolvedSecurityHotspots": 0,
+      "reviewedSecurityHotspots": 0,
       "distribution": [],
       "activeRules": 0,
       "totalRules": 0
@@ -25,7 +25,7 @@
       "vulnerabilities": 0,
       "inReviewSecurityHotspots": 0,
       "toReviewSecurityHotspots": 0,
-      "resolvedSecurityHotspots": 0,
+      "reviewedSecurityHotspots": 0,
       "distribution": [],
       "activeRules": 0,
       "totalRules": 0
@@ -35,7 +35,7 @@
       "vulnerabilities": 0,
       "inReviewSecurityHotspots": 0,
       "toReviewSecurityHotspots": 0,
-      "resolvedSecurityHotspots": 0,
+      "reviewedSecurityHotspots": 0,
       "distribution": [],
       "activeRules": 0,
       "totalRules": 0
@@ -45,7 +45,7 @@
       "vulnerabilities": 0,
       "inReviewSecurityHotspots": 0,
       "toReviewSecurityHotspots": 0,
-      "resolvedSecurityHotspots": 0,
+      "reviewedSecurityHotspots": 0,
       "distribution": [],
       "activeRules": 0,
       "totalRules": 0
@@ -55,7 +55,7 @@
       "vulnerabilities": 0,
       "inReviewSecurityHotspots": 0,
       "toReviewSecurityHotspots": 0,
-      "resolvedSecurityHotspots": 0,
+      "reviewedSecurityHotspots": 0,
       "distribution": [],
       "activeRules": 0,
       "totalRules": 0
@@ -65,7 +65,7 @@
       "vulnerabilities": 0,
       "inReviewSecurityHotspots": 0,
       "toReviewSecurityHotspots": 0,
-      "resolvedSecurityHotspots": 0,
+      "reviewedSecurityHotspots": 0,
       "distribution": [],
       "activeRules": 0,
       "totalRules": 0
@@ -75,7 +75,7 @@
       "vulnerabilities": 0,
       "inReviewSecurityHotspots": 0,
       "toReviewSecurityHotspots": 0,
-      "resolvedSecurityHotspots": 0,
+      "reviewedSecurityHotspots": 0,
       "distribution": [],
       "activeRules": 0,
       "totalRules": 0
@@ -85,7 +85,7 @@
       "vulnerabilities": 0,
       "inReviewSecurityHotspots": 0,
       "toReviewSecurityHotspots": 0,
-      "resolvedSecurityHotspots": 0,
+      "reviewedSecurityHotspots": 0,
       "distribution": [],
       "activeRules": 0,
       "totalRules": 0
@@ -95,7 +95,7 @@
       "vulnerabilities": 0,
       "inReviewSecurityHotspots": 0,
       "toReviewSecurityHotspots": 0,
-      "resolvedSecurityHotspots": 0,
+      "reviewedSecurityHotspots": 0,
       "distribution": [],
       "activeRules": 0,
       "totalRules": 0
       "vulnerabilities": 0,
       "inReviewSecurityHotspots": 0,
       "toReviewSecurityHotspots": 0,
-      "resolvedSecurityHotspots": 0,
+      "reviewedSecurityHotspots": 0,
       "distribution": [],
       "activeRules": 0,
       "totalRules": 0
       "vulnerabilities": 0,
       "inReviewSecurityHotspots": 0,
       "toReviewSecurityHotspots": 0,
-      "resolvedSecurityHotspots": 0,
+      "reviewedSecurityHotspots": 0,
       "distribution": [],
       "activeRules": 0,
       "totalRules": 0
       "vulnerabilityRating": 3,
       "inReviewSecurityHotspots": 1,
       "toReviewSecurityHotspots": 1,
-      "resolvedSecurityHotspots": 1,
+      "reviewedSecurityHotspots": 1,
       "distribution": [
         {
           "cwe": "89",
           "vulnerabilityRating": 3,
           "inReviewSecurityHotspots": 1,
           "toReviewSecurityHotspots": 1,
-          "resolvedSecurityHotspots": 1,
+          "reviewedSecurityHotspots": 1,
           "activeRules": 1,
           "totalRules": 1
         }
       "vulnerabilities": 0,
       "inReviewSecurityHotspots": 0,
       "toReviewSecurityHotspots": 0,
-      "resolvedSecurityHotspots": 0,
+      "reviewedSecurityHotspots": 0,
       "distribution": [],
       "activeRules": 0,
       "totalRules": 0
       "vulnerabilities": 0,
       "inReviewSecurityHotspots": 0,
       "toReviewSecurityHotspots": 0,
-      "resolvedSecurityHotspots": 0,
+      "reviewedSecurityHotspots": 0,
       "distribution": [],
       "activeRules": 0,
       "totalRules": 0
       "vulnerabilities": 0,
       "inReviewSecurityHotspots": 0,
       "toReviewSecurityHotspots": 0,
-      "resolvedSecurityHotspots": 0,
+      "reviewedSecurityHotspots": 0,
       "distribution": [],
       "activeRules": 0,
       "totalRules": 0
       "vulnerabilities": 0,
       "inReviewSecurityHotspots": 0,
       "toReviewSecurityHotspots": 0,
-      "resolvedSecurityHotspots": 0,
+      "reviewedSecurityHotspots": 0,
       "distribution": [],
       "activeRules": 0,
       "totalRules": 0
       "vulnerabilities": 0,
       "inReviewSecurityHotspots": 0,
       "toReviewSecurityHotspots": 0,
-      "resolvedSecurityHotspots": 0,
+      "reviewedSecurityHotspots": 0,
       "distribution": [],
       "activeRules": 1,
       "totalRules": 1
       "vulnerabilities": 0,
       "inReviewSecurityHotspots": 0,
       "toReviewSecurityHotspots": 0,
-      "resolvedSecurityHotspots": 0,
+      "reviewedSecurityHotspots": 0,
       "distribution": [],
       "activeRules": 1,
       "totalRules": 1
       "vulnerabilities": 0,
       "inReviewSecurityHotspots": 0,
       "toReviewSecurityHotspots": 0,
-      "resolvedSecurityHotspots": 0,
+      "reviewedSecurityHotspots": 0,
       "distribution": [],
       "activeRules": 0,
       "totalRules": 0
index 74319838eafb7a1a438fb1de28ce081b7b8498f5..d089f70e9d4f3fc624ca4cd134a646df9755c02e 100644 (file)
@@ -618,20 +618,14 @@ issue.transition.close=Close
 issue.transition.close.description=
 issue.transition.wontfix=Resolve as won't fix
 issue.transition.wontfix.description=This issue can be ignored because the rule is irrelevant in this context. Its effort won't be counted.
-issue.transition.detect=Detect
-issue.transition.detect.description=A Vulnerability exists here and must be fixed.
-issue.transition.dismiss=Dismiss
-issue.transition.dismiss.description=This vulnerability can't be fixed as is and needs more details from a security expert.
-issue.transition.reject=Reject
-issue.transition.reject.description=The fix has been reviewed by a security expert and the vulnerability is still there. Code must be fixed again.
-issue.transition.requestreview=Request review
-issue.transition.requestreview.description=The code has been fixed and a review by a security expert is required to confirm it.
-issue.transition.accept=Accept
-issue.transition.accept.description=The code has been fixed and the vulnerability has been removed. The issue can be closed.
-issue.transition.clear=Clear
-issue.transition.clear.description=There is no vulnerability in the code. The issue can be closed.
-issue.transition.reopenhotspot=Reopen
-issue.transition.reopenhotspot.description=This security hotspot should be analyzed again by a security expert.
+issue.transition.setinreview = Set as In Review
+issue.transition.setinreview.description = A review is required to check for a vulnerability
+issue.transition.resolveasreviewed = Resolve as Reviewed
+issue.transition.resolveasreviewed.description = There is no vulnerability in the code
+issue.transition.openasvulnerability = Open as Vulnerability
+issue.transition.openasvulnerability.description = There's a vulnerability in the code that must be fixed
+issue.transition.resetastoreview = Reset as security hotspot To Review
+issue.transition.resetastoreview.description = The security hotspot should be analyzed again
 issue.set_severity=Change Severity
 issue.set_type=Change Type
 
index b000f18aa2140c8458a6fdedcfda30427fa9d81d..9888ee339834c0192290adfe0eb6d34e586adbea 100644 (file)
@@ -41,16 +41,6 @@ public interface DefaultTransitions {
    */
   String WONT_FIX = "wontfix";
 
-  /**
-   * @since 7.3
-   */
-  String DETECT = "detect";
-  String DISMISS = "dismiss";
-  String REJECT = "reject";
-  String ACCEPT = "accept";
-  String CLEAR = "clear";
-  String REOPEN_HOTSPOT = "reopenhotspot";
-
   /**
    * @since 7.8
    */
@@ -66,9 +56,14 @@ public interface DefaultTransitions {
    */
   String OPEN_AS_VULNERABILITY = "openasvulnerability";
 
+  /**
+   * @since 7.8
+   */
+  String RESET_AS_TO_REVIEW = "resetastoreview";
+
   /**
    * @since 4.4
    */
   List<String> ALL = unmodifiableList(asList(CONFIRM, UNCONFIRM, REOPEN, RESOLVE, FALSE_POSITIVE, WONT_FIX, CLOSE,
-    DETECT, DISMISS, REJECT, SET_AS_IN_REVIEW, ACCEPT, CLEAR, REOPEN_HOTSPOT, RESOLVE_AS_REVIEWED, OPEN_AS_VULNERABILITY));
+    SET_AS_IN_REVIEW, RESOLVE_AS_REVIEWED, OPEN_AS_VULNERABILITY,RESET_AS_TO_REVIEW));
 }
index 17b894f86738b4fc9406f238e61d1a1c9e3bba58..67d7c7e7264b5a43f2909dbda52d3fc4252bb481 100644 (file)
@@ -37,7 +37,7 @@ message SecurityStandardCategoryStatistics {
   optional int64 vulnerabilityRating = 3;
   optional int64 inReviewSecurityHotspots = 4;
   optional int64 toReviewSecurityHotspots = 5;
-  optional int64 resolvedSecurityHotspots = 6;
+  optional int64 reviewedSecurityHotspots = 6;
   repeated CweStatistics distribution = 7;
   optional int64 activeRules = 8;
   optional int64 totalRules = 9;
@@ -49,7 +49,7 @@ message CweStatistics {
   optional int64 vulnerabilityRating = 3;
   optional int64 inReviewSecurityHotspots = 4;
   optional int64 toReviewSecurityHotspots = 5;
-  optional int64 resolvedSecurityHotspots = 6;
+  optional int64 reviewedSecurityHotspots = 6;
   optional int64 activeRules = 7;
   optional int64 totalRules = 8;
 }