• Our product teams collect and evaluate feedback from a number of different sources. To learn more about how we use customer feedback in the planning process, check out our new feature policy.

      There are both advanced and very simple Clover gadgets written during ShipIt attack of the Gadgets, looking for a good server home.
      see also: CLOV-561

      This could be a quick win piece of low hanging fruit.

      Lets start with the simplest form of Clover gadget: "Display the Red/Green Clover Coverage bar".
      e.g.

      This gadget will:

      • pull the coverage data from a user specified Artifact (that is a Clover HTML report) from the latest Bamboo build for a specified Bamboo Plan
      • render a red/green coverage bar showing the percentage of code coverage for a specific project
      • display the raw total percentage figure
      • support all gadget display sizes

      If the Artifact points to the root directory of a Clover HTML report, then the gadget can assume there will be a 'project.js' available.
      e.g. http://clover.atlassian.com/browse/webtest/project.js

      If the Artifact points to a single .js file (presumably project.js), the gadget should just use it as the data source.

      An example gadget (done during ShipIt 10) is available on Labs: http://labs.atlassian.com/browse/GOGO .
      The sub-project 'clover' contains the gadget: http://labs.atlassian.com/svn/GOGO/trunk/src/clover/ .
      This gadget is actually deployed and can be installed in any Open Social container. The URL is: http://labs.atlassian.com/gadgets/npellow/src/clover-gadget.xml

      This gadget also uses the historical json to generate a visualization of coverage and project metric trends. This can be added to the gadget for a phase #2.

        1. clover-gadget-config.png
          clover-gadget-config.png
          19 kB
        2. clover-gadget-view.png
          clover-gadget-view.png
          16 kB
        3. clover-gadget-view-2.png
          clover-gadget-view-2.png
          19 kB

            [BAM-4364] Expose a single Clover Gadget via Bamboo

            Phase 1 (coverage bar) work is completed. Code is merged to 2.4 branch.

            Krystian Brazulewicz added a comment - Phase 1 (coverage bar) work is completed. Code is merged to 2.4 branch.

            I've put UI changes requested by Nick however I use US formatting now. (I'd like to include jQuery.numberformatter plugin into aui plugin and somehow automate choice of formatting)

            For the configuration part:

            • configuration UI is dynamic, it displays all Clover-enabled plans defined on Bamboo server grouped by project (as in other Bamboo gadgets)
            • clicking on checkbox next to project will select/unselect all plans grouped in this project

            Krystian Brazulewicz added a comment - I've put UI changes requested by Nick however I use US formatting now. (I'd like to include jQuery.numberformatter plugin into aui plugin and somehow automate choice of formatting) For the configuration part: configuration UI is dynamic, it displays all Clover-enabled plans defined on Bamboo server grouped by project (as in other Bamboo gadgets) clicking on checkbox next to project will select/unselect all plans grouped in this project

            Nick added a comment -

            Regarding Nick's gadget (http://labs.atlassian.com/gadgets/npellow/src/clover-gadget.xml): shall I go and add this graph feature to this gadget?

            The data for the historical chart on that gadget comes directly from Clover, and is already in the google viz DataSource format: http://clover.atlassian.com/browse/guice/historical-json.js
            See the documentation on this here: http://confluence.atlassian.com/display/CLOVER/JSON+reference#JSONreference-CloverHistoricalDatainJSONP

            The other option (and possibly easiest to implement considering the current implementation) is to just pull the data from Bamboo's historical clover data.
            In that case, the chart style would match all other charts exposed by Bamboo gadgets.

            Nick added a comment - Regarding Nick's gadget ( http://labs.atlassian.com/gadgets/npellow/src/clover-gadget.xml): shall I go and add this graph feature to this gadget? The data for the historical chart on that gadget comes directly from Clover, and is already in the google viz DataSource format: http://clover.atlassian.com/browse/guice/historical-json.js See the documentation on this here: http://confluence.atlassian.com/display/CLOVER/JSON+reference#JSONreference-CloverHistoricalDatainJSONP The other option (and possibly easiest to implement considering the current implementation) is to just pull the data from Bamboo's historical clover data. In that case, the chart style would match all other charts exposed by Bamboo gadgets.

            Nick added a comment -

            Wow! Its awesome to see this integrated and running in our own Open Social container!

            2. I am not sure about the class and element count. That seems like too much detail.

            Showing raw figures is fine. It quantifies the Percentage Coverage figure - which has questionable value for some people.
            To simplify this and make it look less cluttered, what about:

            1. formatting the Numbers correctly. ie. #,### (would need to be internationalized)
            2. taunting the user a little by only showing the number of Uncovered elements. (Since the total number of elements can be derived from the percentage anyway)

            Also - will the configuration UI scale to handle the number of plans on BEAC?
            Would dropdown boxes be more appropriate than check boxes for selecting the plan?
            And - what does it mean to have a Project checked? Will bamboo find all Plans below that Project with Clover data and present those in the gadget? - that would be very cool!

            Nick added a comment - Wow! Its awesome to see this integrated and running in our own Open Social container! 2. I am not sure about the class and element count. That seems like too much detail. Showing raw figures is fine. It quantifies the Percentage Coverage figure - which has questionable value for some people. To simplify this and make it look less cluttered, what about: formatting the Numbers correctly. ie. #,### (would need to be internationalized) taunting the user a little by only showing the number of Uncovered elements. (Since the total number of elements can be derived from the percentage anyway) Also - will the configuration UI scale to handle the number of plans on BEAC? Would dropdown boxes be more appropriate than check boxes for selecting the plan? And - what does it mean to have a Project checked? Will bamboo find all Plans below that Project with Clover data and present those in the gadget? - that would be very cool!

            Krystian Brazulewicz added a comment - - edited

            To answer Paul's questions:
            1. Yes, the mouse overs are "X.X% Covered" and "Y.Y% Not Covered"
            2. Let's wait for some other votes.
            3. You mean build number key (like BAM-HEAD-345)? How shall I display date/time of build: as a date/time or in relative form ("2 weeks ago").
            4. Done

            Regarding Nick's gadget (http://labs.atlassian.com/gadgets/npellow/src/clover-gadget.xml): shall I go and add this graph feature to this gadget?

            Krystian Brazulewicz added a comment - - edited To answer Paul's questions: 1. Yes, the mouse overs are "X.X% Covered" and "Y.Y% Not Covered" 2. Let's wait for some other votes. 3. You mean build number key (like BAM-HEAD-345)? How shall I display date/time of build: as a date/time or in relative form ("2 weeks ago"). 4. Done Regarding Nick's gadget ( http://labs.atlassian.com/gadgets/npellow/src/clover-gadget.xml): shall I go and add this graph feature to this gadget?

            sladey added a comment -

            Looks great Krystian.

            1. Are there mouse overs on the red and green areas to show a coverage percentage?
            2. I am not sure about the class and element count. That seems like too much detail.
            3. Can we give some indication of the build that the coverage data was generated by and perhaps the data/time when it was generated? I would put the date/time in the area where the classes/elements is.
            4. I would add a little more space between the plan name and the coverage bar. It looks a little cramped.

            Great progress though mate.

            sladey added a comment - Looks great Krystian. Are there mouse overs on the red and green areas to show a coverage percentage? I am not sure about the class and element count. That seems like too much detail. Can we give some indication of the build that the coverage data was generated by and perhaps the data/time when it was generated? I would put the date/time in the area where the classes/elements is. I would add a little more space between the plan name and the coverage bar. It looks a little cramped. Great progress though mate.

            Krystian Brazulewicz added a comment - - edited

            Clover Gadget v1.0

            Config screen (displays only Clover-enabled plans):

            View screen:

            Let me know your thoughts on it.

            Krystian Brazulewicz added a comment - - edited Clover Gadget v1.0 Config screen (displays only Clover-enabled plans): View screen: Let me know your thoughts on it.

            Nick added a comment -

            Also - please let me know if there is anything in need of clarification from my brain-dump above.

            Nick added a comment - Also - please let me know if there is anything in need of clarification from my brain-dump above.

            sladey added a comment -

            Just capturing the decision that we will NOT convert this plugin to plugin 2.

            The Clover gadget will sit in the existing bamboo gadget plugin.

            sladey added a comment - Just capturing the decision that we will NOT convert this plugin to plugin 2. The Clover gadget will sit in the existing bamboo gadget plugin.

              kbrazulewicz Krystian Brazulewicz
              npellow Nick
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

                Created:
                Updated:
                Resolved:

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 10h
                  10h