The update_issuelib_entries.rb shows you different ways to update your IssueLibrary entries with a quick script rather than one at a time.
It updates all of the IssueLibrary entries on your instance. If a plugin_id
field exists, it replaces it with a nessus_id
field. And, the script adds a new Status
field to every entry.
To add a new field, we harnass a loop like the following:
Dradis::Pro::Issuelib::Entry.find do |libentry| libentry.content << "\r\n\r\n#[Status]#\r\nOpen | Closed\r\n" puts "Adding fields to IssueLibrary entry #{libentry.id}" libentry.save end
This adds the following content to each entry in the IssueLibrary:
#[Status]#
Open | Closed
To find and replace an existing field in the entries, we instead use an if
loop:
Dradis::Pro::Issuelib::Entry.find do |libentry| if libentry.content.include? "#[plugin_id]#" libentry.content.sub!('#[plugin_id]#', '#[nessus_id]#') libentry.save puts "Replacing fields in IssueLibrary entry #{libentry.id}" end end
The loop above would change any plugin_id
fields to nessus_id
fields.
This script is part of our scripting repository on GitHub. Check out the link for more scripting examples!
Great job, you reached the end of the guide! Have you read all of them?
Your email is kept private. We don't do the spam thing.