Currently, Harness implements Pipeline as Code using YAML files. While YAML offers a clear and concise way to define pipelines, it can be limiting when it comes to expressing complex logic and workflows. One famous example is Jenkins, which uses Groovy syntax, allows for greater flexibility and ease of use when writing code within the pipeline definition itself.
  • Scripting capabilities enable the implementation of complex logic, loops, conditional statements, and error handling directly within the pipeline, reducing the need for external scripts or workarounds.
  • Groovy's syntax is often considered more readable and intuitive than YAML, especially for users familiar with Java-like languages, making pipelines easier to understand and maintain.
While implementing Groovy support in Harness pipelines might be a complex undertaking, the long-term benefits are significant. Many engineers in the CI/CD space are already comfortable with Groovy-like syntax. By adopting this familiar approach, Harness would lower the learning curve for new users, accelerating adoption and making it easier for companies to onboard the platform. This strategic move could position Harness as the go-to CI/CD solution for a wider range of organizations.