Conversation
- Introduced `external-service-api` module with base interface `ExternalService` for health checks. - Implemented `AbstractExternalServiceHealthIndicator` to provide a standard health check mechanism. - Added health indicators for Bitbucket, OpenShift, Projects Info Service, UiPath, and Webhook Proxy services. - Updated existing service interfaces to extend `ExternalService` and implement the `isHealthy` method. - Integrated Spring Boot Actuator for health checks in each service module. - Updated parent `pom.xml` to include the new `external-service-api` module.
📊 Static Analysis Summary🔍 Code Quality Checks
📦 Download detailed reports from the workflow artifacts. |
| RestTemplateBuilder restTemplateBuilder) { | ||
| this.configuration = configuration; | ||
| this.restTemplateBuilder = restTemplateBuilder; | ||
| this.clientCache = new ConcurrentHashMap<>(); |
There was a problem hiding this comment.
Why not use a "real" cache with @Cacheable in getClient?
There was a problem hiding this comment.
maybe I'm a bit oldskool from my side.
The only problem here that I can see is that as I resolve the name of the cluster, and get the default one if nothing is provided, then I could get several entries for the same client.
To do it I should split the method to avoid null calls. And other to get the default one configured for the server.
There was a problem hiding this comment.
Cache enabled. Tests to check cache added.
Changed the way we retrieve the information to avoid problems in internal call (that's why I have 2 methods to get the client)
| * | ||
| * @return The generated ApiClient instance | ||
| */ | ||
| public ApiClient getApiClient() { |
There was a problem hiding this comment.
Why not use Lombock to getter/setters?
There was a problem hiding this comment.
good catch, here at least for getters, as it is set in the constructor of the ApiClient class.
I'll change it
…g Lombok @Getter annotation
📊 Static Analysis Summary🔍 Code Quality Checks
📦 Download detailed reports from the workflow artifacts. |
📊 Static Analysis Summary🔍 Code Quality Checks
📦 Download detailed reports from the workflow artifacts. |
This pull request introduces a new module for integrating with Jira Data Center/Server, providing a standardized way to check project existence and retrieve server information. The changes include the addition of a dedicated Maven module with OpenAPI-generated client code, configuration, and dependencies, as well as updates to the core project to support this integration.
New Jira Integration Module:
external-service-jirafor interacting with Jira Data Center/Server, including a client for checking project existence and retrieving server info.openapi-jira-dc.yaml) describing the supported Jira REST API endpoints and data models for server info and project retrieval.JiraApiClientclass, which wraps the generated API client, handles authentication (bearer token or basic auth), and configures the underlyingRestTemplatefor correct JSON handling.Project Configuration:
pom.xmlto include the newexternal-service-jiramodule as a dependency, enabling other modules to use the Jira integration.