configcat / scan-repository

ConfigCat's repository scanner GitHub Action. ConfigCat is a hosted feature flag service: https://configcat.com. Manage feature toggles across frontend, backend, mobile, desktop apps. Alternative to LaunchDarkly. Management app + feature flag SDKs.

Home Page:https://configcat.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ConfigCat Scan Repository & Feature Flag Sync Action

This GitHub Action helps you get rid of technical debt by scanning the source code and highlighting the feature flag usages for each feature flag on the ConfigCat Dashboard.

For more information about repository scanning, see our documentation.

ConfigCat is a hosted service for feature flag and configuration management. It enables you to decouple feature releases from code deployments.

Setup

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

    secrets

  2. Get the ID of your ConfigCat Config that you want to associate with your repository. The scanner will use this ID to determine which feature flags & settings to search for in your source code.

  3. Create a new Actions workflow in your GitHub repository under the .github/workflows folder, and put the following snippet into it. Don't forget to replace the PASTE-YOUR-CONFIG-ID-HERE value with your actual Config ID.

    on: [push]
    name: Code references
    jobs:
      scan-repo:
        runs-on: ubuntu-latest
        name: Scan repository for code references
        steps:
        - name: Checkout
          uses: actions/checkout@v3
        - name: Scan & upload
          uses: configcat/scan-repository@v2
          with:
            api-user: ${{ secrets.CONFIGCAT_API_USER }}
            api-pass: ${{ secrets.CONFIGCAT_API_PASS }}
            config-id: PASTE-YOUR-CONFIG-ID-HERE
            # line-count: 5             # optional
            # sub-folder: src           # optional
            # exclude-keys: >           # optional
            #   flag_key_to_exclue_1
            #   flag_key_to_exclue_2
            # verbose: true             # optional
  4. Commit & push your action.

The above example configures a workflow that executes the scan and code references upload on every git push event. Scan reports are uploaded for each branch of your repository that triggers the workflow.

Available Options

Parameter Description Required Default
api-host ConfigCat Management API host. api.configcat.com
api-user ConfigCat Management API basic authentication username.
api-pass ConfigCat Management API basic authentication password.
config-id ID of the ConfigCat config to scan against.
line-count Context line count before and after the reference line. (min: 1, max: 10) 4
sub-folder Sub-folder to scan, relative to the repository root folder.
exclude-keys List of feature flag keys that must be excluded from the scan report.
verbose Turns on detailed logging. false

About

ConfigCat's repository scanner GitHub Action. ConfigCat is a hosted feature flag service: https://configcat.com. Manage feature toggles across frontend, backend, mobile, desktop apps. Alternative to LaunchDarkly. Management app + feature flag SDKs.

https://configcat.com


Languages

Language:Shell 84.1%Language:Dockerfile 15.9%