Interface RepositoryDefinitionManager

    • Method Detail

      • getPlanRepositoryLink

        @Nullable
        @Nullable PlanRepositoryLink getPlanRepositoryLink​(@NotNull
                                                           @NotNull ImmutablePlan plan,
                                                           long repositoryId)
        Get persistent representation of a relation between Plan and repository
      • getPlanRepositoryLinkByName

        @Nullable
        @Nullable PlanRepositoryLink getPlanRepositoryLinkByName​(@NotNull
                                                                 @NotNull ImmutablePlan plan,
                                                                 @NotNull
                                                                 @NotNull String repositoryName)
        Get persistent representation of a relation between Plan and repository
      • getPlanRepositoryLinks

        @NotNull
        @NotNull List<PlanRepositoryLink> getPlanRepositoryLinks​(@NotNull
                                                                 @NotNull ImmutablePlan plan)
        Get persistent representation of relation between Plan and repositories
      • getRepositoryDataEntity

        @Nullable
        @Nullable RepositoryDataEntity getRepositoryDataEntity​(long id)
        Get persistent representation of a repository
      • getRepositoryDefinitionsForPlan

        @NotNull
        @Deprecated
        @NotNull List<RepositoryDefinition> getRepositoryDefinitionsForPlan​(@NotNull
                                                                            @NotNull ImmutablePlan plan)
        Deprecated.
        since 5.14
        Get all repositories attached to a plan ordered by position.
      • getPlanRepositoryDefinitions

        @NotNull
        @NotNull List<PlanRepositoryDefinition> getPlanRepositoryDefinitions​(@NotNull
                                                                             @NotNull PlanIdentifier plan)
        Get all repositories attached to a plan ordered by position.
        Since:
        5.14
      • getPlanRepositoriesForExport

        @NotNull
        @NotNull List<PartialVcsRepositoryData> getPlanRepositoriesForExport​(@NotNull
                                                                             @NotNull PlanIdentifier plan)
        Get all repositories attached to a plan in form suitable for export.
        Since:
        5.14
      • removeRepositoriesForPlan

        void removeRepositoriesForPlan​(Plan plan)
        Remove all repositories from Plan that are not global repositories.
      • saveRepositoryDefinition

        long saveRepositoryDefinition​(RepositoryDataEntity repositoryData)
        Save repository definition.
        Returns:
        id of saved definition
      • saveRepositoryDefinitions

        void saveRepositoryDefinitions​(@NotNull
                                       @NotNull Collection<RepositoryDataEntity> repositoriesBeingCreated)
        Saves all repository definitions in the collection.
      • savePlanRepositoryWithDefinition

        long savePlanRepositoryWithDefinition​(@NotNull
                                              @NotNull PlanRepositoryLink planRepository)
        Saves plan to repository relation definition with cascade to RepositoryDataEntity
        Returns:
        new repository entity id
      • savePlanRepositoryLink

        void savePlanRepositoryLink​(@NotNull
                                    @NotNull PlanRepositoryLink planRepository)
      • savePlanRepositoryLinks

        void savePlanRepositoryLinks​(@NotNull
                                     @NotNull List<PlanRepositoryLink> planRepositories)
        Saves the collection of plan to repository relations.
      • removeRepositoryIfUnused

        void removeRepositoryIfUnused​(RepositoryDataEntity repositoryDataEntity)
        Marks repository for deletion if it is referenced by a RepositoryChangeset, removes it otherwise.
      • removeUnusedRepositories

        void removeUnusedRepositories()
        Removes all repositories that has been previously markedForDeletion and are no longer referenced by any RepositoryChangeset
      • getLinkedRepositoriesForAdministration

        List<VcsRepositoryData> getLinkedRepositoriesForAdministration()
        Get all Shared repositories current user has permission to administrate.
      • getGlobalRepositoryDefinitionsUnrestricted

        @Deprecated
        List<RepositoryData> getGlobalRepositoryDefinitionsUnrestricted()
        Deprecated.
        since 5.14
        Get all Shared Repositories without permission checking.
      • getLinkedRepositoriesForExport

        @NotNull
        @NotNull List<VcsRepositoryData> getLinkedRepositoriesForExport()
        Get all linked repositories in a form suitable for export.
        Since:
        9.5
      • getVcsRepositoryData

        @Nullable
        @Nullable VcsRepositoryData getVcsRepositoryData​(long repositoryId)
        Get plugin-agnostic representation of a repository configuration.
      • getVcsRepositoryDataForEditing

        @Nullable
        @Nullable PartialVcsRepositoryData getVcsRepositoryDataForEditing​(long repositoryId)
      • getLinkedRepositoriesUnrestricted

        List<VcsRepositoryData> getLinkedRepositoriesUnrestricted()
        Get all linked repositories without permission checking.
      • getIdentifiersOfPlansUsingRepository

        List<PlanIdentifier> getIdentifiersOfPlansUsingRepository​(long repositoryId)
        Get identifiers of Plans referencing a repository. This is faster than getPlansUsingRepository() and should be preferred for 'view' actions. This method only returns plans that are directly linked to the repository. This means, that since Bamboo 5.14, it will return no results for linked repository. See also getIdentifiersOfPlansUsingRepositoryOrItsDirectChildren(long)
        Since:
        4.2
      • findRepositoriesByPluginKey

        @NotNull
        @NotNull List<RepositoryDataEntity> findRepositoriesByPluginKey​(@NotNull
                                                                        @NotNull String pluginKey)
        Given a pluginKey this will get you all the repositories in Bamboo that were created for that key. Irrespective of whether:
        • The plugin module with that plugin key is currently disabled.
        • The repository is marked for deletion.
        • The repository is marked as global or not.
        In short, it will get you every single repository that matches the provided plugin key.
        Parameters:
        pluginKey - The plugin key to search for.
        Returns:
        All the repositories that match that plugin key.
      • getIdentifiersOfPlansUsingRepositoryOrItsDirectChildren

        @NotNull
        @NotNull List<PlanIdentifier> getIdentifiersOfPlansUsingRepositoryOrItsDirectChildren​(long repositoryId)
        Get identifiers of Chains referencing a repository, either directly or through inheritance (only direct parent-child relationship is checked) If the parameter refers to a linked repository, only TopLevelPlans are returned. If the parameter refers to a plan local repository, it will return the plan the repository is linked to and all its ChainBranches
        Since:
        5.14
      • isRepositoryOrItsDirectChildrenUsedInPlans

        boolean isRepositoryOrItsDirectChildrenUsedInPlans​(long repositoryId)
        Checks if repository is used in plans
        Since:
        8.2
      • getLinkedRepositoryByName

        @Nullable
        @Nullable VcsRepositoryData getLinkedRepositoryByName​(String name)
        Find a linked repository by name.
        Parameters:
        name - of linked repository
        Returns:
        linked repository
        Since:
        5.15
      • findAllTopLevelRepositoriesIds

        @NotNull
        @NotNull Set<Long> findAllTopLevelRepositoriesIds()
        Get ids of all repositories that doesn't have parent repository (are either linked or are created on plan level)
        Since:
        7.0
      • getProjectRepositoryByName

        @Nullable
        @Nullable VcsRepositoryData getProjectRepositoryByName​(String name,
                                                               Long projectId)
        Find a project repository by name in project associated with given projectId.
        Parameters:
        name -
        projectId -
        Returns:
        RepositoryDataEntity if repository exists otherwise null.
      • countAllProjectsRepositories

        @NotNull
        @NotNull Long countAllProjectsRepositories()
        Count all project repositories.
        Returns:
        a Long count of all project repositories
      • findAllProjectsIdsUsingProjectRepositories

        @NotNull
        @NotNull List<Long> findAllProjectsIdsUsingProjectRepositories()
        Find all project which are using project repositories.
        Returns:
        a list of all projects IDs which are using project repositories
      • getProjectRepositories

        @NotNull
        @NotNull List<VcsRepositoryData> getProjectRepositories​(long projectId)
        Find all repositories in a project with given id.
        Returns:
        a list of all project repositories
      • getProjectRepositoriesRestricted

        List<VcsRepositoryData> getProjectRepositoriesRestricted​(long projectId)
        Get all project repositories current user has permission to use in his plans connected with requested project ID.
        Parameters:
        projectId -
        Returns:
        a list of all project repositories
        Since:
        9.1