Skip to main content

pipedash_plugin_api/
lib.rs

1pub 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}