diff --git a/README.md b/README.md
index 42942ce..af68a05 100644
--- a/README.md
+++ b/README.md
@@ -3,7 +3,7 @@
## UI
Preconditions:
-- Install Node.js (version 14 is recommended).
+- Install Node.js (version 20 is recommended).
Install the dependencies: `npm install`
diff --git a/build.gradle b/build.gradle
index 82288e2..4282594 100644
--- a/build.gradle
+++ b/build.gradle
@@ -26,7 +26,7 @@ repositories {
dependencyManagement {
imports {
- mavenBom(releaseMode ? 'com.epam.reportportal:commons-bom:' + getProperty('bom.version') : 'com.epam.reportportal:commons-bom:5.11.2')
+ mavenBom(releaseMode ? 'com.epam.reportportal:commons-bom:' + getProperty('bom.version') : 'com.github.reportportal:commons-bom:04b1a7d')
}
}
@@ -35,8 +35,8 @@ dependencies {
implementation 'com.epam.reportportal:plugin-api'
annotationProcessor 'com.epam.reportportal:plugin-api'
} else {
- implementation 'com.epam.reportportal:plugin-api'
- annotationProcessor 'com.epam.reportportal:plugin-api'
+ implementation 'com.github.reportportal:plugin-api:cc3c5c8e'
+ annotationProcessor 'com.github.reportportal:plugin-api:cc3c5c8e'
}
compile 'com.squareup.okhttp:okhttp:2.7.5'
@@ -44,6 +44,7 @@ dependencies {
compile 'io.gsonfire:gson-fire:1.8.0'
compile 'org.threeten:threetenbp:1.3.5'
+ implementation 'org.springdoc:springdoc-openapi-ui:1.7.0'
implementation group: 'javax.servlet', name: 'javax.servlet-api', version: '4.0.1'
implementation group: 'org.glassfish', name: 'javax.el', version: '3.0.0'
implementation group: 'javax.el', name: 'javax.el-api', version: '3.0.0'
diff --git a/src/main/java/com/epam/reportportal/extension/azure/AzureExtension.java b/src/main/java/com/epam/reportportal/extension/azure/AzureExtension.java
index 04b9ff4..7cc6b5e 100644
--- a/src/main/java/com/epam/reportportal/extension/azure/AzureExtension.java
+++ b/src/main/java/com/epam/reportportal/extension/azure/AzureExtension.java
@@ -1,5 +1,9 @@
package com.epam.reportportal.extension.azure;
+import static com.epam.ta.reportportal.ws.reporting.ErrorType.UNABLE_INTERACT_WITH_INTEGRATION;
+import static com.epam.ta.reportportal.ws.reporting.ErrorType.UNABLE_TO_LOAD_BINARY_DATA;
+import static java.util.Optional.ofNullable;
+
import com.epam.reportportal.extension.CommonPluginCommand;
import com.epam.reportportal.extension.IntegrationGroupEnum;
import com.epam.reportportal.extension.PluginCommand;
@@ -13,11 +17,21 @@
import com.epam.reportportal.extension.azure.rest.client.ApiClient;
import com.epam.reportportal.extension.azure.rest.client.ApiException;
import com.epam.reportportal.extension.azure.rest.client.Configuration;
-import com.epam.reportportal.extension.azure.rest.client.api.*;
+import com.epam.reportportal.extension.azure.rest.client.api.AttachmentsApi;
+import com.epam.reportportal.extension.azure.rest.client.api.ClassificationNodesApi;
+import com.epam.reportportal.extension.azure.rest.client.api.FieldsApi;
+import com.epam.reportportal.extension.azure.rest.client.api.WorkItemTypesApi;
+import com.epam.reportportal.extension.azure.rest.client.api.WorkItemTypesFieldApi;
+import com.epam.reportportal.extension.azure.rest.client.api.WorkItemsApi;
import com.epam.reportportal.extension.azure.rest.client.auth.HttpBasicAuth;
import com.epam.reportportal.extension.azure.rest.client.model.AttachmentInfo;
import com.epam.reportportal.extension.azure.rest.client.model.AttachmentReference;
-import com.epam.reportportal.extension.azure.rest.client.model.workitem.*;
+import com.epam.reportportal.extension.azure.rest.client.model.workitem.JsonPatchOperation;
+import com.epam.reportportal.extension.azure.rest.client.model.workitem.WorkItem;
+import com.epam.reportportal.extension.azure.rest.client.model.workitem.WorkItemClassificationNode;
+import com.epam.reportportal.extension.azure.rest.client.model.workitem.WorkItemField;
+import com.epam.reportportal.extension.azure.rest.client.model.workitem.WorkItemType;
+import com.epam.reportportal.extension.azure.rest.client.model.workitem.WorkItemTypeFieldWithReferences;
import com.epam.reportportal.extension.azure.utils.MemoizingSupplier;
import com.epam.reportportal.extension.bugtracking.BtsConstants;
import com.epam.reportportal.extension.bugtracking.BtsExtension;
@@ -26,20 +40,43 @@
import com.epam.reportportal.extension.event.PluginEvent;
import com.epam.reportportal.extension.event.StartLaunchEvent;
import com.epam.ta.reportportal.binary.impl.AttachmentDataStoreService;
-import com.epam.ta.reportportal.dao.*;
+import com.epam.ta.reportportal.dao.IntegrationRepository;
+import com.epam.ta.reportportal.dao.IntegrationTypeRepository;
+import com.epam.ta.reportportal.dao.LaunchRepository;
+import com.epam.ta.reportportal.dao.LogRepository;
+import com.epam.ta.reportportal.dao.TestItemRepository;
import com.epam.ta.reportportal.entity.attachment.Attachment;
import com.epam.ta.reportportal.entity.integration.Integration;
import com.epam.ta.reportportal.entity.item.TestItem;
import com.epam.ta.reportportal.entity.log.Log;
import com.epam.ta.reportportal.exception.ReportPortalException;
import com.epam.ta.reportportal.filesystem.DataEncoder;
-import com.epam.ta.reportportal.ws.model.ErrorType;
import com.epam.ta.reportportal.ws.model.externalsystem.AllowedValue;
import com.epam.ta.reportportal.ws.model.externalsystem.PostFormField;
import com.epam.ta.reportportal.ws.model.externalsystem.PostTicketRQ;
import com.epam.ta.reportportal.ws.model.externalsystem.Ticket;
+import com.epam.ta.reportportal.ws.reporting.ErrorType;
import com.google.common.base.Suppliers;
import com.google.common.io.ByteStreams;
+import java.io.IOException;
+import java.io.InputStream;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.time.format.DateTimeFormatter;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+import java.util.Optional;
+import java.util.function.Supplier;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
+import javax.annotation.PostConstruct;
+import javax.sql.DataSource;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.collections.MapUtils;
import org.apache.commons.lang3.StringUtils;
@@ -60,727 +97,693 @@
import org.springframework.core.io.FileSystemResource;
import org.springframework.jdbc.datasource.init.ResourceDatabasePopulator;
-import javax.annotation.PostConstruct;
-import javax.sql.DataSource;
-import java.io.IOException;
-import java.io.InputStream;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-import java.time.format.DateTimeFormatter;
-import java.util.*;
-import java.util.function.Supplier;
-import java.util.stream.Collectors;
-import java.util.stream.Stream;
-
-import static com.epam.ta.reportportal.ws.model.ErrorType.UNABLE_INTERACT_WITH_INTEGRATION;
-import static com.epam.ta.reportportal.ws.model.ErrorType.UNABLE_TO_LOAD_BINARY_DATA;
-import static java.util.Optional.ofNullable;
-
/**
* @author Ivan Budayeu
*/
@Extension
public class AzureExtension implements ReportPortalExtensionPoint, DisposableBean, BtsExtension {
- public static final Logger LOGGER = LoggerFactory.getLogger(AzureExtension.class);
-
- private static final String DOCUMENTATION_LINK_FIELD = "documentationLink";
- private static final String DOCUMENTATION_LINK = "https://reportportal.io/docs/plugins/AzureDevOpsBTS";
- public static final String BINARY_DATA_PROPERTIES_FILE_ID = "azure-binary-data.properties";
+ public static final Logger LOGGER = LoggerFactory.getLogger(AzureExtension.class);
- public static final String SCHEMA_SCRIPTS_DIR = "schema";
+ private static final String DOCUMENTATION_LINK_FIELD = "documentationLink";
+ private static final String DOCUMENTATION_LINK =
+ "https://reportportal.io/docs/plugins/AzureDevOpsBTS";
+ public static final String BINARY_DATA_PROPERTIES_FILE_ID = "azure-binary-data.properties";
- public static final String URL = "url";
+ public static final String SCHEMA_SCRIPTS_DIR = "schema";
- public static final String PROJECT = "project";
+ public static final String URL = "url";
- public static final String OAUTH_ACCESS_KEY = "oauthAccessKey";
+ public static final String PROJECT = "project";
- private static final String PLUGIN_ID = "Azure DevOps";
+ public static final String OAUTH_ACCESS_KEY = "oauthAccessKey";
- private static final String API_VERSION = "6.0";
+ private static final String PLUGIN_ID = "Azure DevOps";
- private static final String EXPAND = "All";
+ private static final String API_VERSION = "6.0";
- private static final String AREA = "area";
+ private static final String EXPAND = "All";
- private static final String ITERATION = "iteration";
+ private static final String AREA = "area";
- private static final String BACK_LINK_HEADER = "
Back link to Report Portal:
";
+ private static final String ITERATION = "iteration";
- private static final String BACK_LINK_PATTERN = "Link to defect";
+ private static final String BACK_LINK_HEADER = "Back link to Report Portal:
";
- private static final String COMMENTS_HEADER = "Test Item comments:
";
+ private static final String BACK_LINK_PATTERN = "Link to defect";
- private static final String LOGS_HEADER = "Test execution logs:
";
+ private static final String COMMENTS_HEADER = "Test Item comments:
";
- private static final String IMAGE_CONTENT = "image";
+ private static final String LOGS_HEADER = "Test execution logs:
";
- private static final String AUTH_NAME = "accessToken";
+ private static final String IMAGE_CONTENT = "image";
- private static final Integer DEPTH = 15;
+ private static final String AUTH_NAME = "accessToken";
- private final String resourcesDir;
+ private static final Integer DEPTH = 15;
- private final Supplier