Release Templates

Get release plans.

Changed on

Enterprise feature

Returns a list of all release plans for a specific feature flag and environment.

get/api/admin/projects/{project}/features/{featureName}/environments/{environment}/release-plans

Request

  • Base URL
    https://app.unleash-instance.example.com
  • URL
    https://app.unleash-instance.example.com/api/admin/projects/{project}/features/{featureName}/environments/{environment}/release-plans
  • Auth
    • API key in header Authorization
    • or HTTP bearer

Path parameters

projectstring required
featureNamestring required
environmentstring required

Response

#/components/schemas/releasePlansSchema

idstring required

The release plan/template's ID. Release template IDs are ulids.

discriminator'plan' required

A field to distinguish between release plans and release templates.

namestring required

The name of the release template.

descriptionstring nullable

A description of the release template.

featureNamestring required

The name of the feature that uses this release plan.

environmentstring required

The environment that this release plan is for.

createdByUserIdnumber required

Release template: The ID of the user who created this template.

createdAtstring date-time required

The date and time that the release template was created.

activeMilestoneIdstring nullable

The ID of the currently active milestone in this release plan.

releasePlanTemplateIdstring required

The ID of the release plan template that this release plan is based on.

Example response

[
  {
    "id": "01JB9GGTGQYEQ9D40R17T3YVW2",
    "discriminator": "plan",
    "name": "My release plan",
    "description": "This is my release plan",
    "featureName": "my-feature",
    "environment": "production",
    "createdByUserId": 53,
    "createdAt": "2022-01-01T00:00:00Z",
    "activeMilestoneId": "01JB9GGTGQYEQ9D40R17T3YVW1",
    "milestones": [
      {
        "id": "01JB9GGTGQYEQ9D40R17T3YVW1",
        "name": "My milestone",
        "sortOrder": 1,
        "releasePlanDefinitionId": "01JB9GGTGQYEQ9D40R17T3YVW2",
        "startedAt": "2024-01-01T00:00:00.000Z",
        "transitionCondition": {
          "intervalMinutes": 30
        },
        "progressionExecutedAt": "2024-01-01T00:00:00.000Z",
        "pausedAt": "2024-01-01T00:00:00.000Z",
        "strategies": [
          {
            "id": "01JB9GGTGQYEQ9D40R17T3YVW3",
            "milestoneId": "01JB9GGTGQYEQ9D40R17T3YVW1",
            "sortOrder": 9999,
            "title": "Gradual Rollout 25-Prod",
            "name": "flexibleRollout",
            "strategyName": "flexibleRollout",
            "constraints": [
              {
                "values": [
                  "1",
                  "2"
                ],
                "inverted": false,
                "operator": "IN",
                "contextName": "appName",
                "caseInsensitive": false
              }
            ],
            "variants": [
              {
                "name": "blue_group",
                "weightType": "fix",
                "stickiness": "custom.context.field",
                "payload": {
                  "type": "json",
                  "value": "{\"color\": \"red\"}"
                }
              }
            ],
            "segments": [
              1,
              2
            ]
          }
        ]
      }
    ],
    "releasePlanTemplateId": "01JB9GGTGQYEQ9D40R17T3YVW2",
    "safeguards": [
      {
        "id": "01JB9GGTGQYEQ9D40R17T3YVW1",
        "action": {
          "type": "pauseReleasePlanProgressions",
          "id": "01JB9GGTGQYEQ9D40R17T3YVW2"
        },
        "triggerCondition": {
          "operator": ">",
          "threshold": 100
        },
        "impactMetric": {
          "id": "01JB9GGTGQYEQ9D40R17T3YVW1",
          "metricName": "unleash_counter_feature_toggle_usage_total",
          "timeRange": "day",
          "aggregationMode": "rps",
          "labelSelectors": {
            "environment": [
              "development"
            ],
            "project": [
              "default"
            ]
          },
          "source": "internal"
        }
      }
    ]
  }
]

Changes

    • warning

      added the new SEMVER_GTE enum value to the /////// response property for the response status

    • warning

      added the new SEMVER_LTE enum value to the /////// response property for the response status

    • breaking

      the response's body type changed from object to array for status

    • breaking

      removed the required property from the response with the status

    • breaking

      removed the required property from the response with the status

    • breaking

      removed the required property from the response with the status

    • breaking

      removed the required property from the response with the status

    • breaking

      removed the required property from the response with the status

    • breaking

      removed the required property from the response with the status

    • breaking

      removed the required property from the response with the status

    • breaking

      removed the required property from the response with the status

    • breaking

      removed the required property from the response with the status

    • warning

      removed the optional property from the response with the status

    • warning

      removed the optional property from the response with the status

    • warning

      removed the optional property from the response with the status