override fun get()

in src/main/kotlin/jetbrains/buildServer/notification/slackNotifier/notification/VerboseMessageBuilderFactory.kt [29:78]


    override fun get(user: SUser, project: SProject): MessageBuilder {
        val addBuildStatus = user.getBooleanProperty(SlackProperties.addBuildStatusProperty)
        val addBranch = user.getBooleanProperty(SlackProperties.addBranchProperty)
        val addChanges = user.getBooleanProperty(SlackProperties.addChangesProperty)
        val maximumNumberOfChanges = user.getPropertyValue(SlackProperties.maximumNumberOfChangesProperty)?.toIntOrNull()
                ?: defaultMaximumNumberOfChanges

        val newFormatEnabled = (project as ProjectEx).getBooleanInternalParameterOrTrue("teamcity.internal.notification.jbSlackNotifier.verboseMessages.newFormatEnabled")

        if (newFormatEnabled) {
            return NewVerboseMessageBuilder(
                EmojiMessageBuilder(
                    PlainMessageBuilder(
                        format = format,
                        links = links,
                        detailsFormatter = detailsFormatter
                    )
                ),
                VerboseMessagesOptions(
                    addBuildStatus = addBuildStatus,
                    addBranch = addBranch,
                    addChanges = addChanges,
                    maximumNumberOfChanges = maximumNumberOfChanges
                ),
                format,
                links,
                notificationBuildStatusProvider,
                server,
                changesCalculationOptionsFactory
            )
        }

        return VerboseMessageBuilder(
            PlainMessageBuilder(
                format = format,
                links = links,
                detailsFormatter = detailsFormatter
            ),
            VerboseMessagesOptions(
                addBuildStatus = addBuildStatus,
                addBranch = addBranch,
                addChanges = addChanges,
                maximumNumberOfChanges = maximumNumberOfChanges
            ),
            format,
            links,
            notificationBuildStatusProvider,
            server
        )
    }