Azure DevOps PR gating using Local Scanner
trigger: none
pr:
branches:
include:
- main
pool:
vmImage: 'ubuntu-latest'
container:
image: aikidosecurity/local-scanner:latest
options: --entrypoint=""
steps:
- checkout: self
clean: true
fetchDepth: 0
- bash: |
echo "PR Target Branch (full ref): $SYSTEM_PULLREQUEST_TARGETBRANCH"
echo "PR Source Branch (full ref): $SYSTEM_PULLREQUEST_SOURCEBRANCH"
# strip prefix
TARGET_BRANCH=${SYSTEM_PULLREQUEST_TARGETBRANCH#refs/heads/}
echo "Target branch stripped: $TARGET_BRANCH"
# fetch target branch to compute merge base
git fetch origin "$TARGET_BRANCH"
BASE_COMMIT=$(git merge-base HEAD "origin/$TARGET_BRANCH")
echo "Base commit SHA: $BASE_COMMIT"
echo "##vso[task.setvariable variable=baseCommitId]$BASE_COMMIT"
displayName: 'Get base commit SHA'
- script: |
aikido-local-scanner scan $BUILD_SOURCESDIRECTORY \
--apikey $(AIKIDO_API_KEY) \
--repositoryname $BUILD_REPOSITORY_NAME \
--branchname $(System.PullRequest.SourceBranch) \
--gating-mode pr \
--fail-on critical \
--base-commit-id $(baseCommitId) \
--head-commit-id $(System.PullRequest.SourceCommitId)
displayName: 'Run Aikido PR Scan'Last updated
Was this helpful?