pub struct GitHubManifest {
pub name: String,
pub url: String,
pub description: Option<String>,
pub public: bool,
pub hook_attributes: HookAttributes,
pub default_permissions: BTreeMap<String, Permission>,
pub default_events: Vec<String>,
pub callback_urls: Vec<String>,
pub setup_url: Option<String>,
pub setup_on_update: bool,
}Expand description
The GitHub manifest body. Field names match GitHub’s expected JSON keys exactly (renamed via serde where Rust naming differs).
Optional fields use skip_serializing_if = "Option::is_none" — GitHub’s
manifest validator rejects null where it expects “string-or-omitted”.
Empty values must be omitted from the JSON, not serialized as null.
Fields§
§name: StringDisplay name of the app (visible in GitHub UI).
url: StringHomepage URL.
description: Option<String>One-paragraph description shown to repo admins during install.
public: boolfalse (default) = single-account app; true = installable by anyone.
hook_attributes: HookAttributesWebhook config. ARC apps don’t use webhooks (long-poll instead) — leave
the default with active: false to disable.
default_permissions: BTreeMap<String, Permission>Permissions GitHub will grant to installations.
Map of permission key → access level (read | write | admin).
default_events: Vec<String>Webhook events the app subscribes to. Empty for ARC.
callback_urls: Vec<String>OAuth callback URLs. Not used by ARC apps.
setup_url: Option<String>Setup URL shown after install. Optional.
setup_on_update: boolIf true, app gets re-redirected through setup_url on every update.
Trait Implementations§
Source§impl Clone for GitHubManifest
impl Clone for GitHubManifest
Source§fn clone(&self) -> GitHubManifest
fn clone(&self) -> GitHubManifest
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more