Feature/marketplace deletion#23
Conversation
…sage # Conflicts: # api-project-component-v0/src/main/java/org/opendevstack/apiservice/project/controller/ComponentsResponseFactory.java # api-project-component-v0/src/main/java/org/opendevstack/apiservice/project/controller/ProjectComponentsController.java # api-project-component-v0/src/main/java/org/opendevstack/apiservice/project/facade/ComponentsFacade.java # api-project-component-v0/src/main/java/org/opendevstack/apiservice/project/mapper/MarketplaceMapper.java # api-project-component-v0/src/test/java/org/opendevstack/apiservice/project/controller/ProjectComponentsControllerTest.java # api-project-component-v0/src/test/java/org/opendevstack/apiservice/project/facade/ComponentsFacadeTest.java # api-project-component-v0/src/test/java/org/opendevstack/apiservice/project/util/TestObjectsBuilder.java # external-service-marketplace/src/main/java/org/opendevstack/apiservice/externalservice/marketplace/model/ProjectComponent.java # external-service-marketplace/src/main/java/org/opendevstack/apiservice/externalservice/marketplace/service/impl/MarketplaceServiceMockImpl.java
…ate components and added mandatory parameters to the marketplace 2.0 provision component call
…ent by project key and component ID
#20) … Marketplace API client with bearer token support --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…ds from MarketplaceInstanceConfig and MarketplaceServiceImpl
…nts-api-usage' into feature/real-marketplace-components-api-usage
# Conflicts: # Makefile # api-project-component-v0/src/main/java/org/opendevstack/apiservice/project/controller/ProjectComponentsController.java # api-project-component-v0/src/main/java/org/opendevstack/apiservice/project/controller/advice/ProjectComponentsExceptionHandler.java # api-project-component-v0/src/main/java/org/opendevstack/apiservice/project/facade/ComponentsFacade.java # api-project-component-v0/src/main/java/org/opendevstack/apiservice/project/mapper/MarketplaceMapper.java # api-project-component-v0/src/test/java/org/opendevstack/apiservice/project/facade/ComponentsFacadeTest.java # application.yaml # core-security/src/main/java/org/opendevstack/apiservice/core/security/jwt/JwtUtils.java # external-service-marketplace/openapi/openapi-component_catalog-v1.0.0.yaml # external-service-marketplace/openapi/openapi-component_provisioner-v1.0.0.yaml # external-service-marketplace/pom.xml # external-service-marketplace/src/main/java/org/opendevstack/apiservice/externalservice/marketplace/client/MarketplaceApiClient.java # external-service-marketplace/src/main/java/org/opendevstack/apiservice/externalservice/marketplace/client/MarketplaceApiClientFactory.java # external-service-marketplace/src/main/java/org/opendevstack/apiservice/externalservice/marketplace/config/MarketplaceInstanceConfig.java # external-service-marketplace/src/main/java/org/opendevstack/apiservice/externalservice/marketplace/service/CatalogItemOperations.java # external-service-marketplace/src/main/java/org/opendevstack/apiservice/externalservice/marketplace/service/MarketplaceService.java # external-service-marketplace/src/main/java/org/opendevstack/apiservice/externalservice/marketplace/service/impl/MarketplaceServiceImpl.java # external-service-marketplace/src/test/java/org/opendevstack/apiservice/externalservice/marketplace/service/MarketplaceServiceImplTest.java
📊 Static Analysis Summary🔍 Code Quality Checks
📦 Download detailed reports from the workflow artifacts. |
1 similar comment
📊 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. |
1 similar comment
📊 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. |
There was a problem hiding this comment.
Pull request overview
This PR updates the Marketplace “delete component” flow to use the provisioner’s new deleteProvisioningStatus endpoint (204 No Content) and adapts the project-component API to expose a corresponding internal delete endpoint, including supporting tests.
Changes:
- Switched Marketplace deletion from the old “create incident” flow to
deleteProvisioningStatus, and updated the service API frombooleantovoid. - Added basic-auth support to the Marketplace API client via new instance config fields (
username/password). - Introduced an internal project-component delete controller + OpenAPI spec + generation config, and updated facade behavior/tests to throw
ComponentDeletionExceptionon deletion failures.
Reviewed changes
Copilot reviewed 16 out of 17 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| external-service-marketplace/src/test/java/.../MarketplaceServiceImplTest.java | Updates health/deletion tests (currently has a signature mismatch in delete tests). |
| external-service-marketplace/src/main/java/.../MarketplaceService.java | Changes delete methods to void to reflect 204/no-body behavior. |
| external-service-marketplace/src/main/java/.../impl/MarketplaceServiceImpl.java | Implements deletion via deleteProvisioningStatus using a request body. |
| external-service-marketplace/src/main/java/.../config/MarketplaceInstanceConfig.java | Adds basic-auth credentials fields to instance config. |
| external-service-marketplace/src/main/java/.../client/MarketplaceApiClientFactory.java | Formatting-only change. |
| external-service-marketplace/src/main/java/.../client/MarketplaceApiClient.java | Applies basic-auth credentials onto the generated ApiClient. |
| external-service-marketplace/pom.xml | Updates OpenAPI generation filter to include deleteProvisioningStatus. |
| external-service-marketplace/openapi/openapi-component_provisioner-v1.0.0.yaml | Updates delete response code to 204 for deleteProvisioningStatus. |
| api-project-component-v0/src/test/java/.../ComponentsFacadeTest.java | Adds facade tests for delete behavior. |
| api-project-component-v0/src/test/java/.../ProjectComponentsInternalControllerTest.java | Adds tests for the new internal delete controller. |
| api-project-component-v0/src/test/java/.../ProjectComponentsControllerTest.java | Trailing whitespace change only. |
| api-project-component-v0/src/main/java/.../facade/ComponentsFacade.java | Changes delete facade to void and throws ComponentDeletionException on failures. |
| api-project-component-v0/src/main/java/.../exception/ComponentDeletionException.java | Adds a runtime exception type for deletion failures. |
| api-project-component-v0/src/main/java/.../controller/ProjectComponentsInternalController.java | Adds internal v1 delete endpoint returning 204. |
| api-project-component-v0/src/main/java/.../controller/advice/ProjectComponentsExceptionHandler.java | Adds deletion exception handler (currently has a wrong parameter type). |
| api-project-component-v0/pom.xml | Adds OpenAPI generation execution for the internal API. |
| api-project-component-v0/openapi/api-project-component-v0-internal.yaml | Defines the internal delete endpoint (204) and security schemes. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| // Act & Assert | ||
| assertThrows(MarketplaceException.class, () -> | ||
| marketplaceService.deleteProjectComponent(instanceName, componentId)); | ||
|
|
|
📊 Static Analysis Summary🔍 Code Quality Checks
📦 Download detailed reports from the workflow artifacts. |



Update marketplace deletion service and controller with tests.