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

Pierre Tardy tardyp at gmail.com
Thu Mar 16 20:06:01 UTC 2017


Hi,

thanks for the kind words.
As the example went bigger and bigger, skelly suggested to test it and I
moved it to the smoke tests to ensure that the example is always working.

Its referenced in the doc with the help of this line + a symlink from the
smoke tests to the docs

+.. literalinclude:: mydashboard.html

The examples are here:
https://github.com/tardyp/buildbot/blob/23ff8caa598a80ff3963ccbb5e87e8651acad881/smokes/mydashboard.py

https://github.com/tardyp/buildbot/blob/23ff8caa598a80ff3963ccbb5e87e8651acad881/smokes/templates/mydashboard.html

Hopefully the story will be easier when the PR will be merged, and 0.9.5
released.

Pierre

Le jeu. 16 mars 2017 à 20:11, Gelonida <gelonida at gmail.com> a écrit :

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


More information about the users mailing list