pwn 0.5.300 → 0.5.302

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 29a28418243b69187a691144f02e98af2035b5677a97d695e6d754647e690bfa
4
- data.tar.gz: 2b051a9224368f45365850f9ca63db4a14877551fd5e1311462bc6a243e4f2dc
3
+ metadata.gz: f1fbd47d7c9374e09b1e1d6478921b0e06074db6ba2a9397d4cc4c2ce002dc37
4
+ data.tar.gz: 7439dd249821d50724cd0170bf12aad128e7fef806a7ff690edcbfec9cb21534
5
5
  SHA512:
6
- metadata.gz: 8639069688fd8690d32087827d7e07267a773fa1e3fa52d5ed31b606261fa566e19b78a32e6a080ce3f26da49e59acac4e6046451177091e11dbc0c23f3f4caa
7
- data.tar.gz: f428cb4e47d8a4c6335ac4cebca99b0fb9206a12b62e60c11ac5de5b3ff62010356ac649f7e50b20d73e7e05efd9e6aea14513651a9d3ac0030230cef06cdf2d
6
+ metadata.gz: b53a71b82e5693e00de4ab453594e46c405cff6ff55eff71962ad6ea25f8d0dec2ec27706ca6826d215e15aa62fb9a268b6fba53aeff5961fc3d488222c388e8
7
+ data.tar.gz: 4a4719c806c9637161d7dfcbade0e0d7a4366525b9224b00217a5527d55cbff32fad3aa96b9576aa0ceeda392cf58db542f71d49fd9168ad95533db8af0f1eb6
data/README.md CHANGED
@@ -37,7 +37,7 @@ $ cd /opt/pwn
37
37
  $ ./install.sh
38
38
  $ ./install.sh ruby-gem
39
39
  $ pwn
40
- pwn[v0.5.300]:001 >>> PWN.help
40
+ pwn[v0.5.302]:001 >>> PWN.help
41
41
  ```
42
42
 
43
43
  [![Installing the pwn Security Automation Framework](https://raw.githubusercontent.com/0dayInc/pwn/master/documentation/pwn_install.png)](https://youtu.be/G7iLUY4FzsI)
@@ -52,7 +52,7 @@ $ rvm use ruby-3.4.4@pwn
52
52
  $ gem uninstall --all --executables pwn
53
53
  $ gem install --verbose pwn
54
54
  $ pwn
55
- pwn[v0.5.300]:001 >>> PWN.help
55
+ pwn[v0.5.302]:001 >>> PWN.help
56
56
  ```
57
57
 
58
58
  If you're using a multi-user install of RVM do:
@@ -62,7 +62,7 @@ $ rvm use ruby-3.4.4@pwn
62
62
  $ rvmsudo gem uninstall --all --executables pwn
63
63
  $ rvmsudo gem install --verbose pwn
64
64
  $ pwn
65
- pwn[v0.5.300]:001 >>> PWN.help
65
+ pwn[v0.5.302]:001 >>> PWN.help
66
66
  ```
67
67
 
68
68
  PWN periodically upgrades to the latest version of Ruby which is reflected in `/opt/pwn/.ruby-version`. The easiest way to upgrade to the latest version of Ruby from a previous PWN installation is to run the following script:
@@ -82,10 +82,15 @@ module PWN
82
82
  raise @@logger.error("Unsupported HTTP Method #{http_method} for #{self} Plugin")
83
83
  end
84
84
 
85
- jira_response = response if response.is_a?(RestClient::Response) && response.code == 204
86
- jira_response = JSON.parse(response, symbolize_names: true) if response.is_a?(RestClient::Response) && response.code != 204
85
+ case response.code
86
+ when 201, 204
87
+ response = { http_response_code: response.code }
88
+ else
89
+ response = JSON.parse(response, symbolize_names: true) if response.is_a?(RestClient::Response)
90
+ response[:http_response_code] = response.code if response.is_a?(RestClient::Response)
91
+ end
87
92
 
88
- jira_response
93
+ response
89
94
  rescue RestClient::ExceptionWithResponse => e
90
95
  if e.response
91
96
  puts "HTTP BASE URL: #{base_api_uri}"
@@ -219,7 +224,8 @@ module PWN
219
224
  # description: 'optional - description of the issue',
220
225
  # epic_name: 'optional - name of the epic',
221
226
  # additional_fields: 'optional - additional fields to set in the issue (e.g. labels, components, custom fields, etc.)'
222
- # attachment: 'optional - attachment path to upload to the issue (e.g. "/path/to/file1.txt")'
227
+ # attachments: 'optional - array of attachment paths to upload to the issue (e.g. ["/tmp/file1.txt", "/tmp/file2.txt"])',
228
+ # comment: 'optional - comment to add to the issue (e.g. "This is a comment")'
223
229
  # )
224
230
 
225
231
  public_class_method def self.create_issue(opts = {})
@@ -243,8 +249,10 @@ module PWN
243
249
  additional_fields = opts[:additional_fields] ||= { fields: {} }
244
250
  raise 'ERROR: additional_fields Hash must contain a :fields key that is also a Hash.' unless additional_fields.is_a?(Hash) && additional_fields.key?(:fields) && additional_fields[:fields].is_a?(Hash)
245
251
 
246
- attachment = opts[:attachment]
247
- raise "ERROR: #{attachment} not found." unless attachment.nil? || File.exist?(attachment)
252
+ attachments = opts[:attachments] ||= []
253
+ raise 'ERROR: attachments must be an Array.' unless attachments.is_a?(Array)
254
+
255
+ comment = opts[:comment]
248
256
 
249
257
  all_fields = get_all_fields(base_api_uri: base_api_uri, token: token)
250
258
  epic_name_field_key = all_fields.find { |field| field[:name] == 'Epic Name' }[:id]
@@ -275,19 +283,39 @@ module PWN
275
283
  http_body: http_body
276
284
  )
277
285
 
278
- if attachment.any?
286
+ if attachments.any?
287
+ issue = issue_resp[:key]
288
+
289
+ attachments.each do |attachment|
290
+ raise "ERROR: #{attachment} not found." unless File.exist?(attachment)
291
+
292
+ http_body = {
293
+ multipart: true,
294
+ file: File.new(attachment, 'rb')
295
+ }
296
+
297
+ rest_call(
298
+ http_method: :post,
299
+ base_api_uri: base_api_uri,
300
+ token: token,
301
+ rest_call: "issue/#{issue}/attachments",
302
+ http_body: http_body
303
+ )
304
+ end
305
+ end
306
+
307
+ if comment
279
308
  issue = issue_resp[:key]
280
309
 
281
310
  http_body = {
282
- multipart: true,
283
- file: File.new(attachment, 'rb')
311
+ body: comment
284
312
  }
285
313
 
286
314
  rest_call(
287
315
  http_method: :post,
288
316
  base_api_uri: base_api_uri,
289
317
  token: token,
290
- rest_call: "issue/#{issue}/attachments",
318
+ rest_call: "issue/#{issue}/comment",
291
319
  http_body: http_body
292
320
  )
293
321
  end
@@ -302,7 +330,7 @@ module PWN
302
330
  # base_api_uri: 'required - base URI for Jira (e.g. https:/jira.corp.com/rest/api/latest)',
303
331
  # token: 'required - personal access token',
304
332
  # fields: 'required - fields to update in the issue (e.g. summary, description, labels, components, custom fields, etc.)',
305
- # attachment: 'optional - attachment path to upload to the issue (e.g. "/path/to/file1.txt")'
333
+ # attachments: 'optional - array of attachment paths to upload to the issue (e.g. ["/tmp/file1.txt", "/tmp/file2.txt"])',
306
334
  # )
307
335
 
308
336
  public_class_method def self.update_issue(opts = {})
@@ -318,8 +346,8 @@ module PWN
318
346
  fields = opts[:fields] ||= { fields: {} }
319
347
  raise 'ERROR: fields Hash must contain a :fields key that is also a Hash.' unless fields.is_a?(Hash) && fields.key?(:fields) && fields[:fields].is_a?(Hash)
320
348
 
321
- attachment = opts[:attachment]
322
- raise "ERROR: #{attachment} not found." unless File.exist?(attachment) || attachment.nil?
349
+ attachments = opts[:attachments] ||= []
350
+ raise 'ERROR: attachments must be an Array.' unless attachments.is_a?(Array)
323
351
 
324
352
  http_body = fields
325
353
 
@@ -331,19 +359,23 @@ module PWN
331
359
  http_body: http_body
332
360
  )
333
361
 
334
- if attachment.any?
335
- http_body = {
336
- multipart: true,
337
- file: File.new(attachment, 'rb')
338
- }
339
-
340
- rest_call(
341
- http_method: :post,
342
- base_api_uri: base_api_uri,
343
- token: token,
344
- rest_call: "issue/#{issue}/attachments",
345
- http_body: http_body
346
- )
362
+ if attachments.any?
363
+ attachments.each do |attachment|
364
+ raise "ERROR: #{attachment} not found." unless File.exist?(attachment)
365
+
366
+ http_body = {
367
+ multipart: true,
368
+ file: File.new(attachment, 'rb')
369
+ }
370
+
371
+ rest_call(
372
+ http_method: :post,
373
+ base_api_uri: base_api_uri,
374
+ token: token,
375
+ rest_call: "issue/#{issue}/attachments",
376
+ http_body: http_body
377
+ )
378
+ end
347
379
  end
348
380
 
349
381
  issue_resp
@@ -351,6 +383,61 @@ module PWN
351
383
  raise e
352
384
  end
353
385
 
386
+ # Supported Method Parameters::
387
+ # issue_resp = PWN::Plugins::JiraServer.issue_comment(
388
+ # base_api_uri: 'required - base URI for Jira (e.g. https:/jira.corp.com/rest/api/latest)',
389
+ # token: 'required - personal access token',
390
+ # issue: 'required - issue to delete (e.g. Bug, Issue, Story, or Epic ID)',
391
+ # comment_action: 'required - action to perform on the issue comment (e.g. :delete, :add, :update - Defaults to :add)',
392
+ # comment_id: 'optional - comment ID to delete or update (e.g. 10000)',
393
+ # comment: 'optional - comment to add or update in the issue (e.g. "This is a comment")'
394
+ # )
395
+
396
+ public_class_method def self.issue_comment(opts = {})
397
+ base_api_uri = opts[:base_api_uri]
398
+
399
+ token = opts[:token]
400
+ token ||= PWN::Plugins::AuthenticationHelper.mask_password(
401
+ prompt: 'Personal Access Token'
402
+ )
403
+
404
+ issue = opts[:issue]
405
+ raise 'ERROR: issue cannot be nil.' if issue.nil?
406
+
407
+ comment_action = opts[:comment_action] ||= :add
408
+ raise 'ERROR: comment_action must be one of :delete, :add, or :update.' unless %i[delete add update].include?(comment_action)
409
+
410
+ comment_id = opts[:comment_id]
411
+ raise 'ERROR: comment_id cannot be nil when comment_action is :delete or :update.' unless %i[delete update].include?(comment_action) || comment_id.nil?
412
+
413
+ comment = opts[:comment].to_s.scrub
414
+
415
+ case comment_action
416
+ when :add
417
+ http_method = :post
418
+ rest_call = "issue/#{issue}/comment"
419
+ http_body = { body: comment }
420
+ when :delete
421
+ http_method = :delete
422
+ rest_call = "issue/#{issue}/comment/#{comment_id}"
423
+ http_body = nil
424
+ when :update
425
+ http_method = :put
426
+ rest_call = "issue/#{issue}/comment/#{comment_id}"
427
+ http_body = { body: comment }
428
+ end
429
+
430
+ rest_call(
431
+ http_method: http_method,
432
+ base_api_uri: base_api_uri,
433
+ token: token,
434
+ rest_call: rest_call,
435
+ http_body: http_body
436
+ )
437
+ rescue StandardError => e
438
+ raise e
439
+ end
440
+
354
441
  # Supported Method Parameters::
355
442
  # issue_resp = PWN::Plugins::JiraServer.delete_issue(
356
443
  # base_api_uri: 'required - base URI for Jira (e.g. https:/jira.corp.com/rest/api/latest)',
@@ -367,7 +454,6 @@ module PWN
367
454
  )
368
455
 
369
456
  issue = opts[:issue]
370
-
371
457
  raise 'ERROR: issue cannot be nil.' if issue.nil?
372
458
 
373
459
  rest_call(
@@ -380,6 +466,34 @@ module PWN
380
466
  raise e
381
467
  end
382
468
 
469
+ # Supported Method Parameters::
470
+ # issue_resp = PWN::Plugins::JiraServer.delete_attachment(
471
+ # base_api_uri: 'required - base URI for Jira (e.g. https:/jira.corp.com/rest/api/latest)',
472
+ # token: 'required - personal access token',
473
+ # id: 'required - attachment ID to delete (e.g. 10000) found in #get_issue method'
474
+ # )
475
+
476
+ public_class_method def self.delete_attachment(opts = {})
477
+ base_api_uri = opts[:base_api_uri]
478
+
479
+ token = opts[:token]
480
+ token ||= PWN::Plugins::AuthenticationHelper.mask_password(
481
+ prompt: 'Personal Access Token'
482
+ )
483
+
484
+ id = opts[:id]
485
+ raise 'ERROR: attachment_id cannot be nil.' if id.nil?
486
+
487
+ rest_call(
488
+ http_method: :delete,
489
+ base_api_uri: base_api_uri,
490
+ token: token,
491
+ rest_call: "attachment/#{id}"
492
+ )
493
+ rescue StandardError => e
494
+ raise e
495
+ end
496
+
383
497
  # Author(s):: 0day Inc. <support@0dayinc.com>
384
498
 
385
499
  public_class_method def self.authors
@@ -431,12 +545,27 @@ module PWN
431
545
  attachment: 'optional - attachment path to upload to the issue (e.g. \"/path/to/file1.txt\")'
432
546
  )
433
547
 
548
+ issue_resp = #{self}.issue_comment(
549
+ base_api_uri: 'required - base URI for Jira (e.g. https:/jira.corp.com/rest/api/latest)',
550
+ token: 'required - personal access token',
551
+ issue: 'required - issue to comment on (e.g. Bug, Issue, Story, or Epic ID)',
552
+ comment_action: 'required - action to perform on the issue comment (e.g. :delete, :add, :update - Defaults to :add)',
553
+ comment_id: 'optional - comment ID to delete or update (e.g. 10000)',
554
+ comment: 'optional - comment to add or update in the issue (e.g. \"This is a comment\")'
555
+ )
556
+
434
557
  issue_resp = #{self}.delete_issue(
435
558
  base_api_uri: 'required - base URI for Jira (e.g. https:/jira.corp.com/rest/api/latest)',
436
559
  token: 'required - personal access token',
437
560
  issue: 'required - issue to delete (e.g. Bug, Issue, Story, or Epic ID)'
438
561
  )
439
562
 
563
+ issue_resp = #{self}.delete_attachment(
564
+ base_api_uri: 'required - base URI for Jira (e.g. https:/jira.corp.com/rest/api/latest)',
565
+ token: 'required - personal access token',
566
+ id: 'required - attachment ID to delete (e.g. 10000) found in #get_issue method'
567
+ )
568
+
440
569
  **********************************************************************
441
570
  * For more information on the Jira Server REST API, see:
442
571
  * https://developer.atlassian.com/server/jira/platform/rest-apis/
data/lib/pwn/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PWN
4
- VERSION = '0.5.300'
4
+ VERSION = '0.5.302'
5
5
  end
@@ -665,13 +665,14 @@
665
665
  {"messages":[{"role":"user","content":"PWN::Plugins::Jenkins.list_nested_jobs Usage"},{"role":"assistant","content":"`PWN::Plugins::Jenkins.list_nested_jobs`: Supported Method Parameters\n\nPWN::Plugins::Jenkins.list_nested_jobs(\n\njenkins_obj: 'required jenkins_obj returned from #connect method',\nview_path: 'required view path to list jobs'\n\n)\n"}]}
666
666
  {"messages":[{"role":"user","content":"PWN::Plugins::Jenkins.list_nested_views Usage"},{"role":"assistant","content":"`PWN::Plugins::Jenkins.list_nested_views`: Supported Method Parameters\n\nPWN::Plugins::Jenkins.list_nested_views(\n\njenkins_obj: 'required jenkins_obj returned from #connect method',\nview_path: 'required view path list sub-views'\n\n)\n"}]}
667
667
  {"messages":[{"role":"user","content":"PWN::Plugins::JiraServer.authors Usage"},{"role":"assistant","content":"`PWN::Plugins::JiraServer.authors`: Author(s)\n\n0day Inc. <support@0dayinc.com>\n"}]}
668
- {"messages":[{"role":"user","content":"PWN::Plugins::JiraServer.create_issue Usage"},{"role":"assistant","content":"`PWN::Plugins::JiraServer.create_issue`: Supported Method Parameters\n\nissue_resp = PWN::Plugins::JiraServer.create_issue(\n\nbase_api_uri: 'required - base URI for Jira (e.g. https:/jira.corp.com/rest/api/latest)',\ntoken: 'required - bearer token',\nproject_key: 'required - project key (e.g. PWN)',\nsummary: 'required - summary of the issue (e.g. Epic for PWN-1337)',\nissue_type: 'required - issue type (e.g. :epic, :story, :bug)',\ndescription: 'optional - description of the issue',\nepic_name: 'optional - name of the epic',\nadditional_fields: 'optional - additional fields to set in the issue (e.g. labels, components, custom fields, etc.)'\nattachments: 'optional - array of attachment paths to upload to the issue (e.g. [\"/path/to/file1.txt\", \"/path/to/file2.png\"])'\n\n)\n"}]}
669
- {"messages":[{"role":"user","content":"PWN::Plugins::JiraServer.delete_issue Usage"},{"role":"assistant","content":"`PWN::Plugins::JiraServer.delete_issue`: Supported Method Parameters\n\nissue_resp = PWN::Plugins::JiraServer.delete_issue(\n\nbase_api_uri: 'required - base URI for Jira (e.g. https:/jira.corp.com/rest/api/latest)',\ntoken: 'required - bearer token',\nissue: 'required - issue to delete (e.g. Bug, Issue, Story, or Epic ID)'\n\n)\n"}]}
670
- {"messages":[{"role":"user","content":"PWN::Plugins::JiraServer.get_all_fields Usage"},{"role":"assistant","content":"`PWN::Plugins::JiraServer.get_all_fields`: Supported Method Parameters\n\nall_fields = PWN::Plugins::JiraServer.get_all_fields(\n\nbase_api_uri: 'required - base URI for Jira (e.g. https:/jira.corp.com/rest/api/latest)',\ntoken: 'required - bearer token'\n\n)\n"}]}
671
- {"messages":[{"role":"user","content":"PWN::Plugins::JiraServer.get_issue Usage"},{"role":"assistant","content":"`PWN::Plugins::JiraServer.get_issue`: Supported Method Parameters\n\nissue_resp = PWN::Plugins::JiraServer.get_issue(\n\nbase_api_uri: 'required - base URI for Jira (e.g. https:/jira.corp.com/rest/api/latest)',\ntoken: 'required - bearer token',\nissue: 'required - issue to lookup (e.g. Bug, Issue, Story, or Epic ID)',\nparams: 'optional - additional parameters to pass in the URI (e.g. fields, expand, etc.)'\n\n)\n"}]}
668
+ {"messages":[{"role":"user","content":"PWN::Plugins::JiraServer.create_issue Usage"},{"role":"assistant","content":"`PWN::Plugins::JiraServer.create_issue`: Supported Method Parameters\n\nissue_resp = PWN::Plugins::JiraServer.create_issue(\n\nbase_api_uri: 'required - base URI for Jira (e.g. https:/jira.corp.com/rest/api/latest)',\ntoken: 'required - personal access token',\nproject_key: 'required - project key (e.g. PWN)',\nsummary: 'required - summary of the issue (e.g. Epic for PWN-1337)',\nissue_type: 'required - issue type (e.g. :epic, :story, :bug)',\ndescription: 'optional - description of the issue',\nepic_name: 'optional - name of the epic',\nadditional_fields: 'optional - additional fields to set in the issue (e.g. labels, components, custom fields, etc.)'\nattachment: 'optional - attachment path to upload to the issue (e.g. \"/path/to/file1.txt\")'\n\n)\n"}]}
669
+ {"messages":[{"role":"user","content":"PWN::Plugins::JiraServer.delete_issue Usage"},{"role":"assistant","content":"`PWN::Plugins::JiraServer.delete_issue`: Supported Method Parameters\n\nissue_resp = PWN::Plugins::JiraServer.delete_issue(\n\nbase_api_uri: 'required - base URI for Jira (e.g. https:/jira.corp.com/rest/api/latest)',\ntoken: 'required - personal access token',\nissue: 'required - issue to delete (e.g. Bug, Issue, Story, or Epic ID)'\n\n)\n"}]}
670
+ {"messages":[{"role":"user","content":"PWN::Plugins::JiraServer.get_all_fields Usage"},{"role":"assistant","content":"`PWN::Plugins::JiraServer.get_all_fields`: Supported Method Parameters\n\nall_fields = PWN::Plugins::JiraServer.get_all_fields(\n\nbase_api_uri: 'required - base URI for Jira (e.g. https:/jira.corp.com/rest/api/latest)',\ntoken: 'required - personal access token'\n\n)\n"}]}
671
+ {"messages":[{"role":"user","content":"PWN::Plugins::JiraServer.get_issue Usage"},{"role":"assistant","content":"`PWN::Plugins::JiraServer.get_issue`: Supported Method Parameters\n\nissue_resp = PWN::Plugins::JiraServer.get_issue(\n\nbase_api_uri: 'required - base URI for Jira (e.g. https:/jira.corp.com/rest/api/latest)',\ntoken: 'required - personal access token',\nissue: 'required - issue to lookup (e.g. Bug, Issue, Story, or Epic ID)',\nparams: 'optional - additional parameters to pass in the URI (e.g. fields, expand, etc.)'\n\n)\n"}]}
672
+ {"messages":[{"role":"user","content":"PWN::Plugins::JiraServer.get_user Usage"},{"role":"assistant","content":"`PWN::Plugins::JiraServer.get_user`: Supported Method Parameters\n\nuser = PWN::Plugins::JiraServer.get_user(\n\nbase_api_uri: 'required - base URI for Jira (e.g. https:/jira.corp.com/rest/api/latest)',\ntoken: 'required - personal access token',\nusername: 'required - username to lookup (e.g. jane.doe)',\nparams: 'optional - additional parameters to pass in the URI (e.g. expand, etc.)'\n\n)\n"}]}
672
673
  {"messages":[{"role":"user","content":"PWN::Plugins::JiraServer.help Usage"},{"role":"assistant","content":"`PWN::Plugins::JiraServer.help`: "}]}
673
- {"messages":[{"role":"user","content":"PWN::Plugins::JiraServer.rest_call Usage"},{"role":"assistant","content":"`PWN::Plugins::JiraServer.rest_call`: Supported Method Parameters\n\nrest_call(\n\ntoken: 'required - bearer token',\nhttp_method: 'optional HTTP method (defaults to GET)',\nrest_call: 'required rest call to make per the schema',\nparams: 'optional params passed in the URI or HTTP Headers',\nhttp_body: 'optional HTTP body sent in HTTP methods that support it e.g. POST'\n\n)\n"}]}
674
- {"messages":[{"role":"user","content":"PWN::Plugins::JiraServer.update_issue Usage"},{"role":"assistant","content":"`PWN::Plugins::JiraServer.update_issue`: Supported Method Parameters\n\nissue_resp = PWN::Plugins::JiraServer.update_issue(\n\nbase_api_uri: 'required - base URI for Jira (e.g. https:/jira.corp.com/rest/api/latest)',\ntoken: 'required - bearer token',\nfields: 'required - fields to update in the issue (e.g. summary, description, labels, components, custom fields, etc.)'\n\n)\n"}]}
674
+ {"messages":[{"role":"user","content":"PWN::Plugins::JiraServer.rest_call Usage"},{"role":"assistant","content":"`PWN::Plugins::JiraServer.rest_call`: Supported Method Parameters\n\nrest_call(\n\ntoken: 'required - personal access token',\nhttp_method: 'optional HTTP method (defaults to GET)',\nrest_call: 'required rest call to make per the schema',\nparams: 'optional params passed in the URI or HTTP Headers',\nhttp_body: 'optional HTTP body sent in HTTP methods that support it e.g. POST'\n\n)\n"}]}
675
+ {"messages":[{"role":"user","content":"PWN::Plugins::JiraServer.update_issue Usage"},{"role":"assistant","content":"`PWN::Plugins::JiraServer.update_issue`: Supported Method Parameters\n\nissue_resp = PWN::Plugins::JiraServer.update_issue(\n\nbase_api_uri: 'required - base URI for Jira (e.g. https:/jira.corp.com/rest/api/latest)',\ntoken: 'required - personal access token',\nfields: 'required - fields to update in the issue (e.g. summary, description, labels, components, custom fields, etc.)',\nattachment: 'optional - attachment path to upload to the issue (e.g. \"/path/to/file1.txt\")'\n\n)\n"}]}
675
676
  {"messages":[{"role":"user","content":"PWN::Plugins::Log.append Usage"},{"role":"assistant","content":"`PWN::Plugins::Log.append`: Supported Method Parameters\n\nPWN::Log.create( )\n"}]}
676
677
  {"messages":[{"role":"user","content":"PWN::Plugins::Log.authors Usage"},{"role":"assistant","content":"`PWN::Plugins::Log.authors`: Author(s)\n\n0day Inc. <support@0dayinc.com>\n"}]}
677
678
  {"messages":[{"role":"user","content":"PWN::Plugins::Log.help Usage"},{"role":"assistant","content":"`PWN::Plugins::Log.help`: "}]}
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pwn
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.300
4
+ version: 0.5.302
5
5
  platform: ruby
6
6
  authors:
7
7
  - 0day Inc.