Class: SemgrepWebApp::FindingsServiceApi

Inherits:
BaseApi
  • Object
show all
Defined in:
lib/semgrep_web_app/apis/findings_service_api.rb

Overview

FindingsServiceApi

Constant Summary

Constants inherited from BaseApi

BaseApi::GLOBAL_ERRORS

Instance Attribute Summary

Attributes inherited from BaseApi

#config, #http_call_back

Instance Method Summary collapse

Methods inherited from BaseApi

#initialize, #new_parameter, #new_request_builder, #new_response_handler, user_agent, user_agent_parameters

Constructor Details

This class inherits a constructor from SemgrepWebApp::BaseApi

Instance Method Details

#list_findings(deployment_slug, issue_type: IssueType2::SAST, since: nil, page: 0, dedup: false, page_size: 100, repos: nil, repository_ids: nil, status: nil, triage_reasons: nil, severities: nil, ref: nil, policies: nil, rules: nil, categories: nil, confidence: nil, autotriage_verdict: nil, component_tags: nil, exposures: nil, transitivities: nil, is_malicious: nil, click_to_fix_pr_state: nil) ⇒ ApiResponse

Request the list of code, supply chain, or AI-powered scan findings in an organization, paginated in pages of 100 entries and limited by the since timestamp. Findings are returned by relevant_since descending (see since in the Query Parameters list). Examples: List SAST findings with pagination, List SCA findings since timestamp, List AI-powered scan findings, List findings with filters. here here description here here here description here Example: description here type description here Example:

Parameters:

  • deployment_slug (String)

    Required parameter: TODO: type description

  • issue_type (IssueType2) (defaults to: IssueType2::SAST)

    Optional parameter: Example:sast

  • since (Float) (defaults to: nil)

    Optional parameter: TODO: type description here

  • page (Integer) (defaults to: 0)

    Optional parameter: Example:0

  • dedup (TrueClass | FalseClass) (defaults to: false)

    Optional parameter: Example:false

  • page_size (Integer) (defaults to: 100)

    Optional parameter: Example:100

  • repos (Array[String]) (defaults to: nil)

    Optional parameter: TODO: type description

  • repository_ids (Array[Integer]) (defaults to: nil)

    Optional parameter: TODO: type

  • status (Status9) (defaults to: nil)

    Optional parameter: Example:

  • triage_reasons (TriageReasons2) (defaults to: nil)

    Optional parameter: Example:

  • severities (Severities2) (defaults to: nil)

    Optional parameter: Example:

  • ref (String) (defaults to: nil)

    Optional parameter: TODO: type description here

  • policies (Array[String]) (defaults to: nil)

    Optional parameter: TODO: type description

  • rules (Array[String]) (defaults to: nil)

    Optional parameter: TODO: type description

  • categories (Array[String]) (defaults to: nil)

    Optional parameter: TODO: type

  • confidence (Confidence8) (defaults to: nil)

    Optional parameter: Example:

  • autotriage_verdict (AutotriageVerdict2) (defaults to: nil)

    Optional parameter:

  • component_tags (Array[String]) (defaults to: nil)

    Optional parameter: TODO: type

  • exposures (Exposures2) (defaults to: nil)

    Optional parameter: Example:

  • transitivities (Transitivities2) (defaults to: nil)

    Optional parameter: Example:

  • is_malicious (TrueClass | FalseClass) (defaults to: nil)

    Optional parameter: TODO:

  • click_to_fix_pr_state (ClickToFixPrState) (defaults to: nil)

    Optional parameter:

Returns:

  • (ApiResponse)

    Complete http response with raw body and status code.



48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
# File 'lib/semgrep_web_app/apis/findings_service_api.rb', line 48

def list_findings(deployment_slug,
                  issue_type: IssueType2::SAST,
                  since: nil,
                  page: 0,
                  dedup: false,
                  page_size: 100,
                  repos: nil,
                  repository_ids: nil,
                  status: nil,
                  triage_reasons: nil,
                  severities: nil,
                  ref: nil,
                  policies: nil,
                  rules: nil,
                  categories: nil,
                  confidence: nil,
                  autotriage_verdict: nil,
                  component_tags: nil,
                  exposures: nil,
                  transitivities: nil,
                  is_malicious: nil,
                  click_to_fix_pr_state: nil)
  @api_call
    .request(new_request_builder(HttpMethodEnum::GET,
                                 '/api/v1/deployments/{deploymentSlug}/findings',
                                 Server::SEMGREP)
               .template_param(new_parameter(deployment_slug, key: 'deploymentSlug')
                                .is_required(true)
                                .should_encode(true))
               .query_param(new_parameter(issue_type, key: 'issue_type'))
               .query_param(new_parameter(since, key: 'since'))
               .query_param(new_parameter(page, key: 'page'))
               .query_param(new_parameter(dedup, key: 'dedup'))
               .query_param(new_parameter(page_size, key: 'page_size'))
               .query_param(new_parameter(repos, key: 'repos'))
               .query_param(new_parameter(repository_ids, key: 'repository_ids'))
               .query_param(new_parameter(status, key: 'status'))
               .query_param(new_parameter(triage_reasons, key: 'triage_reasons'))
               .query_param(new_parameter(severities, key: 'severities'))
               .query_param(new_parameter(ref, key: 'ref'))
               .query_param(new_parameter(policies, key: 'policies'))
               .query_param(new_parameter(rules, key: 'rules'))
               .query_param(new_parameter(categories, key: 'categories'))
               .query_param(new_parameter(confidence, key: 'confidence'))
               .query_param(new_parameter(autotriage_verdict, key: 'autotriage_verdict'))
               .query_param(new_parameter(component_tags, key: 'component_tags'))
               .query_param(new_parameter(exposures, key: 'exposures'))
               .query_param(new_parameter(transitivities, key: 'transitivities'))
               .query_param(new_parameter(is_malicious, key: 'is_malicious'))
               .query_param(new_parameter(click_to_fix_pr_state, key: 'click_to_fix_pr_state'))
               .header_param(new_parameter('application/json', key: 'accept'))
               .auth(Single.new('SemgrepWebToken')))
    .response(new_response_handler
                .deserializer(APIHelper.method(:custom_type_deserializer))
                .deserialize_into(ApiV1DeploymentsFindingsResponse.method(:from_hash))
                .is_api_response(true))
    .execute
end