/// <summary>
 /// Construct a <see cref="PayloadsController"/>
 /// </summary>
 /// <param name="gitHubConfigurationOptions">The <see cref="IOptions{TOptions}"/> containing value of <see cref="gitHubConfiguration"/></param>
 /// <param name="logger">The value of <see cref="logger"/></param>
 /// <param name="componentProvider">The value of <see cref="componentProvider"/></param>
 /// <param name="autoMergeHandler">The value of <see cref="autoMergeHandler"/></param>
 /// <param name="backgroundJobClient">The value of <see cref="backgroundJobClient"/></param>
 public PayloadsController(IOptions <GitHubConfiguration> gitHubConfigurationOptions, ILogger <PayloadsController> logger, IComponentProvider componentProvider, IAutoMergeHandler autoMergeHandler, IBackgroundJobClient backgroundJobClient)
 {
     gitHubConfiguration      = gitHubConfigurationOptions?.Value ?? throw new ArgumentNullException(nameof(gitHubConfigurationOptions));
     this.logger              = logger ?? throw new ArgumentNullException(nameof(logger));
     this.componentProvider   = componentProvider ?? throw new ArgumentNullException(nameof(componentProvider));
     this.autoMergeHandler    = autoMergeHandler ?? throw new ArgumentNullException(nameof(autoMergeHandler));
     this.backgroundJobClient = backgroundJobClient ?? throw new ArgumentNullException(nameof(backgroundJobClient));
 }
 /// <summary>
 /// Construct a <see cref="SignOffController"/>
 /// </summary>
 /// <param name="signOffModule">The value of <see cref="signOffModule"/></param>
 /// <param name="gitHubManager">The value of <see cref="gitHubManager"/></param>
 /// <param name="autoMergeHandler">The value of <see cref="autoMergeHandler"/></param>
 public SignOffController(SignOffModule signOffModule, IGitHubManager gitHubManager, IAutoMergeHandler autoMergeHandler)
 {
     this.signOffModule    = signOffModule ?? throw new ArgumentNullException(nameof(signOffModule));
     this.gitHubManager    = gitHubManager ?? throw new ArgumentNullException(nameof(gitHubManager));
     this.autoMergeHandler = autoMergeHandler ?? throw new ArgumentNullException(nameof(autoMergeHandler));
 }
 /// <summary>
 /// Construct a <see cref="ChangelogController"/>
 /// </summary>
 /// <param name="changelogModule">The value of <see cref="changelogModule"/></param>
 /// <param name="gitHubManager">The value of <see cref="gitHubManager"/></param>
 /// <param name="autoMergeHandler">The value of <see cref="autoMergeHandler"/></param>
 public ChangelogController(ChangelogModule changelogModule, IGitHubManager gitHubManager, IAutoMergeHandler autoMergeHandler)
 {
     this.changelogModule  = changelogModule ?? throw new ArgumentNullException(nameof(changelogModule));
     this.gitHubManager    = gitHubManager ?? throw new ArgumentNullException(nameof(gitHubManager));
     this.autoMergeHandler = autoMergeHandler ?? throw new ArgumentNullException(nameof(autoMergeHandler));
 }