pipedash_plugin_api/
lib.rs1pub 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}