diff --git a/application/src/main/java/org/thingsboard/server/service/notification/rule/trigger/NewPlatformVersionTriggerProcessor.java b/application/src/main/java/org/thingsboard/server/service/notification/rule/trigger/NewPlatformVersionTriggerProcessor.java index ba346caab8..030409d014 100644 --- a/application/src/main/java/org/thingsboard/server/service/notification/rule/trigger/NewPlatformVersionTriggerProcessor.java +++ b/application/src/main/java/org/thingsboard/server/service/notification/rule/trigger/NewPlatformVersionTriggerProcessor.java @@ -44,7 +44,7 @@ public class NewPlatformVersionTriggerProcessor implements NotificationRuleTrigg @Override public NotificationInfo constructNotificationInfo(NewPlatformVersionTrigger trigger, NewPlatformVersionNotificationRuleTriggerConfig triggerConfig) { return NewPlatformVersionNotificationInfo.builder() - .message(trigger.getMessage().getMessage()) + .message("New version available - " + trigger.getMessage().getLatestVersion()) .build(); } diff --git a/application/src/main/java/org/thingsboard/server/service/update/DefaultUpdateService.java b/application/src/main/java/org/thingsboard/server/service/update/DefaultUpdateService.java index d9f49ae4d3..46f3d89a50 100644 --- a/application/src/main/java/org/thingsboard/server/service/update/DefaultUpdateService.java +++ b/application/src/main/java/org/thingsboard/server/service/update/DefaultUpdateService.java @@ -21,6 +21,7 @@ import com.fasterxml.jackson.databind.node.ObjectNode; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; +import org.springframework.boot.info.BuildProperties; import org.springframework.stereotype.Service; import org.springframework.web.client.RestTemplate; import org.thingsboard.common.util.ThingsBoardThreadFactory; @@ -57,6 +58,9 @@ public class DefaultUpdateService implements UpdateService { @Value("${updates.enabled}") private boolean updatesEnabled; + @Autowired(required = false) + private BuildProperties buildProperties; + @Autowired private NotificationRuleProcessingService notificationRuleProcessingService; @@ -73,14 +77,11 @@ public class DefaultUpdateService implements UpdateService { @PostConstruct private void init() { - updateMessage = new UpdateMessage("", false, ""); + version = buildProperties != null ? buildProperties.getVersion() : "unknown"; + updateMessage = new UpdateMessage(false, version, "", ""); if (updatesEnabled) { try { platform = System.getProperty("platform", "unknown"); - version = getClass().getPackage().getImplementationVersion(); - if (version == null) { - version = "unknown"; - } instanceId = parseInstanceId(); checkUpdatesFuture = scheduler.scheduleAtFixedRate(checkUpdatesRunnable, 0, 1, TimeUnit.HOURS); } catch (Exception e) { @@ -131,9 +132,10 @@ public class DefaultUpdateService implements UpdateService { JsonNode response = restClient.postForObject(UPDATE_SERVER_BASE_URL + "/api/thingsboard/updates", request, JsonNode.class); UpdateMessage prevUpdateMessage = updateMessage; updateMessage = new UpdateMessage( - response.get("message").asText(), response.get("updateAvailable").asBoolean(), - version + version, + "3.5.0", + "https://thingsboard.io/docs/user-guide/install/pe/upgrade-instructions" ); if (updateMessage.isUpdateAvailable() && !updateMessage.equals(prevUpdateMessage)) { notificationRuleProcessingService.process(TenantId.SYS_TENANT_ID, NewPlatformVersionTrigger.builder() diff --git a/common/data/src/main/java/org/thingsboard/server/common/data/UpdateMessage.java b/common/data/src/main/java/org/thingsboard/server/common/data/UpdateMessage.java index b5ecdcbf79..aecfcc16b4 100644 --- a/common/data/src/main/java/org/thingsboard/server/common/data/UpdateMessage.java +++ b/common/data/src/main/java/org/thingsboard/server/common/data/UpdateMessage.java @@ -23,10 +23,14 @@ import lombok.Data; @Data public class UpdateMessage { - @ApiModelProperty(position = 1, value = "The message about new platform update available.") - private final String message; - @ApiModelProperty(position = 2, value = "'True' if new platform update is available.") + @ApiModelProperty(position = 1, value = "'True' if new platform update is available.") private final boolean isUpdateAvailable; - @ApiModelProperty(position = 3, value = "Current ThingsBoard version.") + @ApiModelProperty(position = 2, value = "Current ThingsBoard version.") private final String currentVersion; + @ApiModelProperty(position = 3, value = "Latest ThingsBoard version.") + private final String latestVersion; + @ApiModelProperty(position = 4, value = "Upgrade instructions URL.") + private final String upgradeInstructionsUrl; + + } diff --git a/pom.xml b/pom.xml index b577bf4142..fb1aafd6b6 100755 --- a/pom.xml +++ b/pom.xml @@ -78,7 +78,7 @@ 3.5.5 3.21.9 1.42.1 - 1.0.5 + 1.0.6 1.18.18 1.2.4 1.2.5