taolib.github_app.config#

GitHub App 运行时配置。

本模块提供从环境变量加载配置的一站式入口,是 CLI、客户端与令牌管理器 共享的唯一事实来源。调用方应优先使用 GitHubAppSettings.from_env() 构造实例,避免手工拼装造成不一致。

Classes#

GitHubAppSettings

GitHub App 的全局配置聚合。

Module Contents#

class taolib.github_app.config.GitHubAppSettings#

GitHub App 的全局配置聚合。

本类是 GitHub App 子模块各组件(客户端、令牌管理器、CLI) 读取运行时参数的唯一源头,推荐通过 from_env() 加载。

classmethod from_env() GitHubAppSettings#

从操作系统环境变量读取配置并构造实例。

支持的环境变量:

  • GITHUB_APP_ID 必填,App ID。

  • GITHUB_APP_INSTALLATION_ID 必填,安装实例 ID。

  • GITHUB_APP_PRIVATE_KEYGITHUB_APP_PRIVATE_KEY_FILE 二选一,分别是私钥内容或私钥文件路径。

  • GITHUB_API_URL API 基地址,默认 https://api.github.com

  • GITHUB_APP_TOKEN_STRATEGY 默认策略, 取值 auto / enabled / disabled,默认 auto

  • GITHUB_APP_TOKEN_EAGER_REFRESH_SECONDS 提前刷新秒数,默认 90

  • GITHUB_APP_ALLOW_HEADER_FALLBACK 是否允许环境不支持覆盖头时降级,默认 true

返回:

根据环境变量构造的 GitHubAppSettings 实例。

抛出:

GitHubAppConfigurationError -- 私钥既未通过环境变量传入,也未通过 GITHUB_APP_PRIVATE_KEY_FILE 指向可读取的文件路径。

allow_header_fallback: bool#

是否允许在环境不支持覆盖头时降级使用默认行为。

api_url: str#

GitHub API 基地址(未去除尾部斜杠,严格以环境变量输入为准)。

app_id: str#

GitHub App 的 App ID。

default_strategy: taolib.github_app.models.RequestedTokenStrategy#

默认的 Token 策略。

eager_refresh_seconds: int#

令牌过期前提前刷新的秒数。

installation_id: str#

默认的安装实例 ID。

private_key: str#

PEM 格式的 RSA 私钥内容。

runtime_profile: taolib.github_app.models.GitHubRuntimeProfile#

运行时环境画像。