GitHub Action - Scan your source code for feature flags
This section describes how to use ConfigCat's GitHub Action to automatically scan your source code for feature flag and setting usages and upload the found code references to ConfigCat. You can find more information about GitHub Actions here.
Setup
Create a new ConfigCat Management API credential and store its values in your repository's GitHub Secrets with the following names:
CONFIGCAT_API_USER
,CONFIGCAT_API_PASS
.Get your selected Config's ID.
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 thePASTE-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 # optionalCommit & 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 |
---|---|---|---|
config-id | ID of the ConfigCat config to scan against. | ☑ | |
api-user | ConfigCat Management API basic authentication username. | ☑ | |
api-pass | ConfigCat Management API basic authentication password. | ☑ | |
api-host | ConfigCat Management API host. | api.configcat.com | |
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 |