find-code-references-in-pull-request

command module
v1.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 13, 2023 License: Apache-2.0 Imports: 23 Imported by: 0

README

LaunchDarkly Find Code References in Pull Request GitHub action

Adds a comment to a pull request (PR) whenever a feature flag reference is found in a PR diff.

An example code references PR comment

Permissions

This action requires a LaunchDarkly access token with read access for the designated project-key. Access tokens should be stored as an encrypted secret.

To add a comment to a PR, the repo-token used requires write permission for PRs. You can also specify permissions for the workflow with:

permissions:
  pull-requests: write

Usage

Basic:

on: pull_request

jobs:
  find-flags:
    runs-on: ubuntu-latest
    name: Find LaunchDarkly feature flags in diff
    steps:
      - name: Checkout
        uses: actions/checkout@v3
      - name: Find flags
        uses: launchdarkly/find-code-references-in-pull-request@v1.0.0
        id: find-flags
        with:
          project-key: default
          environment-key: production
          access-token: ${{ secrets.LD_ACCESS_TOKEN }}
          repo-token: ${{ secrets.GITHUB_TOKEN }}

Use outputs in workflow:

on: pull_request

jobs:
  find-feature-flags:
    runs-on: ubuntu-latest
    name: Find LaunchDarkly feature flags in diff
    steps:
      - name: Checkout
        uses: actions/checkout@v3
      - name: Find flags
        uses: launchdarkly/find-code-references-in-pull-request@v1.0.0
        id: find-flags
        with:
          project-key: default
          environment-key: production
          access-token: ${{ secrets.LD_ACCESS_TOKEN }}
          repo-token: ${{ secrets.GITHUB_TOKEN }}

      # Add or remove labels on PRs if any flags have changed
      - name: Add label
        if: steps.find-flags.outputs.any-changed == 'true'
        run: gh pr edit $PR_NUMBER --add-label ld-flags
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          PR_NUMBER: ${{ github.event.pull_request.number }}
      - name: Remove label
        if: steps.find-flags.outputs.any-changed == 'false'
        run: gh pr edit $PR_NUMBER --remove-label ld-flags
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          PR_NUMBER: ${{ github.event.pull_request.number }}
Flag aliases

This action has full support for code reference aliases. If the project has an existing .launchdarkly/coderefs.yaml file, it will use the aliases defined there.

You can find more information on aliases at launchdarkly/ld-find-code-refs.

Monorepos

This action does not support monorepos or searching for flags across LaunchDarkly projects.

Inputs
parameter description required default
repo-token Token to use to authorize comments on PR. Typically the GITHUB_TOKEN secret or equivalent github.token. true
access-token LaunchDarkly access token true
project-key LaunchDarkly project key false default
environment-key LaunchDarkly environment key for creating flag links false production
placeholder-comment Comment on PR when no flags are found. If flags are found in later commits, this comment will be updated. false false
include-archived-flags Scan for archived flags false true
max-flags Maximum number of flags to find per PR false 5
base-uri The base URI for the LaunchDarkly server. Most users should use the default value. false https://app.launchdarkly.com
check-extinctions Check if removed flags still exist in codebase false true
Outputs
parameter description
any-modified Returns true if any flags have been added or modified in PR
modified-flags Space-separated list of flags added or modified in PR
modified-flags-count Number of flags added or modified in PR
any-removed Returns true if any flags have been removed in PR
removed-flags Space-separated list of flags removed in PR
removed-flags-count Number of flags removed in PR
any-changed Returns true if any flags have been changed in PR
changed-flags Space-separated list of flags changed in PR
changed-flags-count Number of flags changed in PR
any-extinct Returns true if any flags have been removed in PR and no longer exist in codebase. Only returned if check-extinctions is true.
extinct-flags Space-separated list of flags removed in PR and no longer exist in codebase. Only returned if check-extinctions is true.
extinct-flags-count Number of flags removed in PR and no longer exist in codebase. Only returned if check-extinctions is true.

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL