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 <[email protected]> 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 > > >
_______________________________________________ users mailing list [email protected] https://lists.buildbot.net/mailman/listinfo/users
