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

Pierre Tardy tardyp at gmail.com
Tue Mar 14 17:25:58 UTC 2017


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> 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/20170314/eeaaf2c1/attachment.html>


More information about the users mailing list