pipedash_plugin_api/
lib.rs

1pub mod defaults;
2pub mod error;
3pub mod plugin;
4pub mod registry;
5pub mod schema;
6pub mod types;
7pub mod utils;
8
9pub use error::{
10    PluginError,
11    PluginResult,
12};
13pub use plugin::{
14    Plugin,
15    PluginCapabilities,
16    PluginMetadata,
17};
18pub use registry::PluginRegistry;
19pub use schema::{
20    ConfigField,
21    ConfigFieldType,
22    ConfigSchema,
23};
24pub use types::{
25    AvailablePipeline,
26    BuildAgent,
27    BuildArtifact,
28    BuildQueue,
29    Feature,
30    FeatureAvailability,
31    Organization,
32    PaginatedAvailablePipelines,
33    PaginatedResponse,
34    PaginationParams,
35    Permission,
36    PermissionCheck,
37    PermissionStatus,
38    Pipeline,
39    PipelineRun,
40    PipelineStatus,
41    TriggerParams,
42    WorkflowParameter,
43    WorkflowParameterType,
44};
45pub use utils::RetryPolicy;
46
47#[macro_export]
48macro_rules! register_plugin {
49    ($plugin_type:ty) => {
50        pub fn register(registry: &mut $crate::PluginRegistry) {
51            registry.register(Box::new(<$plugin_type>::default()));
52        }
53    };
54}