Skip to main content
Version: Config V2

Bitrise - Scan your source code for feature flags

This section describes how to use ConfigCat's Bitrise Step to automatically scan your source code for feature flag and setting usages and upload the found code references to ConfigCat. Bitrise is full-featured mobile CI/CD platform. You can find more information about Bitrise Steps here.

Setup

  1. Create a new ConfigCat Management API credential and store its values in secure pipeline variables with the following names: CONFIGCAT_API_USER, CONFIGCAT_API_PASS.

    Bitrise secrets
  2. Get your selected Config's ID.

  3. Add the following step to the workflows section of your bitrise.yml file. Don't forget to replace the PASTE-YOUR-CONFIG-ID-HERE value with your actual Config ID.

    - configcat-feature-flag-sync@0:
    inputs:
    - configcat_config_id: 'PASTE-YOUR-CONFIG-ID-HERE' # required
    # - line-count: 3 # optional
    # - sub-folder: 'src' # optional
    # - exclude-keys: > # optional
    # flag_key_to_exclude_1
    # flag_key_to_exclude_2
    # - alias-patterns: "(\w+) = :CC_KEY,const (\w+) = feature_flags\.enabled\(:CC_KEY\)" # optional
    # - usage-patterns: feature_flags\.enabled\(:CC_KEY\) # optional
    # - verbose: true # optional
  4. Commit & push your changes.

Scan reports are uploaded for each branch of your repository that triggers the job.

Available Options

ParameterDescriptionRequiredDefault
configcat_config_idThe config ID tells the step which feature flags it should search for in your source code.
configcat_api_hostConfigCat Management API host.api.configcat.com
line_countCode snippet line count before and after the reference line. (min: 1, max: 10)4
sub_folderSub-folder to scan, relative to the repository root folder.
exclude-keysList of feature flag keys that must be excluded from the scan report.
alias-patternsComma delimited list of custom regex patterns used to search for additional aliases.
usage-patternsComma delimited list of custom regex patterns that describe additional feature flag key usages.
verboseTurns on detailed logging.false