Interface ExtendedAuthorManager

    • Method Detail

      • unlinkAllAuthors

        void unlinkAllAuthors()
        Remove all author links. Useful if you have changed user management systems
      • relinkUnlinkedAuthors

        void relinkUnlinkedAuthors()
        Attempt to link any authors that currently aren't linked with a user. Currently only checks for direct author/username matches
      • getExtendedAuthorByName

        ExtendedAuthor getExtendedAuthorByName​(String name)
        Get Author information by author name. Author names in DB are kept trimmed, make sure that name param is trimmed as well
        Parameters:
        name - trimmed author name
        Returns:
        ExtendedAuthor with given name (assuming unique)
      • saveAuthor

        void saveAuthor​(ExtendedAuthor author)
        Save the author
        Parameters:
        author -
      • findBuildResultsTriggeredByAuthor

        @NotNull
        @NotNull List<ResultsSummary> findBuildResultsTriggeredByAuthor​(ExtendedAuthor author,
                                                                        int maxResultCount)
        Parameters:
        author -
        maxResultCount - if <= 0 all the results are returned
        Returns:
        List of BuildResultsSummary triggered by author
      • findRecentResultsTriggeredByAuthors

        List<ResultsSummary> findRecentResultsTriggeredByAuthors​(List<ExtendedAuthor> author,
                                                                 int maxDays)
        Retrieve all build results triggered by the author in the last X days
        Parameters:
        author - the builds will be triggered by
        maxDays - number of days to look back in history
        Returns:
        all build results triggered by the author in the last X days
      • findBuildResultsFailedByAuthor

        @NotNull
        @NotNull List<ResultsSummary> findBuildResultsFailedByAuthor​(ExtendedAuthor author,
                                                                     int maxResultCount)
        Parameters:
        author -
        maxResultCount - if <= 0 all the results are returned
        Returns:
        List of BuildResultsSummary triggered by author and failed
      • findBuildResultsSuccessfulByAuthor

        @NotNull
        @NotNull List<ResultsSummary> findBuildResultsSuccessfulByAuthor​(ExtendedAuthor author,
                                                                         int maxResultCount)
        Parameters:
        author -
        maxResultCount - if <= 0 all the results are returned
        Returns:
        List of BuildResultsSummary triggered by author and successful
      • findBuildResultsBrokenByAuthor

        @NotNull
        @NotNull List<ResultsSummary> findBuildResultsBrokenByAuthor​(ExtendedAuthor author,
                                                                     int maxResultCount)
        Parameters:
        author -
        maxResultCount - if <= 0 all the results are returned
        Returns:
        List of BuildResultsSummary broken by author
      • findBuildResultsFixedByAuthor

        @NotNull
        @NotNull List<ResultsSummary> findBuildResultsFixedByAuthor​(ExtendedAuthor author,
                                                                    int maxResultCount)
        Parameters:
        author -
        maxResultCount - if <= 0 all the results are returned
        Returns:
        List of BuildResultsSummary fixed by author
      • findNumberOfBuildsTriggeredByAuthor

        int findNumberOfBuildsTriggeredByAuthor​(ExtendedAuthor author)
        Parameters:
        author -
        Returns:
        int
      • findNumberOfFailedBuildsByAuthor

        int findNumberOfFailedBuildsByAuthor​(ExtendedAuthor author)
        Parameters:
        author -
        Returns:
        int
      • findNumberOfSuccessfulBuildsByAuthor

        int findNumberOfSuccessfulBuildsByAuthor​(ExtendedAuthor author)
        Parameters:
        author -
        Returns:
        int
      • findNumberOfBuildFixedByAuthor

        int findNumberOfBuildFixedByAuthor​(ExtendedAuthor author)
        Parameters:
        author -
        Returns:
        int
      • findNumberOfBuildBrokenByAuthor

        int findNumberOfBuildBrokenByAuthor​(ExtendedAuthor author)
        Parameters:
        author -
        Returns:
        int
      • getAuthorById

        ExtendedAuthor getAuthorById​(long id)
        Parameters:
        id -
        Returns:
        Author given id
      • getLinkedAuthorForUser

        @NotNull
        @NotNull List<ExtendedAuthor> getLinkedAuthorForUser​(com.atlassian.user.User user)
        Parameters:
        user -
        Returns:
        List of ExtendedAuthor linked to the user.
      • getAvailableAuthors

        @NotNull
        @NotNull List<ExtendedAuthor> getAvailableAuthors​(@Nullable
                                                          @Nullable com.atlassian.user.User user)
        Get authors available for a user. That includes all authors user is linked to and all unlinked authors.
        Parameters:
        user - user
        Returns:
        List of ExtendedAuthor
      • removeAuthor

        void removeAuthor​(ExtendedAuthor extendedAuthor)
        removes an author
        Parameters:
        extendedAuthor -
      • createAndSaveAuthor

        void createAndSaveAuthor​(@NotNull
                                 @NotNull Author author)
        Creates and saves author given author, if bamboo user with the same username exists the new author will be linked to that user.
        Parameters:
        author -
      • findAuthorsByName

        @NotNull
        @NotNull List<Author> findAuthorsByName​(@NotNull
                                                @NotNull String authorSearchString)
        Performs a case insensitive search for authors by their author name. AuthorSearchString can appear anywhere in the authors name.
        Parameters:
        authorSearchString - string to search for
        Returns:
        any authors who's author name match the given string.
      • findAuthorsThatStartWith

        @NotNull
        @NotNull List<Author> findAuthorsThatStartWith​(@NotNull
                                                       @NotNull String authorSearchString,
                                                       boolean unlinkedOnly)
        Performs a case insensitive search for authors by their author name.
        Parameters:
        authorSearchString - string to search for
        unlinkedOnly - if true will only return users which have not been linked with an user already
        Returns:
        any authors who's author name match the given string.
      • findAuthorsByUser

        @NotNull
        @NotNull List<Author> findAuthorsByUser​(@NotNull
                                                @NotNull String userSearchString)
        Performs a case insensitive search for authors by their linkedUserName. userSearchString can appear anywhere in the linked user name.
        Parameters:
        userSearchString - string to search for
        Returns:
        any authors who's linkedusername match the given string.
      • getAuthorsByResultSummary

        @NotNull
        @NotNull Set<Author> getAuthorsByResultSummary​(@NotNull
                                                       @NotNull ResultsSummary resultsSummary)
        Retrieve unique set of authors that contributed to commits related to a given ResultsSummary
        Parameters:
        resultsSummary - ResultsSummary
        Returns:
        list of authors