in rest-api/src/jetbrains/buildServer/server/rest/model/server/Server.java [190:220]
public static String getFieldValue(@Nullable final String field, @NotNull final ServiceLocator serviceLocator) {
// Note: "build", "majorVersion" and "minorVersion" for backward compatibility.
if (ServerRequest.SERVER_VERSION_RQUEST_PATH.equals(field)) {
return serviceLocator.getSingletonService(SBuildServer.class).getFullServerVersion();
} else if ("buildNumber".equals(field) || "build".equals(field)) {
return serviceLocator.getSingletonService(SBuildServer.class).getBuildNumber();
} else if ("versionMajor".equals(field) || "majorVersion".equals(field)) {
return Integer.toString(serviceLocator.getSingletonService(SBuildServer.class).getVersion().getDisplayVersionMajor());
} else if ("versionMinor".equals(field) || "minorVersion".equals(field)) {
return Integer.toString(serviceLocator.getSingletonService(SBuildServer.class).getVersion().getDisplayVersionMinor());
} else if ("startTime".equals(field)) {
return Util.formatTime(serviceLocator.getSingletonService(DataProvider.class).getServerStartTime());
} else if ("currentTime".equals(field)) {
return Util.formatTime(new Date());
} else if ("internalId".equals(field)) {
return serviceLocator.getSingletonService(ServerSettings.class).getServerUUID();
} else if ("superUserToken".equals(field)) {
serviceLocator.getSingletonService(DataProvider.class).checkGlobalPermission(Permission.MANAGE_SERVER_INSTALLATION);
return serviceLocator.getSingletonService(DataProvider.class).getBean(StartupContext.class).getMaintenanceAuthenticationToken();
} else if ("dataDirectoryPath".equals(field)) { //experimental
serviceLocator.getSingletonService(DataProvider.class).checkGlobalPermission(Permission.VIEW_SERVER_SETTINGS);
return serviceLocator.getSingletonService(DataProvider.class).getBean(ServerPaths.class).getDataDirectory().getAbsolutePath();
} else if ("role".equals(field)) {
return Node.getNodeRole(serviceLocator.getSingletonService(TeamCityNodes.class).getCurrentNode()).name();
} else if ("webUrl".equals(field) || "url".equals(field)) {
return serviceLocator.getSingletonService(RootUrlHolder.class).getRootUrl();
} else if ("artifactsUrl".equals(field)) {
return serviceLocator.getSingletonService(ServerSettings.class).getArtifactsRootUrl();
}
throw new NotFoundException("Field '" + field + "' is not supported. Supported are: version, versionMajor, versionMinor, buildNumber, startTime, currentTime, internalId, role, artifactsUrl.");
}