pub struct PluginManifest {Show 13 fields
pub name: String,
pub version: String,
pub command: Option<String>,
pub args: Vec<String>,
pub protocol: PluginProtocol,
pub deliver_url: Option<String>,
pub auth_token_env: Option<String>,
pub capabilities: Vec<String>,
pub description: Option<String>,
pub timeout_secs: u64,
pub build_command: Option<String>,
pub min_daemon_version: Option<String>,
pub source_url: Option<String>,
}Expand description
Parsed channel.toml plugin manifest.
Fields§
§name: StringPlugin name (e.g., “teams”, “pagerduty”, “custom-webhook”).
version: StringPlugin version (semver).
command: Option<String>Command to spawn for json-stdio plugins. Can be a bare executable name (resolved via PATH) or a full path. Ignored for http protocol.
args: Vec<String>Additional arguments to pass to the command.
protocol: PluginProtocolCommunication protocol.
deliver_url: Option<String>URL to POST questions to (only for http protocol).
auth_token_env: Option<String>Environment variable name holding an auth token (http protocol).
capabilities: Vec<String>Capabilities this plugin supports.
description: Option<String>Human-readable description.
timeout_secs: u64Timeout in seconds for a single delivery attempt.
build_command: Option<String>Custom build command for non-Rust plugins.
Rust plugins default to cargo build --release when this is absent.
Non-Rust plugins specify their own build step:
- Go:
"go build -o ta-channel-teams ." - Python:
"pip install -e ." - Node:
"npm run build"
min_daemon_version: Option<String>Minimum daemon version required by this plugin (v0.10.16). Semver string (e.g., “0.10.0-alpha”). If set and the daemon version is lower, plugin validation warns about incompatibility.
source_url: Option<String>Source URL for remote install / upgrade (v0.10.16).
Used by ta plugin upgrade to fetch the latest version.
Implementations§
Source§impl PluginManifest
impl PluginManifest
Sourcepub fn load(path: &Path) -> Result<Self, PluginError>
pub fn load(path: &Path) -> Result<Self, PluginError>
Load a plugin manifest from a channel.toml file.
Sourcepub fn validate(&self) -> Result<(), PluginError>
pub fn validate(&self) -> Result<(), PluginError>
Validate internal consistency of the manifest.
Trait Implementations§
Source§impl Clone for PluginManifest
impl Clone for PluginManifest
Source§fn clone(&self) -> PluginManifest
fn clone(&self) -> PluginManifest
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more