bitbucket-pipelines.yml defined in the root of their repository.
To integrate Endor Labs into a Bitbucket pipeline:
- Authenticate to Endor Labs
- Install your build toolchain
- Build your code
- Scan with Endor Labs
Authenticate to Endor Labs
Configure an API key and secret in thebitbucket-pipelines.yml file for authentication. See managing API keys for more information on generating an API key for Endor Labs.
Configure your Bitbucket pipeline
Important
Bitbucket Pipelines may check out commits in a detached HEAD state, which can lead to fragmented branch tracking in Endor Labs. See Set up branch tracking in Bitbucket Pipelines to configure proper branch context.
Bitbucket Pipelines may check out commits in a detached HEAD state, which can lead to fragmented branch tracking in Endor Labs. See Set up branch tracking in Bitbucket Pipelines to configure proper branch context.
- Create a
bitbucket-pipelines.ymlfile in your repository if you do not already have one. - In your
bitbucket-pipelines.ymlfile customize the job configuration based on your project’s requirements using the following example. - Adjust the image field to use the necessary build tools for constructing your software packages, and align your build steps with those of your project.
- Update your Endor Labs tenant namespace to the appropriate namespace for your project.
- Update your default branch from main if you do not use main as the default branch name.
- Modify any dependency or artifact caches to align with the languages and caches used by your project.
Example
Use the following example to get started. Make sure to customize this job with your specific build environment and build steps.Bitbucket configuration
View PR comments for policy violations
You can also use the Insights feature in Bitbucket Pipelines to indicate if the changes in your pull requests violated any policies set in Endor Labs.SAST scans in Bitbucket Pipelines
You can run SAST scans in your Bitbucket pipeline to identify security vulnerabilities and code quality issues in your source code. SAST scanning analyzes your source code for potential security weaknesses based on enabled rules and generates findings based on your configured finding policies.SAST scan
To run a SAST scan, add the--sast flag to your endorctl scan command.
AI-analyzed SAST scan
To enable AI SAST analysis, add the--sast and --ai-sast-analysis=agent-fallback flags to your endorctl scan command. The AI agent automatically classifies findings as true positives or false positives, reducing the need for manual triage.
--ai-sast-rescan flag.
Set up branch tracking in Bitbucket Pipelines
In Git, a detached HEAD state occurs when the repository checks out a specific commit instead of a branch reference. In this state, Git points the HEAD directly to a commit hash, without associating it with a named branch. As a result, actions performed, such as creating new commits or running automated scans, do not carry branch identity unless explicitly specified. Proper branch context enables Endor Labs to:- Associate scans with the correct branch
- Identify scans on the monitored default branch
- Track findings and display metrics accurately across branches
Bitbucket Pipelines often check out commits by their SHA instead of the branch name, which creates a detached HEAD state.
Use --detached-ref-name only to specify the branch name for a commit in detached HEAD state. This associates the commit with the correct branch without setting it as the default branch.
--detached-ref-name and --as-default-branch together when you want to associate the commit with a branch and set it as the default branch scan.