Read time: 1 minute
Last edited: Oct 27, 2021
This topic explains how to use the
ld-find-code-refs utility with Bitbucket Pipes to create code references in LaunchDarkly.
You can use the
ld-find-code-refs utility with Bitbucket Pipelines to automatically populate code references in LaunchDarkly. To do this, you must create a Pipes configuration using LaunchDarkly's code reference pipe.
To set up Bitbucket Pipes, you must have the following prerequisite:
- A Bitbucket Pipelines configuration file. To create one, navigate to the Pipelines section of your Bitbucket repository.
- An API access token with
writerpermissions. To learn more, read API access tokens.
Alternatively, you can give the access token access to a custom role with the
code-reference-repository resource specifier. To learn more, read Custom roles.
To set up the Bitbucket Pipes configuration:
- Create a new Pipeline configuration in your Bitbucket repository.
- Configure the Pipeline to run on
defaultconfiguration. Include the following variables:
LD_ACCESS_TOKEN: This secured variable should be your API access token.
LD_PROJ_KEY: This should be your LaunchDarkly project key. Find it in Account settings > Projects.
Here's an example of a minimal Pipeline configuration:
You can copy and paste the following code into a blank Pipelines configuration if you have set the
LD_ACCESS_TOKEN environment variables as repository variables:
1pipelines:2 default:3 - step:4 script:5 - pipe: launchdarkly/ld-find-code-refs-pipe:2.1.06 environment:7 LD_ACCESS_TOKEN: $LD_ACCESS_TOKEN8 LD_PROJ_KEY: $LD_PROJ_KEY
To learn more about repository variables, read Atlassian's documentation.
- Confirm that the pipeline is working by creating a new pull request with the workflow file and visiting the Pipelines page on your repository's webpage. If your pipeline fails, there may be a problem with your configuration. To investigate, check the pipeline's logs to view any error messages.
The code reference pipe may be configured with additional environment variables to enable more functionality.
This table explains the additional variables:
|A LaunchDarkly access token with writer-level access, or access to the |
Supply this as a secured environment variable.
|A LaunchDarkly project key. Find it in **Account settings > Projects**.||Yes|
|Sets the repository name for this project. This is useful if you have a single monorepo containing multiple YAML configurations, each of which maps to its own ||No|
|The number of context lines above and below a code reference for the flag parser to send to LaunchDarkly.|
If < 0, no source code is sent to LaunchDarkly.
If 0, only the lines containing flag references are sent.
If > 0, sends that number of context lines above and below the flag reference.
A maximum of 5 context lines may be provided. Defaults to 2.
|Set the base URL of the LaunchDarkly server for this configuration. Defaults to ||No|
|Enables verbose default logging. Defaults to ||No|
|If enabled, the scanner terminates with exit code 0 when the LaunchDarkly API is unreachable or returns an unexpected response. Defaults to ||No|
|Sets the number of Git commits to search in history for whether a feature flag was removed from code. Set this to 0 to disable it. Setting this option to a high value will increase search time. Defaults to ||No|