<div dir="ltr">Hi Gelonida,<div><br></div><div>Here is a first version of the flash_dashboard plugin</div><div><a href="https://github.com/buildbot/buildbot/pull/3041">https://github.com/buildbot/buildbot/pull/3041</a></div><div><br></div><div>there are still needs to be some polishing, but the main ideas are there.</div><div><br></div><div>See documentation to get an idea on how to use it</div><div><a href="https://github.com/buildbot/buildbot/pull/3041/files#diff-eea13d1ebd483f573175b4da8762a6e5">https://github.com/buildbot/buildbot/pull/3041/files#diff-eea13d1ebd483f573175b4da8762a6e5</a></div><div><br></div><div>Please let me know if this is the right level of abstraction for you.</div><div><br></div><div>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)</div><div><br></div><div>Pierre</div><div><br><div class="gmail_quote"><div dir="ltr">On Tue, Mar 14, 2017 at 12:05 PM Gelonida <<a href="mailto:gelonida@gmail.com">gelonida@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
  
    
  
  <div bgcolor="#FFFFFF" text="#000000" class="gmail_msg">
    <p class="gmail_msg">Hi Pierre,</p>
    <p class="gmail_msg">Thanks for your reply,</p>
    <p class="gmail_msg">In our context we don't need a real time dashboard (at least for
      the start)</p>
    <p class="gmail_msg">I think I will start with a server side created bottle or flask
      implementation and play with angular at a later time.<br class="gmail_msg">
      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.<br class="gmail_msg">
      I did not try with buildbot (and it's js dependencies), but often
      just getting the node / grunt / gulp build environment up and <br class="gmail_msg">
      running can already be painful. So an attractive Angular web front
      end only later.</p>
    <p class="gmail_msg">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,<br class="gmail_msg">
      that will avoid this.<br class="gmail_msg">
    </p>
    <p class="gmail_msg"><br class="gmail_msg">
    </p>
    <p class="gmail_msg">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.<br class="gmail_msg">
    </p>
    <p class="gmail_msg">If easier to integrate, then the dynamic web script could just
      yield some JSON file but I'd be curious of how to integrate <br class="gmail_msg">
      some non Angular HTML.<br class="gmail_msg">
    </p>
    <p class="gmail_msg"><br class="gmail_msg">
    </p>
    My dynamic script could either yield something like:<br class="gmail_msg">
    <html><br class="gmail_msg">
    <body><br class="gmail_msg">
    <h1>all release branches<h1><br class="gmail_msg">
    <form><br class="gmail_msg">
    <select name = "branchgroups"><br class="gmail_msg">
                      <option value="all">all</option><br class="gmail_msg">
                      <option
    value="release">release</option><br class="gmail_msg">
                      <option
    value="develop">develop</option><br class="gmail_msg">
                    </select><br class="gmail_msg">
    </form><br class="gmail_msg">
    <table><br class="gmail_msg">
    . . . .<br class="gmail_msg">
    </table><br class="gmail_msg">
    </body><br class="gmail_msg">
    </html><br class="gmail_msg">
    <br class="gmail_msg">
    or just a json with something similar to:<br class="gmail_msg">
    { "title": "all release branches",<br class="gmail_msg">
       "header_row": [ "project", "branch", "builder", "builds"],<br class="gmail_msg">
      "rows" : [<br class="gmail_msg">
        [ "pjt one", "rls/v1.0", "lint_results", [ {"buildid": 4,
    "status": "pass"}, {"buildid": 3, "status": "pass"}, {"buildid": 1,
    "status": "fail"}] ],<br class="gmail_msg">
        [ "pjt one", "rls/v1.0", "quick_unittests", [ {"buildid": 4,
    "status": "pass"}, {"buildid": 3, "status": "pass"}, {"buildid": 1,
    "status": "fail"}] ],<br class="gmail_msg">
        [ "pjt one", "rls/v2.0", "lint_results", [ {"buildid": 6,
    "status": "fail"}, {"buildid": 5, "status": "pass"}, {"buildid": 2,
    "status": "fail"}] ]<br class="gmail_msg">
      ]<br class="gmail_msg">
    }<br class="gmail_msg">
    <br class="gmail_msg">
    whatever is easier to integrate.<br class="gmail_msg">
    <br class="gmail_msg">
    <br class="gmail_msg">
    At the moment I start looking at the REST-API calls, and the amount
    of calls, that I would need to implement such view.<br class="gmail_msg">
    On a first glance this seems quite costly.<br class="gmail_msg">
    <br class="gmail_msg">
    I'll follow up.</div><div bgcolor="#FFFFFF" text="#000000" class="gmail_msg"><br class="gmail_msg">
    <br class="gmail_msg">
    <div class="m_950433075199581844moz-cite-prefix gmail_msg">On 03/12/2017 05:48 PM, Pierre Tardy
      wrote:<br class="gmail_msg">
    </div>
    </div><div bgcolor="#FFFFFF" text="#000000" class="gmail_msg"><blockquote type="cite" class="gmail_msg"><div dir="ltr" class="gmail_msg"><div class="gmail_quote gmail_msg">
          <blockquote class="gmail_quote gmail_msg" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
            <div bgcolor="#FFFFFF" text="#000000" class="gmail_msg">
              <p class="gmail_msg">Question(s):<br class="gmail_msg">
                ----------------<br class="gmail_msg">
                Did anyone already implement something similar?<br class="gmail_msg">
              </p>
            </div>
          </blockquote>
          <div class="gmail_msg">Well console view and waterfall views are such dashboards
            or showing the builds in specific manner.</div>
          <div class="gmail_msg"> </div>
          <blockquote class="gmail_quote gmail_msg" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
            <div bgcolor="#FFFFFF" text="#000000" class="gmail_msg">
              <p class="gmail_msg"> Does anyone have a similar issue? If
                yes how do you solve this problem?<br class="gmail_msg">
                What would be the easiest way to create such a page <br class="gmail_msg">
              </p>
            </div>
          </blockquote>
          </div></div></blockquote></div><div bgcolor="#FFFFFF" text="#000000" class="gmail_msg"><blockquote type="cite" class="gmail_msg"><div dir="ltr" class="gmail_msg"><div class="gmail_quote gmail_msg"><div class="gmail_msg">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.</div></div></div></blockquote></div><div bgcolor="#FFFFFF" text="#000000" class="gmail_msg"><blockquote type="cite" class="gmail_msg"><div dir="ltr" class="gmail_msg"><div class="gmail_quote gmail_msg">
          <div class="gmail_msg"><br class="gmail_msg">
          </div>
          <blockquote class="gmail_quote gmail_msg" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
            <div bgcolor="#FFFFFF" text="#000000" class="gmail_msg">
              <p class="gmail_msg"> I'm not very good with web
                development and never tried to change the buildbot web
                front end.<br class="gmail_msg">
                Would it be simpler to create a standalone page, which
                constructs this contents with the help of the web api?<br class="gmail_msg">
              </p>
            </div>
          </blockquote>
          <div class="gmail_msg">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.</div>
          <div class="gmail_msg">This can help you to write a dashboard to look exactly as
            you wish.</div>
          <div class="gmail_msg"><br class="gmail_msg">
          </div>
          <div class="gmail_msg">I usually recommend to take the effort to learn angularJS
            and front end development as I find it did unlock a lot of
            opportunities.</div>
          <div class="gmail_msg">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.</div>
          <div class="gmail_msg"><br class="gmail_msg">
          </div>
          <div class="gmail_msg">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.</div>
          <div class="gmail_msg"><br class="gmail_msg">
          </div>
          <div class="gmail_msg">Regards</div>
          <div class="gmail_msg">Pierre </div>
          <div class="gmail_msg"><br class="gmail_msg">
          </div>
          <div class="gmail_msg"><br class="gmail_msg">
          </div>
        </div></div></blockquote></div></blockquote></div></div></div>