class GithubGraphApi
Understands github graph api
Constants
- ENDPOINT
Public Class Methods
new(oauth_token)
click to toggle source
# File lib/github_graph_api.rb, line 8 def initialize(oauth_token) raise "You must provide an oauth token" unless oauth_token @oauth_token = oauth_token end
Public Instance Methods
fetch_vulnerabilities(project:, owner:)
click to toggle source
# File lib/github_graph_api.rb, line 14 def fetch_vulnerabilities(project:, owner:) uri = URI(ENDPOINT) https = Net::HTTP.new(uri.host, uri.port) # https.set_debug_output($stdout) https.use_ssl = true req = Net::HTTP::Post.new(uri.path, { "Authorization" => "bearer #{@oauth_token}" }) req.body = JSON[{ "query" => request_json(project: project, owner: owner) }] res = https.request(req) res.body end
Private Instance Methods
request_json(project:, owner:)
click to toggle source
# File lib/github_graph_api.rb, line 27 def request_json(project:, owner:) <<-HERE query{ repository(name: "#{project}", owner: "#{owner}") { vulnerabilityAlerts(first: 100) { nodes { createdAt dismissedAt securityVulnerability { package { name } advisory { description } } } } } } HERE end