taolib.github_app.pygithub_adapter#

PyGithub 客户端适配器。

本模块将安装令牌管理器产出的令牌注入到 PyGithubGithub 客户端,使调用方能用成熟的 SDK 访问 GitHub REST API。

Classes#

PyGithubInstallationClientFactory

以安装令牌为身份创建 PyGithub 客户端的工厂。

Functions#

build_pygithub_client(→ github.Github)

一口调用创建 PyGithub 客户端的便捷函数。

Module Contents#

class taolib.github_app.pygithub_adapter.PyGithubInstallationClientFactory(settings: taolib.github_app.config.GitHubAppSettings, manager: taolib.github_app.token_manager.GitHubInstallationTokenManager)#

以安装令牌为身份创建 PyGithub 客户端的工厂。

依赖 GitHubInstallationTokenManager 获取令牌,并以 GitHubAppSettings.api_url 作为 PyGithub 的 base_url

初始化工厂。

参数:
  • settings -- GitHub App 运行时配置。

  • manager -- 安装令牌管理器。

async create(request: taolib.github_app.models.InstallationTokenRequest) github.Github#

为一次令牌请求创建 PyGithub 客户端。

参数:

request -- 安装令牌请求。

返回:

以令牌身份贴近调用的 Github 客户端。

抛出:

GitHubAppClientError -- 令牌获取失败。

manager#
settings#
async taolib.github_app.pygithub_adapter.build_pygithub_client(settings: taolib.github_app.config.GitHubAppSettings, manager: taolib.github_app.token_manager.GitHubInstallationTokenManager, request: taolib.github_app.models.InstallationTokenRequest) github.Github#

一口调用创建 PyGithub 客户端的便捷函数。

适用于不需要复用工厂对象的一次性场景。

参数:
  • settings -- GitHub App 运行时配置。

  • manager -- 安装令牌管理器。

  • request -- 安装令牌请求。

返回:

以令牌身份贴近调用的 Github 客户端。