Bug 176344

Summary: Tools should use Bugzilla REST API
Product: WebKit Reporter: Sam Weinig <sam>
Component: Tools / TestsAssignee: Nobody <webkit-unassigned>
Status: NEW ---    
Severity: Normal CC: aakash_jain, ap, ddkilzer, don.olmstead, lforschler, ross.kirsling, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   

Description Sam Weinig 2017-09-04 18:16:58 PDT
It would be easier to work with (and probably more future proof) if we used Bugzilla's REST API for our tooling (webkit-patch / etc.) rather than Mechanize.
Comment 1 Alexey Proskuryakov 2017-09-05 19:51:52 PDT
rdar://problem/31201903
Comment 2 Don Olmstead 2017-09-06 17:02:46 PDT
Are you looking to piggy back onto a Python Bugzilla API implementation or roll your own?
Comment 3 Sam Weinig 2017-09-07 10:08:52 PDT
I have no real opinion on that. If we already auto install stuff for the he
Comment 4 Sam Weinig 2017-09-07 10:22:02 PDT
(In reply to Sam Weinig from comment #3)
> I have no real opinion on that. If we already auto install stuff for the he

I meant to say, I have no real opinion on that. If we already auto install stuff for the webkit tool, which I gather we do since we use Mechanize, we could use an existing library if it's good.
Comment 5 Don Olmstead 2017-09-07 10:26:45 PDT
(In reply to Sam Weinig from comment #4)
> (In reply to Sam Weinig from comment #3)
> > I have no real opinion on that. If we already auto install stuff for the he
> 
> I meant to say, I have no real opinion on that. If we already auto install
> stuff for the webkit tool, which I gather we do since we use Mechanize, we
> could use an existing library if it's good.

Ok cool. We were looking at using the Bugzilla API anyways for doing some internal tracking of our work so this bug is perfect timing.

Ross can take a look at some of the existing stuff and see how it works and we can go from there.
Comment 6 Ross Kirsling 2017-09-07 14:41:15 PDT
The main library I see for the purpose is GPL-licensed:
https://github.com/python-bugzilla/python-bugzilla

I could look into making Tools/Scripts/webkitpy/common/net/bugzilla/bugzilla.py depend only on urllib2 and not Mechanize though.
Comment 7 Sam Weinig 2017-09-07 16:47:57 PDT
(In reply to Ross Kirsling from comment #6)
> The main library I see for the purpose is GPL-licensed:
> https://github.com/python-bugzilla/python-bugzilla
> 
> I could look into making
> Tools/Scripts/webkitpy/common/net/bugzilla/bugzilla.py depend only on
> urllib2 and not Mechanize though.

I believe python-bugzilla uses the old XMLRPC API (which I don't think the bugzilla folks want people using if possible).

There are other libraries, like https://github.com/AutomatedTester/Bugsy (on pypi at https://pypi.python.org/pypi/bugsy/0.10.1) that might work though. It's not too complex a surface area though, so, not sure it matters much.