CINXE.COM
Bugzilla:Developers - MozillaWiki
<!DOCTYPE html> <html class="client-nojs" lang="en" dir="ltr"> <head> <meta charset="UTF-8"/> <title>Bugzilla:Developers - MozillaWiki</title> <script>document.documentElement.className="client-js";RLCONF={"wgBreakFrames":false,"wgSeparatorTransformTable":["",""],"wgDigitTransformTable":["",""],"wgDefaultDateFormat":"dmy","wgMonthNames":["","January","February","March","April","May","June","July","August","September","October","November","December"],"wgRequestId":"00270ebb5b1d522552d40231","wgCSPNonce":false,"wgCanonicalNamespace":"Bugzilla","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":122,"wgPageName":"Bugzilla:Developers","wgTitle":"Developers","wgCurRevisionId":1027090,"wgRevisionId":1027090,"wgArticleId":19715,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":["Bugzilla"],"wgPageContentLanguage":"en","wgPageContentModel":"wikitext","wgRelevantPageName":"Bugzilla:Developers","wgRelevantArticleId":19715,"wgIsProbablyEditable":false,"wgRelevantPageIsProbablyEditable":false,"wgRestrictionEdit":[],"wgRestrictionMove":[],"wgPageFormsTargetName":null, "wgPageFormsAutocompleteValues":[],"wgPageFormsAutocompleteOnAllChars":false,"wgPageFormsFieldProperties":[],"wgPageFormsCargoFields":[],"wgPageFormsDependentFields":[],"wgPageFormsCalendarValues":[],"wgPageFormsCalendarParams":[],"wgPageFormsCalendarHTML":null,"wgPageFormsGridValues":[],"wgPageFormsGridParams":[],"wgPageFormsContLangYes":null,"wgPageFormsContLangNo":null,"wgPageFormsContLangMonths":[],"wgPageFormsHeightForMinimizingInstances":800,"wgPageFormsShowOnSelect":[],"wgPageFormsScriptPath":"/extensions/PageForms","edgValues":null,"wgPageFormsEDSettings":null,"wgAmericanDates":false,"wgMFDisplayWikibaseDescriptions":{"search":false,"nearby":false,"watchlist":false,"tagline":false},"wgVector2022PreviewPages":[]};RLSTATE={"site.styles":"ready","user.styles":"ready","user":"ready","user.options":"loading","skins.vector.styles.legacy":"ready"};RLPAGEMODULES=["site","mediawiki.page.ready","skins.vector.legacy.js","ext.Bugzilla"];</script> <script>(RLQ=window.RLQ||[]).push(function(){mw.loader.implement("user.options@12s5i",function($,jQuery,require,module){mw.user.tokens.set({"patrolToken":"+\\","watchToken":"+\\","csrfToken":"+\\"});});});</script> <link rel="stylesheet" href="/load.php?lang=en&modules=skins.vector.styles.legacy&only=styles&skin=vector"/> <script async="" src="/load.php?lang=en&modules=startup&only=scripts&raw=1&skin=vector"></script> <meta name="ResourceLoaderDynamicStyles" content=""/> <link rel="stylesheet" href="/load.php?lang=en&modules=site.styles&only=styles&skin=vector"/> <meta name="generator" content="MediaWiki 1.39.10"/> <meta name="format-detection" content="telephone=no"/> <meta name="viewport" content="width=1000"/> <link rel="icon" href="/images/favicon.ico"/> <link rel="search" type="application/opensearchdescription+xml" href="/opensearch_desc.php" title="MozillaWiki (en)"/> <link rel="EditURI" type="application/rsd+xml" href="https://wiki.mozilla.org/api.php?action=rsd"/> <link rel="alternate" type="application/atom+xml" title="MozillaWiki Atom feed" href="/index.php?title=Special:RecentChanges&feed=atom"/> </head> <body class="mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-122 ns-subject page-Bugzilla_Developers rootpage-Bugzilla_Developers skin-vector action-view skin-vector-legacy vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-language-alert-in-sidebar-disabled vector-feature-sticky-header-disabled vector-feature-sticky-header-edit-disabled vector-feature-table-of-contents-disabled vector-feature-visual-enhancement-next-disabled"><div id="mw-page-base" class="noprint"></div> <div id="mw-head-base" class="noprint"></div> <div id="content" class="mw-body" role="main"> <a id="top"></a> <div id="siteNotice"></div> <div class="mw-indicators"> </div> <h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-namespace">Bugzilla</span><span class="mw-page-title-separator">:</span><span class="mw-page-title-main">Developers</span></h1> <div id="bodyContent" class="vector-body"> <div id="siteSub" class="noprint">From MozillaWiki</div> <div id="contentSub"></div> <div id="contentSub2"></div> <div id="jump-to-nav"></div> <a class="mw-jump-link" href="#mw-head">Jump to navigation</a> <a class="mw-jump-link" href="#searchInput">Jump to search</a> <div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="en" dir="ltr"><div class="mw-parser-output"><p>So, you want to help out with Bugzilla development! Great! Here's what you should do (most items have a link to more details): </p><p>1. <a href="/Bugzilla:Developers:Introduction" title="Bugzilla:Developers:Introduction">Introduce yourself on the developers mailing list</a>. </p><p>2. If you don't know what you'd like to work on, look at the <a rel="nofollow" class="external text" href="https://bugzilla.mozilla.org/buglist.cgi?resolution=---&status_whiteboard_type=allwordssubstr&query_format=advanced&status_whiteboard=good%20first%20bug&product=Bugzilla&list_id=10111040">list of bugs we've marked as being good for newcomers</a>. If you already know what you want to work on, first <a rel="nofollow" class="external text" href="https://bugzilla.mozilla.org/query.cgi?product=Bugzilla&resolution=---&format=advanced">check if a bug has already been filed for it</a>, and then check that bug's <a href="/Bugzilla:Priority_System" title="Bugzilla:Priority System">priority</a>. </p><p>3. <a href="/Bugzilla:Communicate" title="Bugzilla:Communicate">Get in communication with the Bugzilla developers</a>, and talk about what you want to do. This makes it easy for us to tell you "Oh, we're already working on that, you can help!" or "Oh, the best way to do that would be..." </p><p>4. <a href="/Bugzilla:Git" title="Bugzilla:Git">Check out the latest Bugzilla code from git</a>. You always want to work against the master branch of Bugzilla, not a released version, if you're writing patches that you want us to accept. </p><p>5. Write some code. Make sure that you follow the <a rel="nofollow" class="external text" href="http://www.bugzilla.org/docs/developer.html">Developer's Guide</a>. If you're new, you don't have to read the whole thing. Just read the <a rel="nofollow" class="external text" href="http://www.bugzilla.org/docs/developer.html#general">General Guidelines</a>, the <a rel="nofollow" class="external text" href="http://www.bugzilla.org/docs/developer.html#perl-style">Style</a> section, and any other part that you think applies to the code that you're writing. Make sure that your patch is <a href="/Bugzilla:Simple_Patches" title="Bugzilla:Simple Patches">as simple and small as possible</a>. And make sure that you <a href="/Bugzilla:Developers:Licensing" title="Bugzilla:Developers:Licensing">license each file correctly</a>. </p><p>6. Test your code. Make sure it works, and run ./runtests.pl in the Bugzilla directory. Also use <a rel="nofollow" class="external text" href="http://validator.w3.org">the HTML validator</a> to make sure your code generates valid HTML, if you modified any of Bugzilla's HTML. </p><p>7. <a href="/Bugzilla:Patches" title="Bugzilla:Patches">Make a patch</a> </p><p>8. <a href="/Bugzilla:Submitting_Patches" title="Bugzilla:Submitting Patches">Submit your patch in Bugzilla</a> </p><p>9. <a href="/Bugzilla:Review" title="Bugzilla:Review">Ask for review</a> </p><p>10. Once your bug has passed review, the reviewer will ask for "approval". When approval is granted, you or the reviewer can push the patch to Git. </p><p>11. <a href="/Bugzilla:Committing_Patches" title="Bugzilla:Committing Patches">Push your patch</a>, or get somebody else to push it for you. </p> <h2><span class="mw-headline" id="Articles_and_Policies">Articles and Policies</span></h2> <p>These are various essays and guides that help with Bugzilla development. </p> <ul><li><a href="/Bugzilla:UI_Design" title="Bugzilla:UI Design">Bugzilla:UI_Design</a></li> <li><a href="/Bugzilla:Simple_Patches" title="Bugzilla:Simple Patches">Bugzilla:Simple_Patches</a></li> <li><a href="/Bugzilla:Developers:Licensing" title="Bugzilla:Developers:Licensing">Bugzilla:Developers:Licensing</a></li> <li><a rel="nofollow" class="external text" href="http://groups.google.com/group/mozilla.dev.apps.bugzilla/browse_thread/thread/847a09dc8a8dd27b">The Feature Acceptance Test</a></li></ul> <!-- NewPP limit report Cached time: 20250225171732 Cache expiry: 86400 Reduced expiry: false Complications: [] CPU time usage: 0.006 seconds Real time usage: 0.008 seconds Preprocessor visited node count: 13/1000000 Post鈥恊xpand include size: 0/2097152 bytes Template argument size: 0/2097152 bytes Highest expansion depth: 2/100 Expensive parser function count: 0/100 Unstrip recursion depth: 0/20 Unstrip post鈥恊xpand size: 0/5000000 bytes --> <!-- Transclusion expansion time report (%,ms,calls,template) 100.00% 0.000 1 -total --> <!-- Saved in parser cache with key wiki:pcache:idhash:19715-0!canonical and timestamp 20250225171732 and revision id 1027090. --> </div> <div class="printfooter" data-nosnippet="">Retrieved from "<a dir="ltr" href="https://wiki.mozilla.org/index.php?title=Bugzilla:Developers&oldid=1027090">https://wiki.mozilla.org/index.php?title=Bugzilla:Developers&oldid=1027090</a>"</div></div> <div id="catlinks" class="catlinks" data-mw="interface"><div id="mw-normal-catlinks" class="mw-normal-catlinks"><a href="/Special:Categories" title="Special:Categories">Category</a>: <ul><li><a href="/Category:Bugzilla" title="Category:Bugzilla">Bugzilla</a></li></ul></div></div> </div> </div> <div id="mw-navigation"> <h2>Navigation menu</h2> <div id="mw-head"> <nav id="p-personal" class="vector-menu mw-portlet mw-portlet-personal vector-user-menu-legacy" aria-labelledby="p-personal-label" role="navigation" > <h3 id="p-personal-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">Personal tools</span> </h3> <div class="vector-menu-content"> <ul class="vector-menu-content-list"><li id="pt-login" class="mw-list-item"><a href="/index.php?title=Special:UserLogin&returnto=Bugzilla%3ADevelopers" title="You are encouraged to log in; however, it is not mandatory [o]" accesskey="o"><span>Log in</span></a></li><li id="pt-createaccount" class="mw-list-item"><a href="/Special:RequestAccount" title="You are encouraged to create an account and log in; however, it is not mandatory"><span>Request account</span></a></li></ul> </div> </nav> <div id="left-navigation"> <nav id="p-namespaces" class="vector-menu mw-portlet mw-portlet-namespaces vector-menu-tabs vector-menu-tabs-legacy" aria-labelledby="p-namespaces-label" role="navigation" > <h3 id="p-namespaces-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">Namespaces</span> </h3> <div class="vector-menu-content"> <ul class="vector-menu-content-list"><li id="ca-nstab-bugzilla" class="selected mw-list-item"><a href="/Bugzilla:Developers"><span>Bugzilla</span></a></li><li id="ca-talk" class="mw-list-item"><a href="/Bugzilla_Talk:Developers" rel="discussion" title="Discussion about the content page [t]" accesskey="t"><span>Discussion</span></a></li></ul> </div> </nav> <nav id="p-variants" class="vector-menu mw-portlet mw-portlet-variants emptyPortlet vector-menu-dropdown" aria-labelledby="p-variants-label" role="navigation" > <input type="checkbox" id="p-variants-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-p-variants" class="vector-menu-checkbox" aria-labelledby="p-variants-label" /> <label id="p-variants-label" aria-label="Change language variant" class="vector-menu-heading " > <span class="vector-menu-heading-label">English</span> </label> <div class="vector-menu-content"> <ul class="vector-menu-content-list"></ul> </div> </nav> </div> <div id="right-navigation"> <nav id="p-views" class="vector-menu mw-portlet mw-portlet-views vector-menu-tabs vector-menu-tabs-legacy" aria-labelledby="p-views-label" role="navigation" > <h3 id="p-views-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">Views</span> </h3> <div class="vector-menu-content"> <ul class="vector-menu-content-list"><li id="ca-view" class="selected mw-list-item"><a href="/Bugzilla:Developers"><span>Read</span></a></li><li id="ca-viewsource" class="mw-list-item"><a href="/index.php?title=Bugzilla:Developers&action=edit" title="This page is protected. You can view its source [e]" accesskey="e"><span>View source</span></a></li><li id="ca-history" class="mw-list-item"><a href="/index.php?title=Bugzilla:Developers&action=history" title="Past revisions of this page [h]" accesskey="h"><span>View history</span></a></li></ul> </div> </nav> <nav id="p-cactions" class="vector-menu mw-portlet mw-portlet-cactions emptyPortlet vector-menu-dropdown" aria-labelledby="p-cactions-label" role="navigation" title="More options" > <input type="checkbox" id="p-cactions-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-p-cactions" class="vector-menu-checkbox" aria-labelledby="p-cactions-label" /> <label id="p-cactions-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">More</span> </label> <div class="vector-menu-content"> <ul class="vector-menu-content-list"></ul> </div> </nav> <div id="p-search" role="search" class="vector-search-box-vue vector-search-box-show-thumbnail vector-search-box-auto-expand-width vector-search-box"> <div> <h3 > <label for="searchInput">Search</label> </h3> <form action="/index.php" id="searchform" class="vector-search-box-form"> <div id="simpleSearch" class="vector-search-box-inner" data-search-loc="header-navigation"> <input class="vector-search-box-input" type="search" name="search" placeholder="Search MozillaWiki" aria-label="Search MozillaWiki" autocapitalize="sentences" title="Search MozillaWiki [f]" accesskey="f" id="searchInput" > <input type="hidden" name="title" value="Special:Search"> <input id="mw-searchButton" class="searchButton mw-fallbackSearchButton" type="submit" name="fulltext" title="Search the pages for this text" value="Search"> <input id="searchButton" class="searchButton" type="submit" name="go" title="Go to a page with this exact name if it exists" value="Go"> </div> </form> </div> </div> </div> </div> <div id="mw-panel"> <div id="p-logo" role="banner"> <a class="mw-wiki-logo" href="/Main_Page" title="Visit the main page"></a> </div> <nav id="p-navigation" class="vector-menu mw-portlet mw-portlet-navigation vector-menu-portal portal" aria-labelledby="p-navigation-label" role="navigation" > <h3 id="p-navigation-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">Navigation</span> </h3> <div class="vector-menu-content"> <ul class="vector-menu-content-list"><li id="n-mainpage-description" class="mw-list-item"><a href="/Main_Page" title="Visit the main page [z]" accesskey="z"><span>Main page</span></a></li><li id="n-Product-releases" class="mw-list-item"><a href="/Releases"><span>Product releases</span></a></li><li id="n-newpages" class="mw-list-item"><a href="/Special:NewPages"><span>New pages</span></a></li><li id="n-recentchanges" class="mw-list-item"><a href="/Special:RecentChanges" title="A list of recent changes in the wiki [r]" accesskey="r"><span>Recent changes</span></a></li><li id="n-Recent-uploads" class="mw-list-item"><a href="/Special:NewFiles"><span>Recent uploads</span></a></li><li id="n-randompage" class="mw-list-item"><a href="/Special:Random" title="Load a random page [x]" accesskey="x"><span>Random page</span></a></li><li id="n-Help" class="mw-list-item"><a href="/MozillaWiki:Help" title="The place to find out"><span>Help</span></a></li></ul> </div> </nav> <nav id="p-How_to_Contribute" class="vector-menu mw-portlet mw-portlet-How_to_Contribute vector-menu-portal portal" aria-labelledby="p-How_to_Contribute-label" role="navigation" > <h3 id="p-How_to_Contribute-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">How to Contribute</span> </h3> <div class="vector-menu-content"> <ul class="vector-menu-content-list"><li id="n-All-hands-meeting" class="mw-list-item"><a href="/WeeklyUpdates"><span>All-hands meeting</span></a></li><li id="n-Other-meetings" class="mw-list-item"><a href="/Community_Calendar"><span>Other meetings</span></a></li><li id="n-Contribute-to-Mozilla" class="mw-list-item"><a href="/Contribute"><span>Contribute to Mozilla</span></a></li><li id="n-Community-Portal" class="mw-list-item"><a href="//community.mozilla.org" rel="nofollow"><span>Community Portal</span></a></li><li id="n-Community-Participation-Guidelines" class="mw-list-item"><a href="//www.mozilla.org/en-US/about/governance/policies/participation/" rel="nofollow"><span>Community Participation Guidelines</span></a></li></ul> </div> </nav> <nav id="p-MozillaWiki" class="vector-menu mw-portlet mw-portlet-MozillaWiki vector-menu-portal portal" aria-labelledby="p-MozillaWiki-label" role="navigation" > <h3 id="p-MozillaWiki-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">MozillaWiki</span> </h3> <div class="vector-menu-content"> <ul class="vector-menu-content-list"><li id="n-About" class="mw-list-item"><a href="/MozillaWiki:About"><span>About</span></a></li><li id="n-Team" class="mw-list-item"><a href="/MozillaWiki:Team"><span>Team</span></a></li><li id="n-Policies" class="mw-list-item"><a href="/MozillaWiki:Policies"><span>Policies</span></a></li><li id="n-Report-a-wiki-bug" class="mw-list-item"><a href="//bugzilla.mozilla.org/enter_bug.cgi?product=Websites&component=wiki.mozilla.org" rel="nofollow"><span>Report a wiki bug</span></a></li></ul> </div> </nav> <nav id="p-Around_Mozilla" class="vector-menu mw-portlet mw-portlet-Around_Mozilla vector-menu-portal portal" aria-labelledby="p-Around_Mozilla-label" role="navigation" > <h3 id="p-Around_Mozilla-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">Around Mozilla</span> </h3> <div class="vector-menu-content"> <ul class="vector-menu-content-list"><li id="n-Mozilla-Support" class="mw-list-item"><a href="//support.mozilla.org/" rel="nofollow"><span>Mozilla Support</span></a></li><li id="n-Mozilla-Developer-Network" class="mw-list-item"><a href="//developer.mozilla.org/" rel="nofollow"><span>Mozilla Developer Network</span></a></li><li id="n-Planet-Mozilla" class="mw-list-item"><a href="//planet.mozilla.org/" rel="nofollow"><span>Planet Mozilla</span></a></li><li id="n-Mozilla-Blog" class="mw-list-item"><a href="//blog.mozilla.org/" rel="nofollow"><span>Mozilla Blog</span></a></li><li id="n-Research" class="mw-list-item"><a href="//www.mozilla.org/research/" rel="nofollow"><span>Research</span></a></li></ul> </div> </nav> <nav id="p-tb" class="vector-menu mw-portlet mw-portlet-tb vector-menu-portal portal" aria-labelledby="p-tb-label" role="navigation" > <h3 id="p-tb-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">Tools</span> </h3> <div class="vector-menu-content"> <ul class="vector-menu-content-list"><li id="t-whatlinkshere" class="mw-list-item"><a href="/Special:WhatLinksHere/Bugzilla:Developers" title="A list of all wiki pages that link here [j]" accesskey="j"><span>What links here</span></a></li><li id="t-recentchangeslinked" class="mw-list-item"><a href="/Special:RecentChangesLinked/Bugzilla:Developers" rel="nofollow" title="Recent changes in pages linked from this page [k]" accesskey="k"><span>Related changes</span></a></li><li id="t-specialpages" class="mw-list-item"><a href="/Special:SpecialPages" title="A list of all special pages [q]" accesskey="q"><span>Special pages</span></a></li><li id="t-print" class="mw-list-item"><a href="javascript:print();" rel="alternate" title="Printable version of this page [p]" accesskey="p"><span>Printable version</span></a></li><li id="t-permalink" class="mw-list-item"><a href="/index.php?title=Bugzilla:Developers&oldid=1027090" title="Permanent link to this revision of this page"><span>Permanent link</span></a></li><li id="t-info" class="mw-list-item"><a href="/index.php?title=Bugzilla:Developers&action=info" title="More information about this page"><span>Page information</span></a></li></ul> </div> </nav> </div> </div> <footer id="footer" class="mw-footer" role="contentinfo" > <ul id="footer-info"> <li id="footer-info-lastmod"> This page was last edited on 22 October 2014, at 00:51.</li> </ul> <ul id="footer-places"> <li id="footer-places-privacy"><a href="/MozillaWiki:Privacy_policy">Privacy policy</a></li> <li id="footer-places-about"><a href="/MozillaWiki:About">About MozillaWiki</a></li> <li id="footer-places-mobileview"><a href="https://wiki.mozilla.org/index.php?title=Bugzilla:Developers&mobileaction=toggle_view_mobile" class="noprint stopMobileRedirectToggle">Mobile view</a></li> </ul> <ul id="footer-icons" class="noprint"> <li id="footer-poweredbyico"><a href="https://www.mediawiki.org/"><img src="/resources/assets/poweredby_mediawiki_88x31.png" alt="Powered by MediaWiki" srcset="/resources/assets/poweredby_mediawiki_132x47.png 1.5x, /resources/assets/poweredby_mediawiki_176x62.png 2x" width="88" height="31" loading="lazy"/></a></li> </ul> </footer> <script>(RLQ=window.RLQ||[]).push(function(){mw.config.set({"wgPageParseReport":{"limitreport":{"cputime":"0.006","walltime":"0.008","ppvisitednodes":{"value":13,"limit":1000000},"postexpandincludesize":{"value":0,"limit":2097152},"templateargumentsize":{"value":0,"limit":2097152},"expansiondepth":{"value":2,"limit":100},"expensivefunctioncount":{"value":0,"limit":100},"unstrip-depth":{"value":0,"limit":20},"unstrip-size":{"value":0,"limit":5000000},"timingprofile":["100.00% 0.000 1 -total"]},"cachereport":{"timestamp":"20250225171732","ttl":86400,"transientcontent":false}}});mw.config.set({"wgBackendResponseTime":282});});</script> </body> </html>