Skip to main content

Automated Activities

Last updated on

Automated activities execute without human intervention, enabling efficient and consistent release execution.

What are Automated Activities?

An automated activity is an activity that encapsulates a pipeline. It executes as part of a process when its dependencies are met.

Pipeline Activities

Pipeline activities are the primary type of automated activities. They:

  • Encapsulate pipelines: The activity contains or references a Harness pipeline
  • Pass inputs: Activity variables are mapped to pipeline inputs
  • Track execution: Monitor pipeline execution status
  • Capture outputs: Pipeline outputs can be used in subsequent activities

Example (YAML)

This example shows an activity in a process referencing a pipeline.

phase:
id: deploy_phase
name: Deploy to Staging1 Phase
activities:
- activity: WaitingActivity
id: WaitingActivity
name: WaitingActivity
depends-on: []
data:
pipeline:
pipeline: default/MyProject/MyPipeline
inputSet: {}

Best Practices

Idempotency

Design activities to be idempotent:

  • Safe to retry
  • No side effects on repeat
  • Consistent results

Error Handling

Implement robust error handling:

  • Clear error messages
  • Appropriate retries
  • Failure notifications

Logging

Ensure proper logging:

  • Execution logs
  • Error details
  • Performance metrics

Testing

Test automated activities:

  • Unit testing
  • Integration testing
  • Failure scenario testing