[users at bb.net] filtering / grouping /#builders by url

Gelonida gelonida at gmail.com
Thu Mar 16 19:09:00 UTC 2017


Hi Pierre,


I cloned, checked out the branch, built master, worker and frontend and 
built my first hello world bottle ap.
This is great!!! Exactly what will help me adding some specific views 
very quickly.

One small thing though. I thought, that I saw yesterday or this morning 
a sample config file and a sample app somewhere in the doc.
Today I didn't find it anymore.

After some searching / grepping  I found the only documentation about 
parameters in the file smokes/mydashboard.py, which was
sufficient for me to know how to hook in my wsgi app.
The file 
master/docs/manual/customization.rst#writing-dashboards-with-flask-or-bottle 
contains a section about implementing dashboard, but doesn't link to any 
example snippet (In my opinion always the best way to 'quickly' learn) 
and doesn't mention the params.


thanks again for the wsgi_dashboard


G


On 03/16/2017 09:23 AM, Gelonida wrote:
>
> Hi Pierre,
>
>
> Thanks a lot.
> Yesterday I pulled your PR, built it, but didn't have time to check. 
> So I repulled today, rebuilt and hope I have some spare time at work.
>
> This looks very interesting and should really simplify to implement 
> small uwsgi plugins.
>
>
>
> On 14/03/2017 18:25, Pierre Tardy wrote:
>> Hi Gelonida,
>>
>> Here is a first version of the flash_dashboard plugin
>> https://github.com/buildbot/buildbot/pull/3041
>>
>> there are still needs to be some polishing, but the main ideas are there.
>>
>> See documentation to get an idea on how to use it
>> https://github.com/buildbot/buildbot/pull/3041/files#diff-eea13d1ebd483f573175b4da8762a6e5
>>
>> Please let me know if this is the right level of abstraction for you.
>>
>> You can use requests to get the REST api, but you can also use 
>> app.buildbot_api.dataGet to bypass the REST api layer (and the 
>> authorization layer)
>>
>> Pierre
>>
>> On Tue, Mar 14, 2017 at 12:05 PM Gelonida <gelonida at gmail.com 
>> <mailto:gelonida at gmail.com>> wrote:
>>
>>     Hi Pierre,
>>
>>     Thanks for your reply,
>>
>>     In our context we don't need a real time dashboard (at least for
>>     the start)
>>
>>     I think I will start with a server side created bottle or flask
>>     implementation and play with angular at a later time.
>>     The idea is to have a view quickly for some users and Angular
>>     views are not quickly to develop if you don't have the habit.
>>     I did not try with buildbot (and it's js dependencies), but often
>>     just getting the node / grunt / gulp build environment up and
>>     running can already be painful. So an attractive Angular web
>>     front end only later.
>>
>>     Do I already need a web-dev build environment for hooking up a
>>     single url into the buildbot env or is there some plugin magic,
>>     that will avoid this.
>>
>>
>>     I'd appreciate a lot if you could point  me to information of how
>>     to integrate any url (static / server side) into the buildbot webif.
>>
>>     If easier to integrate, then the dynamic web script could just
>>     yield some JSON file but I'd be curious of how to integrate
>>     some non Angular HTML.
>>
>>
>>     My dynamic script could either yield something like:
>>     <html>
>>     <body>
>>     <h1>all release branches<h1>
>>     <form>
>>     <select name = "branchgroups">
>>                       <option value="all">all</option>
>>                       <option value="release">release</option>
>>                       <option value="develop">develop</option>
>>                     </select>
>>     </form>
>>     <table>
>>     . . . .
>>     </table>
>>     </body>
>>     </html>
>>
>>     or just a json with something similar to:
>>     { "title": "all release branches",
>>        "header_row": [ "project", "branch", "builder", "builds"],
>>       "rows" : [
>>         [ "pjt one", "rls/v1.0", "lint_results", [ {"buildid": 4,
>>     "status": "pass"}, {"buildid": 3, "status": "pass"}, {"buildid":
>>     1, "status": "fail"}] ],
>>         [ "pjt one", "rls/v1.0", "quick_unittests", [ {"buildid": 4,
>>     "status": "pass"}, {"buildid": 3, "status": "pass"}, {"buildid":
>>     1, "status": "fail"}] ],
>>         [ "pjt one", "rls/v2.0", "lint_results", [ {"buildid": 6,
>>     "status": "fail"}, {"buildid": 5, "status": "pass"}, {"buildid":
>>     2, "status": "fail"}] ]
>>       ]
>>     }
>>
>>     whatever is easier to integrate.
>>
>>
>>     At the moment I start looking at the REST-API calls, and the
>>     amount of calls, that I would need to implement such view.
>>     On a first glance this seems quite costly.
>>
>>     I'll follow up.
>>
>>
>>     On 03/12/2017 05:48 PM, Pierre Tardy wrote:
>>>
>>>         Question(s):
>>>         ----------------
>>>         Did anyone already implement something similar?
>>>
>>>     Well console view and waterfall views are such dashboards or
>>>     showing the builds in specific manner.
>>>
>>>         Does anyone have a similar issue? If yes how do you solve
>>>         this problem?
>>>         What would be the easiest way to create such a page
>>>
>>>     The easiest way if you know angularjs is to indeed write a UI
>>>     plugin. buildbot UI has been designed for this, and this is the
>>>     only way you can write a real time updated dashboard.
>>>
>>>         I'm not very good with web development and never tried to
>>>         change the buildbot web front end.
>>>         Would it be simpler to create a standalone page, which
>>>         constructs this contents with the help of the web api?
>>>
>>>     Server side servers are indeed a bit easier. You could indeed
>>>     create a separate flask application that would access the REST
>>>     api using python-requests.
>>>     This can help you to write a dashboard to look exactly as you wish.
>>>
>>>     I usually recommend to take the effort to learn angularJS and
>>>     front end development as I find it did unlock a lot of
>>>     opportunities.
>>>     I do realize it is not practical for everybody, and we should
>>>     have an easier story for custom dashboard creation that does not
>>>     require front end development mastery.
>>>
>>>     I will be happy to help reviewing your flask application, and
>>>     will help you integrate it as a dashboard in the main UI. I
>>>     think it can work with some JS magic to embed a flask
>>>     application into a Buildbot UI plugin.
>>>
>>>     Regards
>>>     Pierre
>>>
>>>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.buildbot.net/pipermail/users/attachments/20170316/1ba4d165/attachment.html>


More information about the users mailing list