This repository contains ConfigCat CLI related GitHub Actions that you can use in your workflows.
List of available actions:
This action installs the ConfigCat CLI for a job in your workflow, so you can use it in subsequent steps.
As the CLI mainly communicates with the ConfigCat Public Management API, it needs to access to an API credential. Store the credential in your repository's GitHub Secrets with the following names: CONFIGCAT_API_USER, CONFIGCAT_API_PASS.
name: Workflow with ConfigCat CLI
on: push
jobs:
example-job:
runs-on: ubuntu-latest
env:
CONFIGCAT_API_USER: ${{ secrets.CONFIGCAT_API_USER }}
CONFIGCAT_API_PASS: ${{ secrets.CONFIGCAT_API_PASS }}
steps:
- uses: configcat/cli-actions@v1
# Using the CLI in other steps
- name: Update feature flag value
run: configcat flag-v2 value update --flag-id <flag-id> --environment-id <environment-id> --flag-value true This action can evaluate ConfigCat feature flags whose result you can use in your workflow.
name: Evaluate ConfigCat feature flags
on: push
jobs:
example-job:
runs-on: ubuntu-latest
steps:
- name: Evaluate feature flags
id: flags
uses: configcat/cli-actions/eval-flag@v1
with:
sdk-key: ${{ secrets.CONFIGCAT_SDK_KEY }}
flag-keys: |
flag1:false
flag2:false
user-attributes: |
id:1234
- name: Step depending on flag1
if: steps.flags.outputs.flag1 == 'true'
run: echo "flag1 is true"
- name: Step depending on flag2
if: steps.flags.outputs.flag2 == 'true'
run: echo "flag2 is true"The results of the flag evaluations are stored in the step outputs named with each flag's key.
| Parameter | Description | Required | Default |
|---|---|---|---|
sdk-key |
SDK key identifying the config to download, also loaded from the CONFIGCAT_SDK_KEY environment variable |
||
flag-keys |
List of feature flag keys and their default values to evaluate. Multiple values must be in separate lines in the following format: <key>:<default_value>. Not setting a default value will set the flag's default value to ''. |
☑ | |
user-attributes |
List of user attributes used for evaluation. Multiple values must be in separate lines in the following format: <key>:<value>. Dedicated User Object attributes are mapped like the following: Identifier => id, Email => email, Country => country. |
||
base-url |
The CDN base url from where the CLI will download the config JSON. | ConfigCat CDN servers. | |
data-governance |
Describes the location of your feature flag and setting data within the ConfigCat CDN. Possible values: eu, global. |
global |
|
verbose |
Turns on detailed logging. | false |
Contributions are welcome. For more info please read the Contribution Guideline.
ConfigCat is a feature flag and configuration management service that lets you separate releases from deployments. You can turn your features ON/OFF using ConfigCat Dashboard even after they are deployed. ConfigCat lets you target specific groups of users based on region, email or any other custom user attribute.
ConfigCat is a hosted feature flag service. Manage feature toggles across frontend, backend, mobile, desktop apps. Alternative to LaunchDarkly. Management app + feature flag SDKs.