Skip to main content

Module operation

Module operation 

Source
Expand description

Operation trait re-exported from ironflow_core::operation.

The canonical definitions live in ironflow-core so that external crates can implement Operation without depending on ironflow-engine. This module re-exports them for backward compatibility.

§Examples

use async_trait::async_trait;
use ironflow_engine::operation::Operation;
use ironflow_core::operation::OperationContext;
use ironflow_core::error::OperationError;
use serde_json::{Value, json};

struct CreateGitlabIssue {
    project_id: u64,
    title: String,
}

#[async_trait]
impl Operation for CreateGitlabIssue {
    fn kind(&self) -> &str {
        "gitlab"
    }

    async fn execute(&self, _ctx: &OperationContext) -> Result<Value, OperationError> {
        Ok(json!({"issue_id": 42, "url": "https://gitlab.com/issues/42"}))
    }
}

Structs§

NoopSecretResolver
A SecretResolver that always returns Ok(None).
OperationContext
Context provided to every Operation::execute call.
SecretValue
A decrypted secret value returned by SecretResolver::get.

Traits§

Operation
A user-defined operation that integrates into the workflow step lifecycle.
SecretResolver
Trait for resolving secrets at operation execution time.
TypedOperation
A typed extension of Operation that declares a concrete output type.