Interface GitHubAppRuntimeConfig
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic interfacestatic interface -
Method Summary
Modifier and TypeMethodDescriptionappId()The numeric application id provided by GitHub.appName()The GitHub name of the application.booleanCheck the validity of the candidate installation token before returning the client for use.The credentials provider name.The credentials provider bean name.debug()Debug configuration.@WithConverter(io.quarkus.runtime.configuration.TrimmedStringConverter.class) StringThe GraphQL API endpoint.@WithConverter(io.quarkus.runtime.configuration.TrimmedStringConverter.class) StringThe GitHub instance endpoint.A personal access token for use withTokenGitHubClientsor when no installation id is provided in the payload.The RSA private key.booleanRead the configuration files from the source repository in case of a fork.@WithConverter(io.quarkus.runtime.configuration.TrimmedStringConverter.class) StringThe REST API endpoint.Telemetry configuration.The Smee.io proxy URL used when testing locally.The webhook secret if defined in the GitHub UI.@WithConverter(io.quarkus.runtime.configuration.TrimmedStringConverter.class) StringThe webhook URL path on which the GitHub App route is mounted.
-
Method Details
-
appId
@WithConverter(io.quarkus.runtime.configuration.TrimmedStringConverter.class) @WithConverter(io.quarkus.runtime.configuration.TrimmedStringConverter.class) Optional<String> appId()The numeric application id provided by GitHub.Optional for tests, but mandatory in production and dev mode.
-
appName
@WithConverter(io.quarkus.runtime.configuration.TrimmedStringConverter.class) @WithConverter(io.quarkus.runtime.configuration.TrimmedStringConverter.class) Optional<String> appName()The GitHub name of the application.Optional, only used for improving the user experience.
-
readConfigFilesFromSourceRepository
@WithDefault("false") boolean readConfigFilesFromSourceRepository()Read the configuration files from the source repository in case of a fork. -
privateKey
The RSA private key.Optional for tests, but mandatory in production and dev mode.
-
webhookUrlPath
@WithDefault("/") @WithConverter(io.quarkus.runtime.configuration.TrimmedStringConverter.class) @WithConverter(io.quarkus.runtime.configuration.TrimmedStringConverter.class) String webhookUrlPath()The webhook URL path on which the GitHub App route is mounted.It defaults to the root
/but it can be configured to another path such as/github-eventsto enable deployment alongside other HTTP routes. -
webhookSecret
The webhook secret if defined in the GitHub UI. -
credentialsProvider
@WithConverter(io.quarkus.runtime.configuration.TrimmedStringConverter.class) @WithConverter(io.quarkus.runtime.configuration.TrimmedStringConverter.class) Optional<String> credentialsProvider()The credentials provider name.This is the name of the "keyring" containing the GitHub App secrets.
Key names are defined in
Credentials. -
credentialsProviderName
@WithConverter(io.quarkus.runtime.configuration.TrimmedStringConverter.class) @WithConverter(io.quarkus.runtime.configuration.TrimmedStringConverter.class) Optional<String> credentialsProviderName()The credentials provider bean name.This is a bean name (as in
@Named) of a bean that implementsCredentialsProvider. It is used to select the credentials provider bean when multiple exist. This is unnecessary when there is only one credentials provider available.For Vault, the credentials provider bean name is
vault-credentials-provider. -
webhookProxyUrl
@WithConverter(io.quarkus.runtime.configuration.TrimmedStringConverter.class) @WithConverter(io.quarkus.runtime.configuration.TrimmedStringConverter.class) Optional<String> webhookProxyUrl()The Smee.io proxy URL used when testing locally. -
instanceEndpoint
@WithDefault("https://api.github.com") @WithConverter(io.quarkus.runtime.configuration.TrimmedStringConverter.class) @WithConverter(io.quarkus.runtime.configuration.TrimmedStringConverter.class) String instanceEndpoint()The GitHub instance endpoint.Defaults to the public github.com instance.
-
restApiEndpoint
@WithDefault("${quarkus.github-app.instance-endpoint}") @WithConverter(io.quarkus.runtime.configuration.TrimmedStringConverter.class) @WithConverter(io.quarkus.runtime.configuration.TrimmedStringConverter.class) String restApiEndpoint()The REST API endpoint.Defaults to the public github.com instance REST API endpoint.
-
graphqlApiEndpoint
@WithDefault("${quarkus.github-app.instance-endpoint}/graphql") @WithConverter(io.quarkus.runtime.configuration.TrimmedStringConverter.class) @WithConverter(io.quarkus.runtime.configuration.TrimmedStringConverter.class) String graphqlApiEndpoint()The GraphQL API endpoint.Defaults to the public github.com instance GraphQL endpoint.
-
personalAccessToken
A personal access token for use withTokenGitHubClientsor when no installation id is provided in the payload.For standard use cases, you will use the installation client which comes with the installation permissions. It can be injected directly in your method.
However, if your payload comes from a webhook and doesn't have an installation id, it's handy to be able to use a client authenticated with a personal access token as the application client permissions are very limited.
This token will be used to authenticate the clients provided by
TokenGitHubClientsand clients authenticated with this personal access token will be automatically provided when injectingGitHuborDynamicGraphQLClientin your method, when the payload doesn't provide an installation id. -
checkInstallationTokenValidity
@WithDefault("true") boolean checkInstallationTokenValidity()Check the validity of the candidate installation token before returning the client for use.By default, we are extra cautious, but we usually cache the token for 50 minutes (they are valid one hour), so it should be safe to disable this check, not accounting for potential GitHub infra issues, where token could be lost/invalidated by mistake on the GitHub side.
This saves one API roundtrip when getting the GitHub client, which might help with performances.
-
telemetry
Telemetry configuration. -
debug
GitHubAppRuntimeConfig.Debug debug()Debug configuration.
-