pipedash_plugin_api/
lib.rs1pub mod defaults;
2pub mod error;
3pub mod health;
4pub mod http;
5pub mod plugin;
6pub mod registry;
7pub mod schema;
8pub mod types;
9pub mod utils;
10
11pub use error::{
12 PluginError,
13 PluginResult,
14};
15pub use health::{
16 collect_controller_health,
17 custom_status_source,
18 status_page_field,
19 ClientOptions,
20 ComponentFilter,
21 ComponentHealth,
22 FeedFormat,
23 HealthLevel,
24 StatusSource,
25 CONTROLLER_HEALTH_FEATURE,
26 STATUS_PAGE_URL_KEY,
27};
28pub use http::{
29 check_response,
30 from_status,
31 map_send_error,
32 redact_url,
33 retry_after,
34 truncate_chars,
35};
36pub use plugin::{
37 Plugin,
38 PluginCapabilities,
39 PluginMetadata,
40};
41pub use registry::PluginRegistry;
42pub use schema::{
43 ConfigField,
44 ConfigFieldType,
45 ConfigSchema,
46};
47pub use types::{
48 AvailablePipeline,
49 BuildAgent,
50 BuildArtifact,
51 BuildQueue,
52 Feature,
53 FeatureAvailability,
54 Organization,
55 PaginatedAvailablePipelines,
56 PaginatedResponse,
57 PaginationParams,
58 Permission,
59 PermissionCheck,
60 PermissionStatus,
61 Pipeline,
62 PipelineRun,
63 PipelineStatus,
64 RateLimit,
65 ReviewDecision,
66 TriggerParams,
67 WorkflowParameter,
68 WorkflowParameterType,
69};
70pub use utils::RetryPolicy;
71
72#[macro_export]
73macro_rules! register_plugin {
74 ($plugin_type:ty) => {
75 pub fn register(registry: &mut $crate::PluginRegistry) {
76 registry.register(Box::new(<$plugin_type>::default()));
77 }
78 };
79}