Interface GitHubClientProvider

  • All Known Implementing Classes:
    GitHubService

    public interface GitHubClientProvider
    A provider of GitHub clients for the GitHub app.

    Inject as a CDI bean.

    NOTE: You generally will not need this bean when processing events, as clients can be automatically injected into event listener methods, simply by adding a parameter of type GitHub or DynamicGraphQLClient to the listener method. This provider is mostly useful for non-event use cases (e.g. cron jobs).

    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      org.kohsuke.github.GitHub getApplicationClient()
      Gets the GitHub client for the application: it can be used without any installation, but has very little access rights (almost as little as an anonymous client).
      org.kohsuke.github.GitHub getInstallationClient​(long installationId)
      Gets the GitHub client for a given application installation.
      io.smallrye.graphql.client.dynamic.api.DynamicGraphQLClient getInstallationGraphQLClient​(long installationId)
      Gets the GraphQL GitHub client for a given application installation.
    • Method Detail

      • getApplicationClient

        org.kohsuke.github.GitHub getApplicationClient()
        Gets the GitHub client for the application: it can be used without any installation, but has very little access rights (almost as little as an anonymous client).

        The client will remain functional a few minutes at best, so you should discard it as soon as possible and retrieve another one when necessary.

        NOTE: You generally will not need this method when processing events, as the more powerful installation client gets automatically injected into event listeners. This method can still be useful for non-event use cases (e.g. cron jobs), to retrieve information about the application, in particular list application installations.

        Returns:
        The application client.
      • getInstallationClient

        org.kohsuke.github.GitHub getInstallationClient​(long installationId)
        Gets the GitHub client for a given application installation.

        The client will remain functional a few minutes at best, so you should discard it as soon as possible and retrieve another one when necessary.

        NOTE: You generally will not need this method when processing events, as this client can be automatically injected into event listener listener methods, simply by adding a parameter of type GitHub to the method. This method can still be useful for non-event use cases (e.g. cron jobs), to retrieve installation clients after having list application installations from the application client.

        Returns:
        The client for the given installation.
      • getInstallationGraphQLClient

        io.smallrye.graphql.client.dynamic.api.DynamicGraphQLClient getInstallationGraphQLClient​(long installationId)
        Gets the GraphQL GitHub client for a given application installation.

        The client will remain functional a few minutes at best, so you should discard it as soon as possible and retrieve another one when necessary.

        NOTE: You generally will not need this method when processing events, as this client can be automatically injected into event listener methods, simply by adding a parameter of type DynamicGraphQLClient to the listener method. This method can still be useful for non-event use cases (e.g. cron jobs), to retrieve installation clients after having list application installations from the application client.

        Returns:
        The client for the given installation.