Checks pipeline quality

POST /pipeline/linter/<path>

Overview

This API provides clear complete report for all standard checks, including message levels (Critical, Warning, Info), along with actionable message descriptions for the pipeline quality.

Prerequisites

  • The linter can be used by any member of the Environment/Org.

Request

 POST https://{controlplane_path}/api/1/rest/public/pipeline/linter/<path>

Path Parameters

Key Description
controlplane_path Required. The path to the SnapLogic control plane.

Example: cdn.elastic.snaplogic.com

For other control planes, substitute the subdomain name for elastic. For example:
  • cdn.uat.snaplogic.com
  • cdn.emea.snaplogic.com
linter A linter is a developer tool that analyzes source code for errors, vulnerabilities and stylistic issues to improve code quality.
path The absolute path to the specific pipeline.

Request Header

Specify Basic for authorization and application/json for content type.


Authorization: Basic {your_encoded_security_credentials}
Content-Type: application/json
          

Request Body

None.

Response

Response Body

 {
"response_map": {
    "complete_report": [
    {
        "key": ..,
        "name": "...",
        "description": "...",
        "message_level": "...",
        "disabled": false
    },            
},
  "http_status_code": 200
}
Key Type Description
Key number Number of the rule.
Name string Name of the pipeline check
Description string Description of the resulting pipeline check
Message_level string Displays if it is Info, Warning, or Critical.
Disabled boolean Default set as False.

Rules or checks performed

Standard check Message level
No Notes Warning
Bad characters in the Name (Label) Warning
No Error Handling Warning
Child pipelines do not conform to standard naming convention Warning
Expression libraries have bad/unsupported naming conventions Warning
Too many greater than 50 Snaps Warning
Too many go-to links (greater than 5) Warning
Use of duplicate Snap labels Critical
More than one unlinked output view Critical
Exceeds the Max Snap Count of 100 Critical

Example


     {
       "response_map": {
       "complete_report": [
        {
          "key": 1,
          "name": "No Notes",
          "description": "Pipeline does not have notes",
          "message_level": "Warning",
          "disabled": false
          },            
        {     
          "key": 2,
          "name": "Bad characters in the Name (Label)",
          "description": "Pipeline does not have bad characters in the name/label",
          "message_level": "Info",
          "disabled": false                
        },
        {
          "key": 3,
          "name": "No Error Handling",
          "description": "Pipeline does not have error handling",
          "message_level": "Warning",
          "disabled": false,          
        },
        {
          "key": 4,
          "name": "Use of duplicate Snap Labels",
          "description": "Pipeline has use of duplicate snap labels",
          "message_level": "Critical",
          "disabled": false,          
        },
        {
          "key": 5,
          "name": "More than 1 unlinked Output View",
          "description": "Pipeline does not have more than 1 unlinked Output View",
          "message_level": "Info",
          "disabled": false,         
        },
        {
          "key": 6,
          "name": "Presence of disabled Snaps",
          "description": "Pipeline has presence of disabled Snaps",
          "message_level": "Critical",
          "disabled": false,         
        },
        {
          "key": 7,
          "name": "Child Pipelines do not conform to standard naming convention",
          "description": "Child Pipelines do not conform to standard naming convention",
          "message_level": "Warning",
          "disabled": false,        
          },
        {
          "key": 8,
          "name": "Expression libraries have bad/unsupported naming conventions",
          "description": null,
          "message_level": null,
          "disabled": true,       
        },
        {
         "key": 9,
         "name": "Too many (>50) snaps",
         "description": "Pipeline does not have too many (>50) snaps",
         "message_level": "Info",
         "disabled": false,        
        },
        {
          "key": 10,
          "name": "Exceeds the Max Snap Count of 100",
          "description": "Pipeline has not exceeded the Max Snap Count of 100",
          "message_level": "Info",
          "disabled": false,        
        },
        {
          "key": 11,
          "name": "Too many (>5) go-to links",
          "description": "Pipeline has too many (>5) go-to links",
          "message_level": "Warning",
          "disabled": false,       
        }
        ] 
       },
       "http_status_code": 200
       }