Interface DeliveryApi

  • All Superinterfaces:
    ApiService

    @Path("/api/v1/deliveries")
    @Produces("application/json")
    @Consumes("application/json")
    public interface DeliveryApi
    extends ApiService
    Operations on release deliveries.
    • Method Detail

      • serviceName

        default java.lang.String serviceName()
        Specified by:
        serviceName in interface ApiService
      • getDelivery

        @GET
        @Path("/{deliveryId:.*Delivery[^/]*}")
        Delivery getDelivery​(@PathParam("deliveryId")
                             java.lang.String deliveryId)
        Returns a delivery by ID.
        Parameters:
        deliveryId - the delivery identifier.
        Returns:
        the delivery which has the given identifier.
      • updateDelivery

        @PUT
        @Path("/{deliveryId:.*Delivery[^/]*}")
        Delivery updateDelivery​(@PathParam("deliveryId")
                                java.lang.String deliveryId,
                                Delivery delivery)
        Updates a delivery.
        Parameters:
        deliveryId - the delivery identifier.
        delivery - new contents of the delivery.
        Returns:
        the updated delivery.
      • updateDelivery

        Delivery updateDelivery​(Delivery delivery)
        Updates a delivery.
        Parameters:
        delivery - new contents of the delivery.
        Returns:
        the updated delivery.
      • deleteDelivery

        @DELETE
        @Path("/{deliveryId:.*Delivery[^/]*}")
        void deleteDelivery​(@PathParam("deliveryId")
                            java.lang.String deliveryId)
        Deletes a delivery.
        Parameters:
        deliveryId - the delivery identifier.
      • searchDeliveries

        @POST
        @Path("search")
        java.util.List<Delivery> searchDeliveries​(DeliveryFilters deliveryFilters,
                                                  @DefaultValue("0") @QueryParam("page")
                                                  java.lang.Long page,
                                                  @DefaultValue("100") @QueryParam("resultsPerPage")
                                                  java.lang.Long resultsPerPage,
                                                  @DefaultValue("START_DATE") @QueryParam("orderBy")
                                                  DeliveryOrderMode orderBy)
        Search deliveries by filters.
        Parameters:
        deliveryFilters - the search criteria.
        page - the page of results to return. Default value is 0.
        resultsPerPage - the number of results per page. Default and maximum value is 100.
        orderBy - sort options by which to sort the deliveries. Leave null for ordering by title.
        Returns:
        the list of matching deliveries.
      • searchDeliveries

        java.util.List<Delivery> searchDeliveries​(DeliveryFilters deliveryFilters,
                                                  DeliveryOrderMode orderBy)
        Search deliveries by filters with default pagination.
        Parameters:
        deliveryFilters - the search criteria.
        orderBy - sort options by which to sort the deliveries. Leave null for ordering by title.
        Returns:
        the list of matching deliveries.
      • searchDeliveries

        java.util.List<Delivery> searchDeliveries​(DeliveryFilters deliveryFilters)
        Search deliveries by filters with default pagination and ordering by title.
        Parameters:
        deliveryFilters - the search criteria.
        Returns:
        the list of matching deliveries.
      • getDeliveryTimeline

        @GET
        @Path("/{deliveryId:.*Delivery[^/]*}/timeline")
        DeliveryTimeline getDeliveryTimeline​(@PathParam("deliveryId")
                                             java.lang.String deliveryId)
      • getReleases

        @GET
        @Path("/{deliveryId:.*Delivery[^/]*}/releases")
        java.util.List<DeliveryFlowReleaseInfo> getReleases​(@PathParam("deliveryId")
                                                            java.lang.String deliveryId)
        Returns releases associated with a given delivery.
        Parameters:
        deliveryId - the delivery identifier.
        Returns:
        the release info associated with the delivery.
      • createTrackedItem

        @POST
        @Path("/{deliveryId:.*Delivery[^/]*}/tracked-items")
        TrackedItem createTrackedItem​(@PathParam("deliveryId")
                                      java.lang.String deliveryId,
                                      TrackedItem item)
        Adds a tracked item to a delivery.
        Parameters:
        deliveryId - the delivery identifier.
        item - the item to be added to the delivery.
        Returns:
        the created item.
      • getTrackedItems

        @GET
        @Path("/{deliveryId:.*Delivery[^/]*}/tracked-items")
        java.util.List<TrackedItem> getTrackedItems​(@PathParam("deliveryId")
                                                    java.lang.String deliveryId)
        Returns the tracked items associated with given delivery.
        Parameters:
        deliveryId - the delivery identifier.
        Returns:
        tracked items associated with the delivery.
      • updateTrackedItem

        @PUT
        @Path("/{itemId:.*TrackedItem[^/]*}")
        TrackedItem updateTrackedItem​(@PathParam("itemId")
                                      java.lang.String itemId,
                                      TrackedItem item)
        Updates a tracked item.
        Parameters:
        itemId - the full item identifier.
        item - new contents of the item.
        Returns:
        the updated item.
      • updateTrackedItem

        TrackedItem updateTrackedItem​(TrackedItem item)
        Updates a tracked item.
        Parameters:
        item - new contents of the item.
        Returns:
        the updated item.
      • deleteTrackedItem

        @DELETE
        @Path("/{itemId:.*TrackedItem[^/]*}")
        void deleteTrackedItem​(@PathParam("itemId")
                               java.lang.String itemId)
        Deletes a tracked item.
        Parameters:
        itemId - the full item identifier.
      • descopeTrackedItem

        @PUT
        @Path("/{itemId:.*TrackedItem[^/]*}/descope")
        void descopeTrackedItem​(@PathParam("itemId")
                                java.lang.String itemId)
        Descopes a tracked item.
        Parameters:
        itemId - the full item identifier.
      • rescopeTrackedItem

        @PUT
        @Path("/{itemId:.*TrackedItem[^/]*}/rescope")
        void rescopeTrackedItem​(@PathParam("itemId")
                                java.lang.String itemId)
        Rescopes a tracked item.
        Parameters:
        itemId - the full item identifier.
      • completeTrackedItem

        @PUT
        @Path("/{stageId:.*Stage[^/]*}/{itemId:.*TrackedItem[^/]*}/complete")
        void completeTrackedItem​(@PathParam("stageId")
                                 java.lang.String stageId,
                                 @PathParam("itemId")
                                 java.lang.String itemId)
        Completes a tracked item in stage.
        Parameters:
        stageId - the full stage identifier.
        itemId - the item identifier.
      • skipTrackedItem

        @PUT
        @Path("/{stageId:.*Stage[^/]*}/{itemId:.*TrackedItem[^/]*}/skip")
        void skipTrackedItem​(@PathParam("stageId")
                             java.lang.String stageId,
                             @PathParam("itemId")
                             java.lang.String itemId)
        Skips a tracked item in stage.
        Parameters:
        stageId - the full stage identifier.
        itemId - the item identifier.
      • resetTrackedItem

        @PUT
        @Path("/{stageId:.*Stage[^/]*}/{itemId:.*TrackedItem[^/]*}/reset")
        void resetTrackedItem​(@PathParam("stageId")
                              java.lang.String stageId,
                              @PathParam("itemId")
                              java.lang.String itemId)
      • registerTrackedItems

        void registerTrackedItems​(java.lang.String deliveryId,
                                  java.util.List<java.lang.String> itemIdOrTitles,
                                  java.lang.String fromReleaseId)
      • markTrackedItemsInStage

        java.util.List<TrackedItem> markTrackedItemsInStage​(java.lang.String deliveryId,
                                                            java.lang.String stageIdOrTitle,
                                                            java.util.List<java.lang.String> itemIdOrTitles,
                                                            TrackedItemStatus status,
                                                            boolean precedingStages,
                                                            java.lang.String releaseId)
      • getStages

        @GET
        @Path("/{deliveryId:.*Delivery[^/]*}/stages")
        java.util.List<Stage> getStages​(@PathParam("deliveryId")
                                        java.lang.String deliveryId)
        Returns the stages in a given delivery.
        Parameters:
        deliveryId - the delivery identifier.
        Returns:
        stages in the delivery.
      • completeStage

        @POST
        @Path("/{stageId:.*Stage[^/]*}/complete")
        void completeStage​(@PathParam("stageId")
                           java.lang.String stageId)
        Completes a stage in a delivery.
        Parameters:
        stageId - the full stage identifier.
      • reopenStage

        @POST
        @Path("/{stageId:.*Stage[^/]*}/reopen")
        void reopenStage​(@PathParam("stageId")
                         java.lang.String stageId)
        Reopens a closed stage in a delivery.
        Parameters:
        stageId - the full stage identifier.
      • updateStage

        Stage updateStage​(Stage stage)
        Updates a stage in a delivery.
        Parameters:
        stage - new contents of the stage.
        Returns:
        the updated stage.
      • updateStage

        @PUT
        @Path("/{stageId:.*Stage[^/]*}")
        Stage updateStage​(@PathParam("stageId")
                          java.lang.String stageId,
                          Stage stage)
        Updates a stage in a delivery.
        Parameters:
        stageId - the full stage identifier.
        stage - new contents of the stage.
        Returns:
        the updated stage.
      • updateTransition

        @PUT
        @Path("/{transitionId:.*Transition[^/]*}")
        Transition updateTransition​(@PathParam("transitionId")
                                    java.lang.String transitionId,
                                    Transition transition)
        Updates a transition on a delivery.
        Parameters:
        transitionId - the full transition identifier.
        transition - new contents of the transition.
        Returns:
        the updated transition
      • updateTransition

        Transition updateTransition​(Transition transition)
        Updates a transition on a delivery.
        Parameters:
        transition - new contents of the transition.
        Returns:
        the updated transition
      • completeTransition

        @POST
        @Path("/{transitionId:.*Transition[^/]*}/complete")
        void completeTransition​(@PathParam("transitionId")
                                java.lang.String transitionId,
                                CompleteTransition completeTransition)
        Executes a transition on a delivery manually.
        Parameters:
        transitionId - the full transition identifier.
        completeTransition - the transition completion parameters.