Class: Veracode::API::Mitigiation

Inherits:
Base
  • Object
show all
Defined in:
lib/veracode/mitigation.rb

Constant Summary collapse

GET_MITIGATION_INFO_URI =
"/api/getmitigationinfo.do"
UPDATE_MITIGATION_INFO_URI =
"/api/updatemitigationinfo.do"
ACTIONS =
["comment", "fp", "appdesign", "osenv", "netenv", "rejected", "accepted"]

Constants inherited from Base

Base::VERACODE_REQ_VER

Instance Attribute Summary

Attributes inherited from Base

#account_id

Instance Method Summary collapse

Methods inherited from Base

#getXML, #initialize, #postAPI

Constructor Details

This class inherits a constructor from Veracode::API::Base

Instance Method Details

#get_mitigation(build_id, flaw_list = []) ⇒ Object



37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# File 'lib/veracode/mitigation.rb', line 37

def get_mitigation(build_id, flaw_list=[])
   if flaw_list.class? == Array
     flaw_id_list = flaw_list.join(",")
   else
     flaw_id_list = flaw_list.to_s
   end
   
   query = { :build_id => build_id,  :flaw_id_list => flaw_id_list }
    
   xml = postAPI(GET_MITIGATION_INFO_URI, query)
   case xml.code
  when 200
     clean_xml = xml.body.strip
     parsed = Veracode::Parser.parse(clean_xml) 
     mitigationinfo = Veracode::Result::MitigationInfo.new(parsed)
   else
      xml.error!
   end
end

#update_mitigation(build_id, comment, action = "comment", flaw_list = []) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/veracode/mitigation.rb', line 13

def update_mitigation(build_id, comment, action="comment", flaw_list=[]) 
  if flaw_list.class? == Array
     flaw_id_list = flaw_list.join(",")
   else
     flaw_id_list = flaw_list.to_s
   end
   
   if ACTIONS.include?(action)        
     query = { :build_id => build_id,  :flaw_id_list => flaw_id_list, :action => action, :comment => comment }
    
     xml = postAPI(UPDATE_MITIGATION_INFO_URI, query)
     case xml.code
     when 200
        clean_xml = xml.body.strip
        parsed = Veracode::Parser.parse(clean_xml) 
        mitigationinfo = Veracode::Result::MitigationInfo.new(parsed)
     else
        xml.error!
     end
   else
     ArgumentError.new("invalid value for action: \"#{self}\"")
   end
end