module PWN::Plugins::JiraServer

def self.authors

def self.authors
st.pentest@0dayinc.com>

def self.get_issue(opts = {})

def self.get_issue(opts = {})
s[:base_api_uri]
n]
gins::AuthenticationHelper.mask_password(
l Access Token'
e]
e cannot be nil.' if issue.nil?
se_api_uri,
e/#{issue}"
 => e

def self.help

def self.help
elf}.get_issue(
'required - base URI for Jira (e.g. https:/corp.jira.com/rest/api/latest)',
ed - bearer token',
ed - issue to lookup'
lf}.manual_call(
'required - base URI for Jira (e.g. https:/corp.jira.com/rest/api/latest)',
ed - bearer token',
d - API path to call, without beginning forward slash'

def self.manual_call(opts = {})

def self.manual_call(opts = {})
s[:base_api_uri]
n]
gins::AuthenticationHelper.mask_password(
l Access Token'

 cannot be nil.' if path.nil?
se_api_uri,
 => e

def self.rest_call(opts = {})

def self.rest_call(opts = {})
ts[:http_method].nil?
t
s[:http_method].to_s.scrub.to_sym
est_call].to_s.scrub
ms]
ttp_body].to_s.scrub
[:base_api_uri]
api_uri cannot be nil.' if base_api_uri.nil?
]
Plugins::TransparentBrowser.open(browser_type: :rest)
er_obj[:browser]::Request
ner.new
lient.execute(
i_uri}/#{rest_call}",
 'application/json; charset=UTF-8',
: "Bearer #{token}",
s
se
lient.execute(
i_uri}/#{rest_call}",
 'application/json; charset=UTF-8',
: "Bearer #{token}"
ody,
se
ror("Unsupported HTTP Method #{http_method} for #{self} Plugin")
, symbolize_names: true)
esponse => e
st', '404 Resource Not Found'
e.response}"
=> e