------------------ - What is it? This is a feature request for Autobuilder. A script is needed to be created for update bug status by calling Bugzilla XMLRPC API. ------------------ - Why we need this feature? Bug should be marked as Resolved/Fixed, after its fixing patch is built into formal build (weekly build or milestone build). Then bug reporter can verify the bug fixing. It brings additional effort for developer or release engineer to track whether her/his patch was built into latest build. This feature can help to automatically mark bug to FIXED stage, when the fixing patch was built into latest build. ------------------ - How this feature can work? There is an automation method to update bugs to "RESOVLED/FIXED" status by following steps. 1. Developer fixed bug and check in patch to his contrib branch with special words in commit description: [YOCTO #4321] 2. Developer asked tree gatekeeper to pull patch. 3. Release Engineer do formal build. The build script will read new commit description and find out bug ID. 4. Build script will notify bugzilla and update bugs status to "RESOLVE/FIXED" -------------- Bugzilla 4.0 has a XMLPRC interface to accept updating bug remotely. The detailed description can be visited here: http://www.bugzilla.org/docs/4.0/en/html/api/Bugzilla/WebService/Bug.html#update Make sure all buzilla required XMLRPC packages are installed in system. -------------- After install Bugzilla 4.0, there is an example script to call Bugzilla XMLRPC function, it is Bugzilla_Folder/contrib/bz_webservice_demo.pl . This script doesn't have "update" function to call yet. It can be referred update() definition and other caller to implement local caller. For example, something like these codes. + if ($set_status) { + $soapresult = $proxy->call('Bug.update', {id => $bug_id, + status => $set_status, comment => $comment }); + _die_on_fault($soapresult); + print "Update status.\n"; + } -------------- The usage of bz_webservice_demo.pl is like # contrib/bz_webservice_demo.pl --uri 'http://BUGZILLA_RUL/xmlrpc.cgi' --login release.engineer@intel.com --password 123456 --bug_id 4321 --status RESOLVED --comment 'The bug fixing patch was include in new build 20100701. The commit id is 126381238127391237129' -------------- If need go through firewall, following code need to be changed in bz_webservice_demo.pl -my $proxy = XMLRPC::Lite->proxy($Bugzilla_uri, - 'cookie_jar' => $cookie_jar); + $server = XMLRPC::Lite->proxy($Bugzilla_uri, 'cookie_jar' => $cookie_jar, + proxy => ['http', 'http://myproxy:proxyport']);
marking resolved
Accidentally closed
Should be fairly straight forward, however testing for verification needs to have some amount of test setup.
I think it makes sense to have some human interaction in handling bug closure to ensure we're doing the right things.