GitHubAppBuildScopedToken

Build feature that issues a new GitHub App installation token for every build and revokes it after the build is finished.

Example. Configures a build-scoped token feature that issues a new GitHub App installation token for each build using a specified connection. The token will be stored in the specified parameter. It will give access only to the selected repositories with permissions granted to the GitHub App installation from the selected connection. It will be automatically revoked after the build's completion.

gitHubAppBuildScopedTokens {
parameterName = "<MY_PARAMETER_NAME>" // add "env." prefix to make it environmental variable
connectionId = "<connection ID>" // The connection should have the "allowBuildScopedTokens" parameter set to "true"

// The repository name format is "myRepo1" for "https://github.com/myUser/myRepo1"
targetRepositories = """
myRepo1
myRepo2
""".trimIndent()
}

See also

Constructors

Link copied to clipboard
constructor(init: GitHubAppBuildScopedToken.() -> Unit)
constructor()

Properties

Link copied to clipboard

ID of the GitHub App connection which will be used to issue tokens. The connection should have the allowBuildScopedTokens parameter set to true.

Link copied to clipboard

Specifies whether the feature is enabled, true by default

Link copied to clipboard
var id: String?

Build feature id, if not specified will be generated

Link copied to clipboard

Name of the parameter to which the issued token will be stored. You can prefix the parameter name with env. to make it an environmental variable.

Link copied to clipboard
Link copied to clipboard

List of repositories to which issued token will have access, can't be empty. The list should contain only repositoriy names (e.g. "repo" for https://github.com/owner/repo).

Link copied to clipboard

Build feature type

Link copied to clipboard

Functions

Link copied to clipboard
fun booleanParameter(customName: String? = null, trueValue: String? = "true", falseValue: String? = "false"): DelegateProvider<Boolean>
fun booleanParameter(customName: String? = null, trueValue: String? = "true", falseValue: String? = "false", yamlName: String? = null): DelegateProvider<Boolean?>
Link copied to clipboard
fun clear()
Link copied to clipboard
fun <T : CompoundParam<T>> compoundParameter(customName: String? = null): DelegateProvider<T>
fun <T : CompoundParam<T>> compoundParameter(customName: String? = null, yamlName: String? = null): DelegateProvider<T>
Link copied to clipboard
fun <T : Parametrized> copyParamsTo(target: T): T

Copies parameters of this object to the specified target

Link copied to clipboard
open fun create(): BuildFeature

Creates an instance of this build feature via reflection using a no argument constructor, used during copying. Throws an error if this class doesn't have a default constructor. Subclasses can override it to create an instance without using a default constructor.

Link copied to clipboard
fun doubleParameter(customName: String? = null): DelegateProvider<Double>
fun doubleParameter(customName: String? = null, yamlName: String? = null): DelegateProvider<Double>
Link copied to clipboard
fun <E : Enum<E>> enumParameter(customName: String? = null, mapping: Map<E, String?>? = null): DelegateProvider<E>
fun <E : Enum<E>> enumParameter(customName: String? = null, mapping: Map<E, String?>? = null, yamlName: String? = null): DelegateProvider<E>
Link copied to clipboard
fun findRawParam(paramName: String): Parameter?
Link copied to clipboard
fun hasParam(paramName: String): Boolean
Link copied to clipboard
fun intParameter(customName: String? = null): DelegateProvider<Int>
fun intParameter(customName: String? = null, yamlName: String? = null): DelegateProvider<Int>
Link copied to clipboard
fun param(name: String, value: String)

Adds parameter with specified name and value

Link copied to clipboard
fun removeRawParam(paramName: String)
Link copied to clipboard
open fun stringParameter(customName: String? = null): DelegateProvider<String>
open fun stringParameter(customName: String? = null, yamlName: String? = null): DelegateProvider<String>
Link copied to clipboard
open override fun toString(): String
Link copied to clipboard
open override fun validate(consumer: ErrorConsumer)

Validates this object and reports found errors to the provided consumer