Interface PullRequestMergeConfig


public interface PullRequestMergeConfig
Describes the configuration for how pull requests will be merged in a given repository. For cross-repository pull requests, the target repository's configuration controls merge behavior.

The SCM backing each repository may expose one or more strategies that are available when merging pull requests. For SCMs which support multiple strategies, administrators can configure which strategy (or strategies) should be available. Any enabled strategy may be selected when merging a pull request. If an explicit strategy is not requested, the default will be used.

The strategies to use may be configured for a specific repository, all repositories in a given project which share the same SCM, or for all repositories of a specific SCM in all projects. If configuration has not been applied at any of those levels, defaults provided by the SCM are used. The type can be used to determine what level configuration was applied at.

Since:
4.9
  • Field Details

    • DEFAULT_COMMIT_SUMMARIES

      static final int DEFAULT_COMMIT_SUMMARIES
      The default number of commit summaries to append to the user-provided (or system-generated) message when merging a pull request.

      20 was the hard-coded number of summaries to append prior to the number being made configurable in 6.7, so 20 summaries are appended by default to ensure consistent behavior.

      Since:
      6.7
      See Also:
  • Method Details

    • getCommitMessageTemplate

      @Nonnull Optional<PullRequestCommitMessageTemplate> getCommitMessageTemplate()
      Retrieves the commit message template if it exists. Variable substitution has not been performed on the returned template.
      Returns:
      The commit message template if it exists, Optional.empty() otherwise.
      Since:
      8.12
    • getCommitSummaries

      int getCommitSummaries()
      Returns:
      the number of commit summaries to append to the user-provided (or system-generated) message when merging a pull request, which may be 0 to omit summaries
      Since:
      6.7
    • getDefaultStrategy

      @Nonnull PullRequestMergeStrategy getDefaultStrategy()
      Retrieves the default strategy, which will be used automatically when merging pull requests if an explicit strategy is not requested. The default strategy is always enabled.
      Returns:
      the default merge strategy
    • getStrategies

      @Nonnull Set<PullRequestMergeStrategy> getStrategies()
      Retrieves the complete set of merge strategies supported by the SCM, including the default strategy. Some of the returned strategies may not be enabled. Only enabled strategies may be requested when merging pull requests, so callers should check before using a strategy from the returned set.
      Returns:
      the complete set of supported strategies for the backing SCM, including the default, each of which may or may not be enabled
    • getType

      @Nonnull PullRequestMergeConfigType getType()
      Retrieves the configuration type, identifying the level the configuration was applied at. Since configuration is inherited, the type may be less specific than what was requested.
      Returns:
      the configuration type, used to determine what level configuration was applied at