## page was renamed from Bugs/ComponentHelp = Help for Launchpad Bugs Components = The Launchpad bugs app is often called "malone" which is the old project name on Launchpad. === Bug Imports === * Users provide XML file of data exported from their bug tracker * Always user initiated * We have a couple tools to help generate a file in the format we expect * ''list tools here'' * Users should ensure their XML file validates * Imports require [X] staging test runs, users to confirm data, then production run * See [[https://help.launchpad.net/Bugs/ImportFormat]] for more info === Bug Watches === * ./cronscripts/checkwatches.py does all the work * Referred to as just "checkwatches" * single threaded and blocking, but can be run multi-threaded * DB load caused us to fall back to single thread, but this performs well now as is * LP stats that help track this: * [[https://lpstats.canonical.com/graphs/BugsWithBugWatches/|Bugs with bug watches (less useful)]] * [[https://lpstats.canonical.com/graphs/BugWatchUncheckedOutdated/|Bug watches unchecked or outdated]] * [[https://lpstats.canonical.com/graphs/BugWatchDebbugs/|Debbugs watches unchecked or outdated]] * [[https://lpstats.canonical.com/graphs/BugWatchGnome/|Gnome bugzilla bug watches unchecked or outdated]] * Plugins are used for Trac and Bugzilla < 3.4, Bugzilla 3.4 and later can sync with us * https://help.launchpad.net/Bugs/BugzillaPlugin * https://help.launchpad.net/Bugs/TracPlugin * https://help.launchpad.net/Bugs/PluginAPISpec * Page scraping and other ugliness exists for other trackers * Watches sync status/importance and can sync comments if enabled === Bug task expiring === * ./cronscripts/expire-bugtasks.py * Runs daily via cron * Currently running just for Ubuntu due to backlog, but should be updated to run for all now === Bug Heat === * Runs largely via a trigger in app * Does have one garbo hourly bit running that decays heat for inactive bugs === Bug Mail === * ./cronscripts/send-bug-notifications.py * Most mail is sent offline * Subscribing mail notifications happen in web app * ''Thought there was something else in app but cannot confirm now'' * This script does not run in cron for staging/qastaging, so QA requires LOSA to run this for you === Bug Subscriptions === * Under heavy active development, handed off to Yellow Squad * Two types of subscriptions * Direct subscriptions to individual bugs * Structural subscriptions to bug targets (product, project, distribution, etc.) * Duplicate subscriptions are really just direct subscriptions to a bug looked up via a method * Several methods build the complete view of subscribers * Look at all the IBug.get*Subscribers methods or IBug.getSubscription* methods === Filing Bugs === * Duplicate search runs here * Duplicate search is configurable, so not everyone has to use it noe * Duplicate search rewritten to perform better but not as "catch all" so sometimes users will ask or comment about this === Editing Bugtask Attributes === * It is not always clear who can change status and opinion with the various roles we have * Look at the various IBugTask.userCan* methods to work out * ''Please for the love of all that is holy and good about bug tracking do not add more statuses'' === Email Interface === * Has yet to be moved into the lp code base * Lives at lib/canonical/launchpad/mail, interesting bits at canonical.launchpad.mail.commands === Updating CVEs === * ./cronscripts/update-cve.py * Fills in CVE page on Launchpad based on CVEs linked to bugs