Product
|
Cloud costs
|
released
November 11, 2022
|
3
min read
|

Announcing Flag Pipelines to Automate Feature Flag Governance and Daily Management

Updated
10/2/2023

When we launched Harness Feature Flags, we were excited about the opportunity to leverage other capabilities across the Harness platform to create better-than-the-sum-of-its-parts value. One of the first things we did was add support for feature release pipelines to Feature Flags, which enabled users to automate software release workflows and policy enforcement.

Today, we’re extending how you can use pipelines with the launch of a new concept, Flag Pipelines. Pipelines have always let you build powerful workflows and automation for doing releases with feature flags, and now development teams can run pipelines automatically on every flag change to enforce governance and control. That’s right – flags can have individual pipelines that run every time a flag state is changed. That’s a game-changer for automating the day-to-day usage of flags and making sure that every change meets organizational standards.

Essentially, you can now guarantee that any time a flag’s state is changed, it goes through a predefined workflow. This can be something as simple as requiring an approval every time a sensitive feature is toggled. Or, it can be something more complex, such as requiring an approval, making an update to Jira and ServiceNow, and sending notifications to customer support and managers.

Flag Pipeline Tab

Governance in the Day-To-Day Flag Lifecycle

Flag pipelines let you build a simple pipeline and assign it to a flag. From that point on, that pipeline will run automatically every time the flag changes, no matter how it changes. This means that whether you change it via the UI, API, or by updating the YAML via Git, you’ll see this pipeline triggered.

This is great addition to feature management when your team wants to do things like:

  • Require an approval from a manager role, or a PM, on any flag change in the production environment
  • Send a Slack message on every flag change 
  • Update a Jira ticket being used to track feature development steps
  • Execute a custom script associated with the flag every time the flag changes

Manual Process Misses the Point Of Feature Flags

Normally, you’d use pipelines with feature flags to build automated release workflows, such as incrementing a flag to 10% of your audience with an approval every 23 hours. And you can still do that for your one-off or specifically-modeled release scenarios. Flag Pipelines let you automate and enforce the things that you want to have happen every time, not just when you have a specific one-time scenario. 

For teams and broader organizations, this feature enhancement provides a broader level of control over how feature flags are handled and managed day-to-day. Previously, users would have had to create an organizational process that required all of the users to run a stated pipeline every time that a flag needed to be changed. This poses a few problems:

  1. Individual pipelines must be created for each toggle
  2. Everyone must be trained to use the pipeline instead of the flag toggle
  3. The user experience becomes a mess, because half of the UI can’t be used
  4. Users can still change flag toggles manually or via code and bypass the pipeline

It’s not that teams don’t try to do these things the right way, rather that things slip, people and processes change, and it’s inconvenient to follow numerous extra steps for something that should be simple. Instead, what if users could use flags in a way that’s more closely aligned with their actual needs, and the release process for flag changes is automatic? By flipping the script, devs aren’t slowed down, and the business makes sure that things are done the right way every time.

How to Use Feature Flag Pipelines

Empty Flag Pipeline Tab


To set up your flag pipelines, just select any flag and select the new “Flag Pipelines” tab. From there, you can choose or create the pipeline that you want to use.

Because flag pipelines are meant for the subset of workflows that you want to execute every time, not all pipelines can be used as flag pipelines. Flag pipelines must:

  • Not have continuous integration/continuous development (CI/CD) steps
  • Only have one flag change, not multiple
  • Have the flag step set to runtime inputs 

Once you have a suitable pipeline and have it selected inside of your Flag Pipelines settings within a flag, you’re all set. That pipeline will now automatically run every time that the flag is changed within that environment.

Find more details about how it works in the Harness docs.

Get Started with Harness Feature Flags

Flag Pipelines continue our work in the pursuit of turning feature flags into a true part of your software delivery process. Allowing more sophisticated control of feature flags brings increased governance and feature flag automation to your organization. It’s a big step forward in evolving feature flags into a key business process in software delivery.

Ready to get started? Request a demo or sign up for free forever. We’ll continue to expand on this in the future and would love your feedback on how you’d like to see this story evolve. 

Happy developing!

Sign up now

Sign up for our free plan, start building and deploying with Harness, take your software delivery to the next level.

Get a demo

Sign up for a free 14 day trial and take your software development to the next level

Documentation

Learn intelligent software delivery at your own pace. Step-by-step tutorials, videos, and reference docs to help you deliver customer happiness.

Case studies

Learn intelligent software delivery at your own pace. Step-by-step tutorials, videos, and reference docs to help you deliver customer happiness.

We want to hear from you

Enjoyed reading this blog post or have questions or feedback?
Share your thoughts by creating a new topic in the Harness community forum.

Sign up for our monthly newsletter

Subscribe to our newsletter to receive the latest Harness content in your inbox every month.

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
Feature Flags