override fun getParametersAvailableOnAgent()

in server/src/main/kotlin/org/jetbrains/teamcity/vault/server/VaultParametersProvider.kt [27:52]


    override fun getParametersAvailableOnAgent(build: SBuild): Collection<String> {
        val buildType = build.buildType ?: return emptyList()
        if (build.isFinished) return emptyList()

        if (!isFeatureEnabled(build)) return emptyList()

        val exposed = HashSet<String>()
        val connectionFeatures = buildType.project.getAvailableFeaturesOfType(OAuthConstants.FEATURE_TYPE).filter {
            FeatureSettings.FEATURE_TYPE == it.parameters[OAuthConstants.OAUTH_TYPE_PARAM]
        }
        val vaultFeatures = connectionFeatures.map {
            VaultFeatureSettings(it)
        }
        val parameters = build.buildOwnParameters
        vaultFeatures.forEach { feature: VaultFeatureSettings ->

            if (isShouldSetEnvParameters(parameters, feature.id)) {
                val envPrefix = getEnvPrefix(feature.id)

                exposed += Constants.ENV_PREFIX + envPrefix + VaultConstants.AgentEnvironment.VAULT_TOKEN
                exposed += Constants.ENV_PREFIX + envPrefix + VaultConstants.AgentEnvironment.VAULT_ADDR
            }
        }
        VaultReferencesUtil.collect(parameters, exposed, vaultFeatures.map { feature -> feature.id })
        return exposed
    }