Documentation
  • šŸ»Intro
    • Why API Security is Critical?
    • Pynt at a Glance
    • Who Should Use Pynt?
  • šŸ‘©ā€šŸ’»API Security Testing
    • Security Testing Overview
    • Prerequisites for Running Pynt Scans
    • How to Install Pynt CLI
    • How to install Pynt Binary (Linux only)
    • Pynt CLI Modes
      • šŸ”µPynt Command CLI Mode
      • šŸ”µPynt Listen CLI Mode
    • Pynt Security Tests Coverage
      • Business Logic Tests
      • Injection Tests
      • Authentication Bypass Tests
      • Mass Assignment Tests
      • Server-Side Request Forgery Tests
      • Stack Trace In Response
      • Lack of Resources and Rate Limiting
      • File Path Manipulation
      • GraphQL Introspection Vulnerability
      • GraphQL Alias Overloading
      • LLM APIs Vulnerabilities
      • Insecure Transport Scheme
      • Basic Authentication
      • HTTP Desynchronization (Desync) Attack
    • Sensitive Data Exposure Detection
    • Pynt Scans Troubleshooting
      • Pynt CLI Troubleshooting
      • Pynt for Postman Troubleshooting
        • Troubleshoot Pynt Container not Running Error
        • Troubleshoot Empty API Key Error
        • Troubleshoot Unauthorized API Key Error
        • Troubleshoot Collection Not Found Error
        • Troubleshoot Non-Unique Collection Name Error
        • Troubleshoot Empty Collection Identifier Error
        • Troubleshoot Unreachable Target Error
        • Troubleshoot Target Responds with Errors Error
        • Troubleshoot Unresolved Target Domain Error
        • Troubleshoot Unresolved Variable Error
        • Troubleshoot TLS Handshake Fail Error
        • Troubleshoot Few Requests Error
        • Troubleshoot One User Only Error
        • Troubleshoot Failed Assertions Error
    • How To
      • How to Run Business Logic Tests with Pynt
      • How to associate a Pynt scan to an Application in Pynt Dashboard
      • How to tag a scan in Pynt
    • Benchmarks
      • Pynt vs OWASP crAPI
  • 🤲Security Testing Integrations
    • 🟠Pynt with API Testing Tools
      • šŸ”˜Pynt for Postman
        • Fork Pynt Collection
        • Run Pynt Container
        • Run Pynt in Postman
        • View Scan Results in Postman
      • šŸ”˜Pynt for Insomnia
      • šŸ”˜Pynt for ReadyAPI
    • 🟠Pynt with API Testing CLIs
      • šŸ”˜Pynt for Newman (Postman CLI)
      • šŸ”˜Pynt for TestRunner (ReadyAPI CLI)
    • 🟠Pynt with Testing Frameworks
      • šŸ”˜Pynt for .NET (xUnit)
      • šŸ”˜Pynt for Selenium
      • šŸ”˜Pynt for Rest Assured
      • šŸ”˜Pynt for Jest
      • šŸ”˜Pynt for pytest
      • šŸ”˜Pynt for Go
      • šŸ”˜Pynt for JMeter
    • 🟠Pynt on CI/CD
      • ā—How to get Pynt ID for CI/CD Authentication
      • šŸ”˜Pynt for GitHub Actions
      • šŸ”˜Pynt for Azure DevOps Pipelines
      • šŸ”˜Pynt for GitLab
      • šŸ”˜Pynt for Jenkins
    • 🟠Pynt with Burp Suite
    • 🟠Pynt with Browsers
      • šŸ”˜Pynt for Firefox Browser
    • 🟠Live Traffic Connectors
      • šŸ”˜eBPF
        • šŸ”˜Key Components
      • šŸ”˜Traffic Mirroring
    • 🟠Advanced Pynt Examples
      • šŸ”˜Pynt as a Standalone Container
      • šŸ”˜Pynt with Prerecorded Har Files
      • šŸ”˜Pynt with cURL
  • 🈸Applications View
    • Application View Overview
    • Manage Applications
      • Add Application
      • Delete Application
      • Rename Application
    • Manage Sources for API Discovery
      • Add Source
      • Delete Source
      • View Source Info
      • Source Categories
        • API Documentation
          • Swagger
          • Postman Collection
        • API Gateways
          • AWS API Gateway
          • Azure API Gateway
          • Kong API Gateway
          • GCP API Gateway
          • Gravitee API Gateway
        • Testing (API Security Scans)
        • Live Traffic
          • Data Collection with eBPF
          • ALB Traffic Capture with AWS Traffic Mirroring
        • Code Repository
    • Application Dashboard
    • Generate Pentest Report
  • šŸ“šAPI Catalog
    • API Catalog Overview
    • Navigate API Catalog
      • Filtering API Catalog by Application
      • API Catalog Customization
      • API Related Info
      • APIs at Risk
    • Manage API Source Gaps
      • New APIs
      • Untested APIs
      • Shadow APIs
      • Undocumented APIs
    • View Detailed Endpoint Info
  • āŖScan History
    • Scan History Overview
    • Navigate Scan History
      • Associating Scans with Specific Application
      • Filtering by Application
      • Scan Related Info
      • Scan History Customization
    • View Detailed Scan Info
    • Associate Vulnerabilities to Tickets with JIRA
  • Account Management
    • Single Sign-On (SSO)
      • Setting up Okta
      • Setting up Entra ID
Powered by GitBook
On this page
  • What is Azure DevOps?
  • Pynt integration with Azure DevOps
  • Azure DevOps Configuration
  • Pynt command not found
  • Controlling the return code from Pynt
  1. Security Testing Integrations
  2. Pynt on CI/CD

Pynt for Azure DevOps Pipelines

Integrate Pynt with Azure DevOps for automated API security testing. Enhance your CI/CD pipeline by adding Pynt’s robust security scans to your Azure DevOps workflows.

PreviousPynt for GitHub ActionsNextPynt for GitLab

Last updated 7 months ago

What is Azure DevOps?

šŸ’” is a suite of development tools that provide CI/CD capabilities, version control, and project management. It supports building, testing, and deploying applications across cloud and on-premises environments.


Pynt integration with Azure DevOps

Pynt for Azure DevOps enables you to seamlessly integrate powerful API security testing into your Azure DevOps CI/CD pipelines. By incorporating Pynt into your Azure DevOps workflows, you can automate comprehensive security scans with every build, ensuring that your APIs are protected from vulnerabilities throughout the development process. Pynt’s integration with Azure DevOps is designed to be straightforward, allowing you to enhance your security posture without disrupting your existing CI/CD practices.


Azure DevOps Configuration

  • Make sure Python installed on the agent.

  • Add Pynt to your pipeline. See the following example of a job in an Azure pipeline that runs Pynt on our goat vulnerable application:

trigger:
- main

pool: 
  name: test

steps:
- script: python3 -m pip install --upgrade pyntcli
  displayName: 'Install pynt cli'

- script: curl https://raw.githubusercontent.com/pynt-io/pynt/main/goat_functional_tests/goat.postman_collection.json -o goat.json 
  displayName: 'Get goat collection'

- script: |
    export PYNT_ID = $(PYNT_ID)
    pynt newman --collection goat.json --reporters --severity-level critical
  displayName: 'Run pynt with newman integration '

Pynt command not found

If you get pynt command not found error it means that pip install folder is not in your path. add the following to the last step:

- script: |
    export PYNT_ID = $(PYNT_ID)
    
    # Get the user base bin directory
    BIN_PATH=$(python -m site --user-base)/bin
      
    # Add it to the PATH
    export PATH=$BIN_PATH:$PATH
      
    # Verify that it's been added
    echo "Updated PATH: $PATH"
    
    pynt newman --collection goat.json --reporters --severity-level critical
  displayName: 'Run pynt with newman integration '

Controlling the return code from Pynt

pynt newman and pynt command have an optional flag --severity-level

With this flag, you have granular control over whether Pynt returns an error code (non zero) in the event of findings. Use this flag to control when Pynt will break the CI/CD run, allowed values are:

'all', 'medium', 'high', 'critical', 'none' (default) 

As part of its , Pynt allows seamless with Azure DevOps.

Copy your into the pipeline variable and store it as a secret:

šŸ’” Need Help? For any questions or troubleshooting, reach out to the .

🤲
🟠
šŸ”˜
API security testing
integration
Pynt ID
Pynt Community Support
Azure DevOps
Azure DevOps
Storing Pynt ID