Coder Social home page Coder Social logo

jenkinsci / nested-data-reporting-plugin Goto Github PK

View Code? Open in Web Editor NEW
4.0 2.0 5.0 1.88 MB

Jenkins plugin to report data from nested as pie-charts, trend-charts and data tables.

Home Page: https://plugins.jenkins.io/nested-data-reporting/

License: MIT License

JavaScript 3.50% Java 93.98% CSS 1.56% HTML 0.96%
json reporting nested-json ui jenkins jenkins-plugin view nested-data build-reports yaml yml xml csv metrics data-charts plot jenkins-pipeline views user-interface

nested-data-reporting-plugin's People

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

nested-data-reporting-plugin's Issues

Having multiple pie charts in overview data

What feature do you want to see added?

In overview, we have only 1 pie chart for 3 column (from example).

Sometimes, each columns are independant data and it would be good to have 1 pie chart for each columns (kind of option to force or not single pie chart)

Upstream changes

No response

catch invalid `csv` files in pipeline step

Jenkins and plugins versions report

Environment
Paste the output here

What Operating System are you using (both controller, and any agents involved in the problem)?

catch invalid csv files like

Level 1,Level 2,Level 3,incorrect,manually,accurate
Aktie,Aktie 1,Aktie 1 1,13,3,59
Aktie,Aktie,Aktie 1 2,31,48,9
Aktie,Aktie 1,Aktie 1 3,34,8,51
Derivat,Aktie 1,,1,2,3
Derivat,Derivat 2,,5,9,1
Not Found???,,,1,3,9

Reproduction steps

.

Expected Results

.

Actual Results

.

Anything else?

No response

Color management

What feature do you want to see added?

For colors in json files we use some values.
It would be good to support few colors (like white, gray, yellow...) to have a more readable json file.

Moreover, if json file has no attribute color or a keyword like "aleatory", the plugin create automatically colors for each item according a palette

Upstream changes

No response

Add specificities for 1 column data

What feature do you want to see added?

In the case of 1 column data only, it would be good to have for Overview / History area consistent data (because if one column, it will be full green...).
In this case, in overview and history we would like to see the first level of data:

  Atkie1
  Atkie2
  Atkie3...

Usually, my use of this plugin is for 1 column data (and I will create multiple report for each column). I want to see the repartition of data for each column parameter

Upstream changes

No response

Logarithmic scale for trend graph

What feature do you want to see added?

It would be nice to have a log scale option for the trend graph, as I am currently using it to show values where they grow exponentially from one item to the other so the smaller ones are almost all at the bottom.

Upstream changes

No response

Are you interested in contributing this feature?

No response

Color management (mostly for csv format)

What feature do you want to see added?

Improve color generation

When user doesn't provide colors, in the pipeline command, he could provide an input parameter like

			publishReport displayType: 'absolute', name: 'toto', provider: csv(id: 'titi', pattern: '/**/*.csv') colorPalette;'pastel'

According to the palette name, some colors will be generated (not randomlyà but according to column name hash

Upstream changes

No response

`java.lang.NullPointerException` for build trend chart

Jenkins and plugins versions report

Apr 19, 2023 6:46:42 PM WARNING hudson.init.impl.InstallUncaughtExceptionHandler handleException
Caught unhandled exception with ID 3a2cb572-c87d-405b-863f-000833600d76
java.lang.NullPointerException
at io.jenkins.plugins.reporter.model.Item.getResult(Item.java:76)
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195)
at java.base/java.util.Collections$2.tryAdvance(Collections.java:4747)
at java.base/java.util.Collections$2.forEachRemaining(Collections.java:4755)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:913)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:578)
at io.jenkins.plugins.reporter.model.Report.aggregate(Report.java:169)
at io.jenkins.plugins.reporter.model.ItemSeriesBuilder.computeSeries(ItemSeriesBuilder.java:52)
at io.jenkins.plugins.reporter.model.ItemSeriesBuilder.computeSeries(ItemSeriesBuilder.java:18)
at edu.hm.hafner.echarts.SeriesBuilder.createSeriesPerBuild(SeriesBuilder.java:95)
at edu.hm.hafner.echarts.SeriesBuilder.createDataSet(SeriesBuilder.java:77)
at io.jenkins.plugins.reporter.charts.ItemHistoryChart.create(ItemHistoryChart.java:43)
at io.jenkins.plugins.reporter.ReportDetails.getBuildTrend(ReportDetails.java:164)
at java.base/java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:710)
at org.kohsuke.stapler.Function$MethodFunction.invoke(Function.java:397)
at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:409)
at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:207)
at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:140)
at org.kohsuke.stapler.MetaClass$JavaScriptProxyMethodDispatcher.doDispatch(MetaClass.java:661)
at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:59)
at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:770)
Caused: javax.servlet.ServletException
at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:818)
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:900)
at org.kohsuke.stapler.MetaClass$9.dispatch(MetaClass.java:475)
at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:770)
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:900)
at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:836)
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:900)
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:698)
at org.kohsuke.stapler.Stapler.service(Stapler.java:209)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:590)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:764)
at org.eclipse.jetty.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1665)
at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:157)
at hudson.plugins.locale.LocaleFilter.doFilter(LocaleFilter.java:42)
at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:154)
at jenkins.telemetry.impl.UserLanguages$AcceptLanguageFilter.doFilter(UserLanguages.java:129)
at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:154)
at jenkins.security.ResourceDomainFilter.doFilter(ResourceDomainFilter.java:81)
at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:154)
at hudson.plugins.audit_trail.AuditTrailFilter.doFilter(AuditTrailFilter.java:112)
at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:154)
at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:160)
at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:202)
at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1635)
at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:154)
at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:202)
at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1635)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:94)
at jenkins.security.AcegiSecurityExceptionFilter.doFilter(AcegiSecurityExceptionFilter.java:52)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:99)
at hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:54)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:99)
at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126)
at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:99)
at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:99)
at org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:110)
at org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:101)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:99)
at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:227)
at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:221)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:99)
at jenkins.security.BasicHeaderProcessor.doFilter(BasicHeaderProcessor.java:97)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:99)
at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:117)
at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
at hudson.security.HttpSessionContextIntegrationFilter2.doFilter(HttpSessionContextIntegrationFilter2.java:63)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:99)
at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:111)
at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:172)
at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:202)
at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1635)
at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:53)
at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:202)
at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1635)
at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:86)
at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:202)
at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1635)
at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30)
at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:202)
at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1635)
at jenkins.security.SuspiciousRequestFilter.doFilter(SuspiciousRequestFilter.java:38)
at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:202)
at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1635)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:527)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:131)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:549)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:223)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1570)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:221)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1383)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:176)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:484)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1543)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:174)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1305)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:129)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)
at org.eclipse.jetty.server.Server.handle(Server.java:563)
at org.eclipse.jetty.server.HttpChannel.lambda$handle$0(HttpChannel.java:505)
at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:762)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:497)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:282)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:314)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:100)
at org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:53)
at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.runTask(AdaptiveExecutionStrategy.java:416)
at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.consumeTask(AdaptiveExecutionStrategy.java:385)
at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:272)
at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.lambda$new$0(AdaptiveExecutionStrategy.java:140)
at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:411)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:934)
at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1078)
at java.base/java.lang.Thread.run(Thread.java:829)

What Operating System are you using (both controller, and any agents involved in the problem)?

a

Reproduction steps

a

Expected Results

a

Actual Results

a

Anything else?

No response

Problem with csv data not handled

Jenkins and plugins versions report

Environment
Jenkins: 2.361.2
OS: Windows 11 - 10.0
---
ace-editor:1.1
analysis-model-api:10.17.0
ant:481.v7b_09e538fcca
antisamy-markup-formatter:2.7
apache-httpcomponents-client-4-api:4.5.13-138.v4e7d9a_7b_a_e61
bootstrap4-api:4.6.0-5
bootstrap5-api:5.2.1-3
bouncycastle-api:2.26
branch-api:2.1046.v0ca_37783ecc5
build-failure-analyzer:2.4.0
build-monitor-plugin:1.13+build.202205140447
build-timeout:1.24
caffeine-api:2.9.3-65.v6a_47d0f4d1fe
checks-api:1.7.5
cloudbees-folder:6.758.vfd75d09eea_a_1
command-launcher:90.v669d7ccb_7c31
commons-lang3-api:3.12.0-36.vd97de6465d5b_
commons-text-api:1.9-19.v8df45c678366
content-replace:1.7.0
credentials:1189.vf61b_a_5e2f62e
credentials-binding:523.vd859a_4b_122e6
data-tables-api:1.12.1-4
display-url-api:2.3.6
durable-task:501.ve5d4fc08b0be
echarts-api:5.4.0-1
email-ext:2.92
font-awesome-api:6.2.0-3
forensics-api:1.16.0
git:4.12.1
git-client:3.12.1
git-parameter:0.9.18
git-server:99.va_0826a_b_cdfa_d
github:1.35.0
github-api:1.303-400.v35c2d8258028
github-branch-source:1695.v88de84e9f6b_9
gradle:1.40
handlebars:3.0.8
instance-identity:116.vf8f487400980
ionicons-api:28.va_f3a_84439e5f
jackson2-api:2.13.4-293.vee957901b_6fb
jakarta-activation-api:2.0.1-2
jakarta-mail-api:2.0.1-2
javax-activation-api:1.2.0-5
javax-mail-api:1.6.2-8
jaxb:2.3.6-2
jdk-tool:55.v1b_32b_6ca_f9ca
jjwt-api:0.11.5-77.v646c772fddb_0
jnr-posix-api:3.1.15-2
jquery:1.12.4-1
jquery3-api:3.6.1-2
jsch:0.1.55.61.va_e9ee26616e7
junit:1150.v5c2848328b_60
ldap:2.12
lockable-resources:2.18
mailer:438.v02c7f0a_12fa_4
matrix-auth:3.1.5
matrix-project:785.v06b_7f47b_c631
memory-map:2.2.1 (53614)
metrics:4.2.10-389.v93143621b_050
mina-sshd-api-common:2.9.1-44.v476733c11f82
mina-sshd-api-core:2.9.1-44.v476733c11f82
momentjs:1.1.1
nested-data-reporting:5.0.0
okhttp-api:4.9.3-108.v0feda04578cf
pam-auth:1.10
pipeline-build-step:2.18
pipeline-github-lib:38.v445716ea_edda_
pipeline-graph-analysis:195.v5812d95a_a_2f9
pipeline-groovy-lib:612.v84da_9c54906d
pipeline-input-step:451.vf1a_a_4f405289
pipeline-milestone-step:101.vd572fef9d926
pipeline-model-api:2.2114.v2654ca_721309
pipeline-model-definition:2.2114.v2654ca_721309
pipeline-model-extensions:2.2114.v2654ca_721309
pipeline-rest-api:2.26
pipeline-stage-step:296.v5f6908f017a_5
pipeline-stage-tags-metadata:2.2114.v2654ca_721309
pipeline-stage-view:2.26
pipeline-utility-steps:2.13.0
plain-credentials:139.ved2b_9cf7587b
plugin-util-api:2.18.0
popper-api:1.16.1-3
popper2-api:2.11.6-2
prism-api:1.29.0-1
resource-disposer:0.20
scm-api:621.vda_a_b_055e58f7
script-security:1183.v774b_0b_0a_a_451
snakeyaml-api:1.32-86.ve3f030a_75631
ssh-credentials:305.v8f4381501156
ssh-slaves:2.846.v1b_70190624f5
sshd:3.249.v2dc2ea_416e33
structs:324.va_f5d6774f3a_d
timestamper:1.20
token-macro:308.v4f2b_ed62b_b_16
trilead-api:2.72.v2a_3236754f73
variant:59.vf075fe829ccb
warnings-ng:9.20.1
workflow-aggregator:590.v6a_d052e5a_a_b_5
workflow-api:1198.v4596ea_5329b_6
workflow-basic-steps:994.vd57e3ca_46d24
workflow-cps:2802.v5ea_628154b_c2
workflow-durable-task-step:1199.v02b_9244f8064
workflow-job:1239.v71b_b_a_124a_725
workflow-multibranch:716.vc692a_e52371b_
workflow-scm-step:400.v6b_89a_1317c9a_
workflow-step-api:639.v6eca_cd8c04a_a_
workflow-support:838.va_3a_087b_4055b
ws-cleanup:0.43

What Operating System are you using (both controller, and any agents involved in the problem)?

windows 11

Reproduction steps

I tested with the following csv file:

Level 1,Level 2,Level 3,incorrect,manually,accurate
Aktie,Aktie 1,Aktie 1 1,13,3,59
Aktie,Aktie,Aktie 1 2,31,48,9
Aktie,Aktie 1,Aktie 1 3,34,8,51
Derivat,Aktie 1,,1,2,3
Derivat,Derivat 2,,5,9,1
Not Found???,,,1,3,9

Main differences from template in the project is:

Label "Aktie" is present in first column or second column and it cause a problem (Atkie is not displayed anymore)

I put a special symbol at last line Not Found??? : The line is displayed but when I click the link "Nof found", the link goes to build main page

It seems that if same label is present in 2 columns, data are crashed
If same label is present in column 2 but with different fields in column 1, data are crashed
See rendered chart

image

run the plugin with the provided data in the description

Expected Results

Expected rendering similar to the example

Actual Results

Missing some lines

Anything else?

No response

Want to pass additional data in "items" beside test-result counts and not show them all on same pie chart

What feature do you want to see added?

Our JSON test summaries are parsed from maven verdicts lines and include the time consumption of a test.

Currently the plugin treats all numbers equally, so the pie chart has (say) a small section for 10 passed tests and big section for 200 sec the tests took to execute - which is not really useful. It also displays the info in a table, which is helpful to compare different suites (maybe notice run-away tests that had to time out) and gauge evolution over time.

This RFE is about choosing the best idea to move forward. Notably it seems partially overlapped with earlier issues like #55

  • Note: actual timings are fractional like "123.45s" - per #108 I suppose they are rounded/truncated to integers, not ignored - right?

One idea I've had was to add an optional map (similar to "color" map) to define a list of pie charts and which item keys go where (possibly some columns get represented in several charts; maybe some columns are not exposed anywhere); if this map is absent - default is to put everything on same chart as it is now.

A loose example below aims to render one chart with just the verdicts, no times:

{
  "id": "my report",
  "items": [
    { "id": "testSuite1", "results": {"passed": 3, "failed": 0, "skipped": 1, "timesec": 25} },
    { "id": "testSuite2", "results": {"passed": 8, "failed": 3, "skipped": 0, "timesec": 1200} },
    { "id": "testSuite3", "results": {"passed": 1, "failed": 0, "skipped": 4, "timesec": 5} },
    { "id": "testSuite4", "results": {"passed": 10, "failed": 0, "skipped": 0, "timesec": 250} }
  ],
  "colors": {
    "passed": "GREEN",
    "failed": "RED",
    "skipped": "YELLOW"
  },
  "charts": [
    { "id": "chart1", "keys": ["passed", "failed", "skipped"]}
  ]
}

I suppose a useful other chart would map the id's of each item vs. timesec spent by each, so there would be a pie with 4 slices for this example, but wording that as a map may need some thinking.

Maybe if there is one entry in "keys" - iterate over "id" (or "name") of each "item" for the chart, e.g. to compare how many tests passed in each suite? This would be consistent with "Aktie/Rente" example from the README:

  "charts": [
    { "id": "chart2", "keys": ["passed"]},
    { "id": "chart3", "keys": ["timesec"]}
  ]

Yet another useful chart could be a run-time summary to compare the total amount of tests across suites (so treated as a single "keys" with a value calculated from a list of results columns for each item), somewhat like:

  "charts": [
    { "id": "chart4", "sum-of": ["passed", "failed", "skipped"]}
  ]

(this approach seems extensible to other predefined formulas named reasonably like sum-of is here).

Upstream changes

No response

Add options for columns generation in Distribution area

What feature do you want to see added?

In the example, it would be good to choose between the following possibilities:

  • only 1 column (numbers or percent)
  • 2 column (raw data + percent)
  • 1 column (raw data with percent like - 593 (17%))

This feature would save space (if there is multiple columns, data are displayed un percent so there is 2 times more columns)

Upstream changes

No response

In the field chart, latest level of data has an hyperlink without any utility

Jenkins and plugins versions report

Environment
Jenkins: 2.361.2
OS: Windows 11 - 10.0
---
ace-editor:1.1
analysis-model-api:10.17.0
ant:481.v7b_09e538fcca
antisamy-markup-formatter:2.7
apache-httpcomponents-client-4-api:4.5.13-138.v4e7d9a_7b_a_e61
bootstrap4-api:4.6.0-5
bootstrap5-api:5.2.1-3
bouncycastle-api:2.26
branch-api:2.1046.v0ca_37783ecc5
build-failure-analyzer:2.4.0
build-monitor-plugin:1.13+build.202205140447
build-timeout:1.24
caffeine-api:2.9.3-65.v6a_47d0f4d1fe
checks-api:1.7.5
cloudbees-folder:6.758.vfd75d09eea_a_1
command-launcher:90.v669d7ccb_7c31
commons-lang3-api:3.12.0-36.vd97de6465d5b_
commons-text-api:1.9-19.v8df45c678366
content-replace:1.7.0
credentials:1189.vf61b_a_5e2f62e
credentials-binding:523.vd859a_4b_122e6
data-tables-api:1.12.1-4
display-url-api:2.3.6
durable-task:501.ve5d4fc08b0be
echarts-api:5.4.0-1
email-ext:2.92
font-awesome-api:6.2.0-3
forensics-api:1.16.0
git:4.12.1
git-client:3.12.1
git-parameter:0.9.18
git-server:99.va_0826a_b_cdfa_d
github:1.35.0
github-api:1.303-400.v35c2d8258028
github-branch-source:1695.v88de84e9f6b_9
gradle:1.40
handlebars:3.0.8
instance-identity:116.vf8f487400980
ionicons-api:28.va_f3a_84439e5f
jackson2-api:2.13.4-293.vee957901b_6fb
jakarta-activation-api:2.0.1-2
jakarta-mail-api:2.0.1-2
javax-activation-api:1.2.0-5
javax-mail-api:1.6.2-8
jaxb:2.3.6-2
jdk-tool:55.v1b_32b_6ca_f9ca
jjwt-api:0.11.5-77.v646c772fddb_0
jnr-posix-api:3.1.15-2
jquery:1.12.4-1
jquery3-api:3.6.1-2
jsch:0.1.55.61.va_e9ee26616e7
junit:1150.v5c2848328b_60
ldap:2.12
lockable-resources:2.18
mailer:438.v02c7f0a_12fa_4
matrix-auth:3.1.5
matrix-project:785.v06b_7f47b_c631
memory-map:2.2.1 (53614)
metrics:4.2.10-389.v93143621b_050
mina-sshd-api-common:2.9.1-44.v476733c11f82
mina-sshd-api-core:2.9.1-44.v476733c11f82
momentjs:1.1.1
nested-data-reporting:5.0.0
okhttp-api:4.9.3-108.v0feda04578cf
pam-auth:1.10
pipeline-build-step:2.18
pipeline-github-lib:38.v445716ea_edda_
pipeline-graph-analysis:195.v5812d95a_a_2f9
pipeline-groovy-lib:612.v84da_9c54906d
pipeline-input-step:451.vf1a_a_4f405289
pipeline-milestone-step:101.vd572fef9d926
pipeline-model-api:2.2114.v2654ca_721309
pipeline-model-definition:2.2114.v2654ca_721309
pipeline-model-extensions:2.2114.v2654ca_721309
pipeline-rest-api:2.26
pipeline-stage-step:296.v5f6908f017a_5
pipeline-stage-tags-metadata:2.2114.v2654ca_721309
pipeline-stage-view:2.26
pipeline-utility-steps:2.13.0
plain-credentials:139.ved2b_9cf7587b
plugin-util-api:2.18.0
popper-api:1.16.1-3
popper2-api:2.11.6-2
prism-api:1.29.0-1
resource-disposer:0.20
scm-api:621.vda_a_b_055e58f7
script-security:1183.v774b_0b_0a_a_451
snakeyaml-api:1.32-86.ve3f030a_75631
ssh-credentials:305.v8f4381501156
ssh-slaves:2.846.v1b_70190624f5
sshd:3.249.v2dc2ea_416e33
structs:324.va_f5d6774f3a_d
timestamper:1.20
token-macro:308.v4f2b_ed62b_b_16
trilead-api:2.72.v2a_3236754f73
variant:59.vf075fe829ccb
warnings-ng:9.20.1
workflow-aggregator:590.v6a_d052e5a_a_b_5
workflow-api:1198.v4596ea_5329b_6
workflow-basic-steps:994.vd57e3ca_46d24
workflow-cps:2802.v5ea_628154b_c2
workflow-durable-task-step:1199.v02b_9244f8064
workflow-job:1239.v71b_b_a_124a_725
workflow-multibranch:716.vc692a_e52371b_
workflow-scm-step:400.v6b_89a_1317c9a_
workflow-step-api:639.v6eca_cd8c04a_a_
workflow-support:838.va_3a_087b_4055b
ws-cleanup:0.43

What Operating System are you using (both controller, and any agents involved in the problem)?

windows 11

Reproduction steps

run any example (I test with csv file).
When I click to elements, I opens childs field but the latest child has an active hyperling which has no utility

See picture
image

Aktie 1 1 are terminal childs. So there should be no hyperlink to open details.
When I click to Aktie 1 1, it dispays something but it is useless
image

Expected Results

There should be no hyperlink for items without childs

Actual Results

Items without childs can be opened

Anything else?

No response

How to show only table

What feature do you want to see added?

I need to show only pure table data. No charts, graphs ...
It is possible here. I checked the code and can not find any solution for that now.

Thx

Upstream changes

No response

improve color management

What feature do you want to see added?

When user doesnt provide colors, aleatory colors are created. Problem is when a data is associated with a random color, next build, will there be a new random color associated with a data ( it might be disturbing to see colors changing over builds)

I suggest définition of color thèmes (palette) which exists in Microsoft office. Association of a data with a color could be made aleatory, or according alphabetical order or number classification.
And option could be added (for example colorTheme = light or grayGradient, or rainbow....). Various theme exists and some themes could be copied from Microsoft office

Upstream changes

No response

improve plugin description

Describe your use-case which is not covered by existing documentation.

In the plugin description, adding keywords to improve plugin visibilité (like excel, metrics, data charts, pie charts, plot...). These changes would make more easy to find this plugin in Jenkins plugin search engine.

Reference any relevant documentation, other materials or issues/pull requests that can be used for inspiration.

No response

Item without child are expected to have no hyperlinks

Jenkins and plugins versions report

Environment
Jenkins: 2.361.2
OS: Windows 11 - 10.0
---
ace-editor:1.1
analysis-model-api:10.17.0
ant:481.v7b_09e538fcca
antisamy-markup-formatter:2.7
apache-httpcomponents-client-4-api:4.5.13-138.v4e7d9a_7b_a_e61
bootstrap4-api:4.6.0-5
bootstrap5-api:5.2.1-3
bouncycastle-api:2.26
branch-api:2.1046.v0ca_37783ecc5
build-failure-analyzer:2.4.0
build-monitor-plugin:1.13+build.202205140447
build-timeout:1.24
caffeine-api:2.9.3-65.v6a_47d0f4d1fe
checks-api:1.7.5
cloudbees-folder:6.758.vfd75d09eea_a_1
command-launcher:90.v669d7ccb_7c31
commons-lang3-api:3.12.0-36.vd97de6465d5b_
commons-text-api:1.9-19.v8df45c678366
content-replace:1.7.0
credentials:1189.vf61b_a_5e2f62e
credentials-binding:523.vd859a_4b_122e6
data-tables-api:1.12.1-4
display-url-api:2.3.6
durable-task:501.ve5d4fc08b0be
echarts-api:5.4.0-1
email-ext:2.92
font-awesome-api:6.2.0-3
forensics-api:1.16.0
git:4.12.1
git-client:3.12.1
git-parameter:0.9.18
git-server:99.va_0826a_b_cdfa_d
github:1.35.0
github-api:1.303-400.v35c2d8258028
github-branch-source:1695.v88de84e9f6b_9
gradle:1.40
handlebars:3.0.8
instance-identity:116.vf8f487400980
ionicons-api:28.va_f3a_84439e5f
jackson2-api:2.13.4-293.vee957901b_6fb
jakarta-activation-api:2.0.1-2
jakarta-mail-api:2.0.1-2
javax-activation-api:1.2.0-5
javax-mail-api:1.6.2-8
jaxb:2.3.6-2
jdk-tool:55.v1b_32b_6ca_f9ca
jjwt-api:0.11.5-77.v646c772fddb_0
jnr-posix-api:3.1.15-2
jquery:1.12.4-1
jquery3-api:3.6.1-2
jsch:0.1.55.61.va_e9ee26616e7
junit:1150.v5c2848328b_60
ldap:2.12
lockable-resources:2.18
mailer:438.v02c7f0a_12fa_4
matrix-auth:3.1.5
matrix-project:785.v06b_7f47b_c631
memory-map:2.2.1 (53614)
metrics:4.2.10-389.v93143621b_050
mina-sshd-api-common:2.9.1-44.v476733c11f82
mina-sshd-api-core:2.9.1-44.v476733c11f82
momentjs:1.1.1
nested-data-reporting:5.1.0
okhttp-api:4.9.3-108.v0feda04578cf
pam-auth:1.10
pipeline-build-step:2.18
pipeline-github-lib:38.v445716ea_edda_
pipeline-graph-analysis:195.v5812d95a_a_2f9
pipeline-groovy-lib:612.v84da_9c54906d
pipeline-input-step:451.vf1a_a_4f405289
pipeline-milestone-step:101.vd572fef9d926
pipeline-model-api:2.2114.v2654ca_721309
pipeline-model-definition:2.2114.v2654ca_721309
pipeline-model-extensions:2.2114.v2654ca_721309
pipeline-rest-api:2.26
pipeline-stage-step:296.v5f6908f017a_5
pipeline-stage-tags-metadata:2.2114.v2654ca_721309
pipeline-stage-view:2.26
pipeline-utility-steps:2.13.0
plain-credentials:139.ved2b_9cf7587b
plugin-util-api:2.18.0
popper-api:1.16.1-3
popper2-api:2.11.6-2
prism-api:1.29.0-1
resource-disposer:0.20
scm-api:621.vda_a_b_055e58f7
script-security:1183.v774b_0b_0a_a_451
snakeyaml-api:1.32-86.ve3f030a_75631
ssh-credentials:305.v8f4381501156
ssh-slaves:2.846.v1b_70190624f5
sshd:3.249.v2dc2ea_416e33
structs:324.va_f5d6774f3a_d
timestamper:1.20
token-macro:308.v4f2b_ed62b_b_16
trilead-api:2.72.v2a_3236754f73
variant:59.vf075fe829ccb
warnings-ng:9.20.1
workflow-aggregator:590.v6a_d052e5a_a_b_5
workflow-api:1198.v4596ea_5329b_6
workflow-basic-steps:994.vd57e3ca_46d24
workflow-cps:2802.v5ea_628154b_c2
workflow-durable-task-step:1199.v02b_9244f8064
workflow-job:1239.v71b_b_a_124a_725
workflow-multibranch:716.vc692a_e52371b_
workflow-scm-step:400.v6b_89a_1317c9a_
workflow-step-api:639.v6eca_cd8c04a_a_
workflow-support:838.va_3a_087b_4055b
ws-cleanup:0.43

What Operating System are you using (both controller, and any agents involved in the problem)?

Windows 11

Reproduction steps

I run publish report with the official example report csv file.

When an Item has no child, there shouldn't be any hyperlink for item Atkie 1 1 ... (when we enter inside, the list is empty, and inside Atkie 1 1, the view doesn't bring any information - the overview pie chart is the same than the distribution bar)

Expected Results

When an Item has no child, there shouldn't be any hyperlink for item Atkie 1 1 ... (when we enter inside, the list is empty dans inside Atkie 1 1, the view doesn't bring any information - the overview pie chart is the same than the distribution bar)

Actual Results

image

Hyperlinks exists for item without childs

Anything else?

No response

`JobAction` trend charts throwing errors in console log

Jenkins and plugins versions report

Environment
Paste the output here

What Operating System are you using (both controller, and any agents involved in the problem)?

.

Reproduction steps

.

Expected Results

.

Actual Results

.

Anything else?

.

History graph is flat across runs with different values

Jenkins and plugins versions report

Environment
Jenkins: 2.346.1
OS: Linux - 4.14.281-212.502.amzn2.x86_64
---  
nested-data-reporting:3.4.0

What Operating System are you using (both controller, and any agents involved in the problem)?

Linux - 4.14.281-212.502.amzn2.x86_64

Reproduction steps

Ran multiple jobs with different values for lt5 and gt5

publishReport jsonString: '{"items":[{"id":"payment","name":"Payments","result":{"lt5":99,"gt5":1}},{"id":"shipping","name":"Shipping","result":{"lt5":99,"gt5":1}}],"colors":{"gt5":"#EF9A9A","lt5":"#FFF59D"}}'

Expected Results

Trend graph inside the job should show value of each run, similar to chart on main trend graph in main page.
expected

Actual Results

History trend graph inside the job shows latest value for all runs (current and prior runs). The graph is flatlined across all runs same values.
actual

Anything else?

No response

reportJobAction urlName redirecting to wrong report

Jenkins and plugins versions report

Environment
Paste the output here

What Operating System are you using (both controller, and any agents involved in the problem)?

.

Reproduction steps

.

Expected Results

.

Actual Results

.

Anything else?

No response

Percentage value are calculated by row instead of by column

Jenkins and plugins versions report

Environment
Jenkins: 2.361.1
OS: Windows 11 - 10.0
---
ace-editor:1.1
analysis-model-api:10.16.1
ant:475.vf34069fef73c
antisamy-markup-formatter:2.7
apache-httpcomponents-client-4-api:4.5.13-138.v4e7d9a_7b_a_e61
bootstrap4-api:4.6.0-5
bootstrap5-api:5.2.0-3
bouncycastle-api:2.26
branch-api:2.1046.v0ca_37783ecc5
build-failure-analyzer:2.4.0
build-monitor-plugin:1.13+build.202205140447
build-timeout:1.24
caffeine-api:2.9.3-65.v6a_47d0f4d1fe
checks-api:1.7.5
cloudbees-folder:6.758.vfd75d09eea_a_1
command-launcher:84.v4a_97f2027398
content-replace:1.7.0
credentials:1143.vb_e8b_b_ceee347
credentials-binding:523.vd859a_4b_122e6
data-tables-api:1.12.1-3
display-url-api:2.3.6
durable-task:500.v8927d9fd99d8
echarts-api:5.3.3-1
email-ext:2.91
font-awesome-api:6.1.2-1
forensics-api:1.15.1
git:4.11.5
git-client:3.11.2
git-parameter:0.9.17
git-server:99.va_0826a_b_cdfa_d
github:1.35.0
github-api:1.303-400.v35c2d8258028
github-branch-source:1694.vd46793a_c4a_57
gradle:1.39.4
handlebars:3.0.8
instance-identity:116.vf8f487400980
jackson2-api:2.13.3-285.vc03c0256d517
jakarta-activation-api:2.0.1-1
jakarta-mail-api:2.0.1-1
javax-activation-api:1.2.0-4
javax-mail-api:1.6.2-7
jaxb:2.3.6-1
jdk-tool:55.v1b_32b_6ca_f9ca
jjwt-api:0.11.5-77.v646c772fddb_0
jnr-posix-api:3.1.15-1
jquery:1.12.4-1
jquery3-api:3.6.0-4
jsch:0.1.55.61.va_e9ee26616e7
junit:1119.1121.vc43d0fc45561
ldap:2.12
lockable-resources:2.16
mailer:438.v02c7f0a_12fa_4
matrix-auth:3.1.5
matrix-project:785.v06b_7f47b_c631
memory-map:2.2.1 (53614)
metrics:4.2.10-389.v93143621b_050
mina-sshd-api-common:2.8.0-36.v8e25ce90d4b_1
mina-sshd-api-core:2.8.0-36.v8e25ce90d4b_1
momentjs:1.1.1
nested-data-reporting:4.0.0
okhttp-api:4.9.3-108.v0feda04578cf
pam-auth:1.10
pipeline-build-step:2.18
pipeline-github-lib:38.v445716ea_edda_
pipeline-graph-analysis:195.v5812d95a_a_2f9
pipeline-groovy-lib:612.v84da_9c54906d
pipeline-input-step:449.v77f0e8b_845c4
pipeline-milestone-step:101.vd572fef9d926
pipeline-model-api:2.2114.v2654ca_721309
pipeline-model-definition:2.2114.v2654ca_721309
pipeline-model-extensions:2.2114.v2654ca_721309
pipeline-rest-api:2.24
pipeline-stage-step:296.v5f6908f017a_5
pipeline-stage-tags-metadata:2.2114.v2654ca_721309
pipeline-stage-view:2.24
pipeline-utility-steps:2.13.0
plain-credentials:139.ved2b_9cf7587b
plugin-util-api:2.17.0
popper-api:1.16.1-3
popper2-api:2.11.6-1
prism-api:1.28.0-2
resource-disposer:0.20
scm-api:621.vda_a_b_055e58f7
script-security:1175.v4b_d517d6db_f0
snakeyaml-api:1.31-84.ve43da_fb_49d0b
ssh-credentials:305.v8f4381501156
ssh-slaves:1.834.v622da_57f702c
sshd:3.249.v2dc2ea_416e33
structs:324.va_f5d6774f3a_d
timestamper:1.19
token-macro:308.v4f2b_ed62b_b_16
trilead-api:2.72.v2a_3236754f73
variant:59.vf075fe829ccb
warnings-ng:9.19.1
workflow-aggregator:590.v6a_d052e5a_a_b_5
workflow-api:1192.v2d0deb_19d212
workflow-basic-steps:994.vd57e3ca_46d24
workflow-cps:2759.v87459c4eea_ca_
workflow-durable-task-step:1199.v02b_9244f8064
workflow-job:1232.v5a_4c994312f1
workflow-multibranch:716.vc692a_e52371b_
workflow-scm-step:400.v6b_89a_1317c9a_
workflow-step-api:639.v6eca_cd8c04a_a_
workflow-support:838.va_3a_087b_4055b
ws-cleanup:0.43

What Operating System are you using (both controller, and any agents involved in the problem)?

windows 11

Reproduction steps

build report and view distribution area

Expected Results

I expect to see percentage relative to Total numbers.

Actual Results

Percentage are calculated from row total (similar to "Distribution" column)
I don't know if it is a bug or if it could be an option.

image

Anything else?

No response

Improve file format handling

What feature do you want to see added?

For the publishReport, I suggest to take inspiration from warning ng plugin.
For now the main format to support is csv, json, yaml (with specific syntax). Maybe some future files will be supported

  • Generic CSV (simple file format accessible)
    publishReport(tools: [simpleCsv(id: 'customId', name: 'customName', pattern: '*.csv')])

  • json + yaml + xml (plugin internal data format)
    publishReport(tools: [nativeJson(id: 'customId', name: 'customName', pattern: '.json')])
    publishReport(tools: [nativeYaml(id: 'customId', name: 'customName', pattern: '
    .yaml')])
    publishReport(tools: [nativeXml(id: 'customId', name: 'customName', pattern: '*.xml')])

In the future (with tool popularity increasing), other format might be supported (file from specific standards for metric data)

Upstream changes

No response

adjust documentation for new api

Describe your use-case which is not covered by existing documentation.

  • README
  • pipeline step jelly files with help

Reference any relevant documentation, other materials or issues/pull requests that can be used for inspiration.

No response

Improve csv file handling (separator and file encoding)

What feature do you want to see added?

Currently, for csv file, field separator is set to ",".
Depending on data, this field can be different.
It would be good to have an option for csv files (sep, delimiter???) which could be set to '\t', ",", ";", ":"... or any user character.

For file encoding, my data use UTF-8. I don't know if the tool autodetect encoding or if data with other encoding might cause problems.

Upstream changes

No response

Add intective in history diagram

What feature do you want to see added?

When I click in history I expect to open metrics from previous buid.
In practice, when I click anywhere in history, nothing is done

image

Upstream changes

No response

[URGENT] nested-data-reporting-plugin no longer works when updating echarts-api plugin from 5.4.0-3 to 5.4.0-4

Jenkins and plugins versions report

Environment
Jenkins v2.387.3, nested-data-reporting-plugin v5.2.1, echarts-api plugin 5.4.0-4

What Operating System are you using (both controller, and any agents involved in the problem)?

any

Reproduction steps

update echarts-api plugin from 5.4.0-3 to 5.4.0-4

Expected Results

nested-data-reporting-plugin must display trend graph

Actual Results

nested-data-reporting-plugin no longer works

Anything else?

Trend graph are no longer displayed.

Jobs using Nested Data Reporting plugin, are loaded with the following warning :
WARNING hudson.model.Run#onLoad: failed to load io.jenkins.plugins.reporter.ReportAction@1415692a from C:\Jenkins\jobs\test\jobs\test-nested-data-report\builds\10\build.xml
java.lang.NullPointerException

Jobs using Nested Data Reporting plugin, fails to run with the following error :
java.lang.ClassNotFoundException: org.eclipse.collections.impl.factory.Sets

Could you fix this problem, please?
Thanks in advance

Table `toggle` disappears after hovering

Jenkins and plugins versions report

Environment
Paste the output here

What Operating System are you using (both controller, and any agents involved in the problem)?

.

Reproduction steps

.

Expected Results

.

Actual Results

.

Anything else?

.

Overview pie chart

What feature do you want to see added?

Add the possibility to define some limits for each columns.
Then in overview, I would be nice to have a pie chart like this :
image

For example in the example, if target of incorrect column is 20000, then we can view the percent of the limit reached.

I don't know if limit target can be defined in pipeline option, or as an attribute in json file

Upstream changes

No response

Multiple json files management

What feature do you want to see added?

It's not a feature request but an open question:

  • if we have multiple json files, multiple diagrams will be created (1 file = 1 report).

If we define same id and same report name in json file, all data are not merged and the plugin create multiple reports

How to force inside json file to indicate the right data set.
For example if I have 10 json files:

  • File 1 to 4 go to report 1
  • File 5 to 10 go to report 2
    In the current design, 10 reports will be created
    image

So for multiple file I see many options:

  • Generate only 1 report (merging all data) but json files needs to be similar in columns
  • Merge all files with same Id/Same report name? (json must be compatible each others or define 0 for undefined columns)

Upstream changes

No response

last stage in reports has no history chart available

Jenkins and plugins versions report

Environment
Paste the output here

What Operating System are you using (both controller, and any agents involved in the problem)?

.

Reproduction steps

.

Expected Results

the last stage of report has history chart

Actual Results

the last stage of report has no history chart

Anything else?

No response

[csv] When raw csv file contains many consecutive values set to zero, layout is badly displayed

Jenkins and plugins versions report

Environment
Jenkins: 2.361.2
OS: Windows 10 - 10.0
---
ace-editor:1.1
analysis-model-api:10.17.0
ant:481.v7b_09e538fcca
antisamy-markup-formatter:2.7
apache-httpcomponents-client-4-api:4.5.13-138.v4e7d9a_7b_a_e61
bootstrap5-api:5.2.1-3
bouncycastle-api:2.26
branch-api:2.1046.v0ca_37783ecc5
build-failure-analyzer:2.4.0
build-timeout:1.24
caffeine-api:2.9.3-65.v6a_47d0f4d1fe
checks-api:1.7.5
cloudbees-folder:6.758.vfd75d09eea_a_1
command-launcher:90.v669d7ccb_7c31
commons-lang3-api:3.12.0-36.vd97de6465d5b_
commons-text-api:1.9-19.v8df45c678366
content-replace:1.7.0
credentials:1189.vf61b_a_5e2f62e
credentials-binding:523.vd859a_4b_122e6
dashboard-view:2.447.vda_124dd35f11
data-tables-api:1.12.1-4
display-url-api:2.3.6
durable-task:501.ve5d4fc08b0be
echarts-api:5.4.0-1
email-ext:2.92
font-awesome-api:6.2.0-3
forensics-api:1.16.0
git:4.12.1
git-client:3.12.1
git-forensics:1.11.0
git-parameter:0.9.18
github:1.35.0
github-api:1.303-400.v35c2d8258028
github-branch-source:1695.v88de84e9f6b_9
gradle:1.40
handlebars:3.0.8
instance-identity:116.vf8f487400980
ionicons-api:28.va_f3a_84439e5f
jackson2-api:2.13.4-293.vee957901b_6fb
jakarta-activation-api:2.0.1-2
jakarta-mail-api:2.0.1-2
javax-activation-api:1.2.0-5
javax-mail-api:1.6.2-8
jaxb:2.3.6-2
jdk-tool:55.v1b_32b_6ca_f9ca
jjwt-api:0.11.5-77.v646c772fddb_0
jquery:1.12.4-1
jquery3-api:3.6.1-2
jsch:0.1.55.61.va_e9ee26616e7
junit:1150.v5c2848328b_60
last-changes:2.7.11
ldap:2.12
mailer:438.v02c7f0a_12fa_4
mapdb-api:1.0.9-28.vf251ce40855d
matrix-auth:3.1.5
matrix-project:785.v06b_7f47b_c631
metrics:4.2.10-389.v93143621b_050
mina-sshd-api-common:2.9.1-44.v476733c11f82
mina-sshd-api-core:2.9.1-44.v476733c11f82
momentjs:1.1.1
nested-data-reporting:5.1.0
okhttp-api:4.9.3-108.v0feda04578cf
pam-auth:1.10
pipeline-build-step:2.18
pipeline-github-lib:38.v445716ea_edda_
pipeline-graph-analysis:195.v5812d95a_a_2f9
pipeline-groovy-lib:612.v84da_9c54906d
pipeline-input-step:451.vf1a_a_4f405289
pipeline-milestone-step:101.vd572fef9d926
pipeline-model-api:2.2114.v2654ca_721309
pipeline-model-definition:2.2114.v2654ca_721309
pipeline-model-extensions:2.2114.v2654ca_721309
pipeline-rest-api:2.26
pipeline-stage-step:296.v5f6908f017a_5
pipeline-stage-tags-metadata:2.2114.v2654ca_721309
pipeline-stage-view:2.26
pipeline-utility-steps:2.13.0
plain-credentials:139.ved2b_9cf7587b
plugin-util-api:2.18.0
popper2-api:2.11.6-2
prism-api:1.29.0-1
resource-disposer:0.20
scm-api:621.vda_a_b_055e58f7
script-security:1183.v774b_0b_0a_a_451
snakeyaml-api:1.32-86.ve3f030a_75631
ssh-credentials:305.v8f4381501156
ssh-slaves:2.846.v1b_70190624f5
sshd:3.249.v2dc2ea_416e33
structs:324.va_f5d6774f3a_d
subversion:2.16.0
timestamper:1.20
token-macro:308.v4f2b_ed62b_b_16
trilead-api:2.72.v2a_3236754f73
variant:59.vf075fe829ccb
warnings-ng:9.20.1
workflow-aggregator:590.v6a_d052e5a_a_b_5
workflow-api:1198.v4596ea_5329b_6
workflow-basic-steps:994.vd57e3ca_46d24
workflow-cps:2802.v5ea_628154b_c2
workflow-durable-task-step:1199.v02b_9244f8064
workflow-job:1239.v71b_b_a_124a_725
workflow-multibranch:716.vc692a_e52371b_
workflow-scm-step:400.v6b_89a_1317c9a_
workflow-step-api:639.v6eca_cd8c04a_a_
workflow-support:838.va_3a_087b_4055b
ws-cleanup:0.43

What Operating System are you using (both controller, and any agents involved in the problem)?

windows 10

Reproduction steps

Use these data (from example)
my change consisted to put consecutive values to 0

Aktie,Aktie 1,Aktie 1 1,13,0,0        (2 last values set to 0)
Aktie,Aktie 1,Aktie 1 3,0,0,51       (2 values set to 0 in the middle columns)

Level 1,Level 2,Level 3,incorrect,manually,accurate
Aktie,Aktie 1,Aktie 1 1,13,0,0
Aktie,Aktie 1,Aktie 1 2,31,48,9
Aktie,Aktie 1,Aktie 1 3,0,0,51
Derivat,Derivat 1,,1,2,3
Derivat,Derivat 2,,5,9,1
Not Found,,,1,3,9

Expected Results

I expect to see values set to 0

Actual Results

image

The first value of 0 is taken into account, but the tool considers that column is missing for second zero

Anything else?

No response

History chart for level 2+ not shown

Jenkins and plugins versions report

Environment
Paste the output here

What Operating System are you using (both controller, and any agents involved in the problem)?

.

Reproduction steps

.

Expected Results

..

Actual Results

.

Anything else?

No response

`NoClassDefFoundError: org/eclipse/collections/impl/factory/Sets` - while using the sample in readme

Jenkins and plugins versions report

Environment
Jenkins: 2.401.1
OS: Linux - 5.10.179-171.711.amzn2.x86_64
Java: 11.0.19 - Amazon.com Inc. (OpenJDK 64-Bit Server VM)
---
active-directory:2.30
analysis-model-api:11.3.0
ant:487.vd79d090d4ea_e
antisamy-markup-formatter:159.v25b_c67cd35fb_
apache-httpcomponents-client-4-api:4.5.14-150.v7a_b_9d17134a_5
apache-httpcomponents-client-5-api:5.2.1-1.0
authentication-tokens:1.53.v1c90fd9191a_b_
aws-credentials:191.vcb_f183ce58b_9
aws-java-sdk-ec2:1.12.481-392.v8b_291cfcda_09
aws-java-sdk-minimal:1.12.481-392.v8b_291cfcda_09
blueocean-autofavorite:1.2.5
blueocean-bitbucket-pipeline:1.27.4
blueocean-commons:1.27.4
blueocean-config:1.27.4
blueocean-core-js:1.27.4
blueocean-dashboard:1.27.4
blueocean-display-url:2.4.2
blueocean-events:1.27.4
blueocean-git-pipeline:1.27.4
blueocean-github-pipeline:1.27.4
blueocean-i18n:1.27.4
blueocean-jwt:1.27.4
blueocean-personalization:1.27.4
blueocean-pipeline-api-impl:1.27.4
blueocean-pipeline-editor:1.27.4
blueocean-pipeline-scm-api:1.27.4
blueocean-rest:1.27.4
blueocean-rest-impl:1.27.4
blueocean-web:1.27.4
bootstrap5-api:5.3.0-1
bouncycastle-api:2.28
branch-api:2.1109.vdf225489a_16d
build-timeout:1.31
burp-jenkins-integration:2022.2-58
caffeine-api:3.1.6-115.vb_8b_b_328e59d8
checks-api:2.0.0
cloud-stats:267.v577e3742c282
cloudbees-bitbucket-branch-source:809.vc1d904b_30426
cloudbees-folder:6.815.v0dd5a_cb_40e0e
command-launcher:100.v2f6722292ee8
commons-lang3-api:3.12.0-36.vd97de6465d5b_
commons-text-api:1.10.0-36.vc008c8fcda_7b_
credentials:1254.vb_96f366e7b_a_d
credentials-binding:604.vb_64480b_c56ca_
dashboard-view:2.487.vcf0ff9008a_c0
data-tables-api:1.13.4-3
display-url-api:2.3.7
docker-commons:419.v8e3cd84ef49c
docker-java-api:3.3.1-79.v20b_53427e041
docker-plugin:1.4
docker-workflow:563.vd5d2e5c4007f
durable-task:507.v050055d0cb_dd
echarts-api:5.4.0-5
email-ext:2.99
favorite:2.4.2
font-awesome-api:6.4.0-1
forensics-api:2.3.0
git:5.1.0
git-client:4.4.0
git-server:99.va_0826a_b_cdfa_d
github:1.37.1
github-api:1.314-431.v78d72a_3fe4c3
github-branch-source:1728.v859147241f49
gitlab-api:5.3.0-91.v1f9a_fda_d654f
gitlab-oauth:1.17
gitlab-plugin:1.7.14
gradle:2.8
groovy:453.vcdb_a_c5c99890
handy-uri-templates-2-api:2.1.8-22.v77d5b_75e6953
htmlpublisher:1.31
instance-identity:173.va_37c494ec4e5
ionicons-api:56.v1b_1c8c49374e
jackson2-api:2.15.2-350.v0c2f3f8fc595
jakarta-activation-api:2.0.1-3
jakarta-mail-api:2.0.1-3
javadoc:233.vdc1a_ec702cff
javax-activation-api:1.2.0-6
javax-mail-api:1.6.2-9
jaxb:2.3.8-1
jdk-tool:66.vd8fa_64ee91b_d
jenkins-design-language:1.27.4
jersey2-api:2.39.1-2
jira:3.10
jjwt-api:0.11.5-77.v646c772fddb_0
jquery:1.12.4-1
jquery3-api:3.7.0-1
jsch:0.2.8-65.v052c39de79b_2
junit:1214.va_2f9db_3e6de0
kubernetes:3952.v88e3b_0cf300b_
kubernetes-client-api:6.4.1-215.v2ed17097a_8e9
kubernetes-credentials:0.10.0
ldap:682.v7b_544c9d1512
mailer:457.v3f72cb_e015e5
matrix-auth:3.1.8
matrix-project:789.v57a_725b_63c79
maven-plugin:3.22
metrics:4.2.18-439.v86a_20b_a_8318b_
mina-sshd-api-common:2.10.0-69.v28e3e36d18eb_
mina-sshd-api-core:2.10.0-69.v28e3e36d18eb_
nested-data-reporting:5.2.1
okhttp-api:4.11.0-145.vcb_8de402ef81
pam-auth:1.10
parameterized-trigger:2.45
pipeline-build-step:496.v2449a_9a_221f2
pipeline-github-lib:42.v0739460cda_c4
pipeline-graph-analysis:202.va_d268e64deb_3
pipeline-groovy-lib:656.va_a_ceeb_6ffb_f7
pipeline-input-step:468.va_5db_051498a_4
pipeline-milestone-step:111.v449306f708b_7
pipeline-model-api:2.2141.v5402e818a_779
pipeline-model-definition:2.2141.v5402e818a_779
pipeline-model-extensions:2.2141.v5402e818a_779
pipeline-rest-api:2.33
pipeline-stage-step:305.ve96d0205c1c6
pipeline-stage-tags-metadata:2.2141.v5402e818a_779
pipeline-stage-view:2.33
plain-credentials:143.v1b_df8b_d3b_e48
plugin-util-api:3.3.0
prism-api:1.29.0-7
publish-over:0.22
publish-over-ssh:1.24
pubsub-light:1.17
resource-disposer:0.22
scm-api:676.v886669a_199a_a_
script-security:1251.vfe552ed55f8d
snakeyaml-api:1.33-95.va_b_a_e3e47b_fa_4
snyk-security-scanner:3.2.7
sse-gateway:1.26
ssh-agent:333.v878b_53c89511
ssh-credentials:305.v8f4381501156
ssh-slaves:2.877.v365f5eb_a_b_eec
sshd:3.303.vefc7119b_ec23
structs:324.va_f5d6774f3a_d
throttle-concurrents:2.14
timestamper:1.25
token-macro:359.vb_cde11682e0c
trilead-api:2.84.v72119de229b_7
variant:59.vf075fe829ccb
warnings-ng:10.2.0
workflow-aggregator:596.v8c21c963d92d
workflow-api:1215.v2b_ee3e1b_dd39
workflow-basic-steps:1017.vb_45b_302f0cea_
workflow-cps:3691.v28b_14c465a_b_b_
workflow-durable-task-step:1247.v7f9dfea_b_4fd0
workflow-job:1308.v58d48a_763b_31
workflow-multibranch:756.v891d88f2cd46
workflow-scm-step:415.v434365564324
workflow-step-api:639.v6eca_cd8c04a_a_
workflow-support:839.v35e2736cfd5c
ws-cleanup:0.45

What Operating System are you using (both controller, and any agents involved in the problem)?

No agents, using the jenkins node as agent

Reproduction steps

  1. Copied the sample json given in README.md and added it in a repo
  2. pipeline script
pipeline {
    agent any

    stages {
        stage('Test') {
            steps {
                git(url: "https://<URL>", branch: "main")
                sh "ls -l"
                publishReport displayType: 'dual', name: 'Vuln Report', provider: json(id: 'report', pattern: 'test2.json')
            }
        }
    }
}

Expected Results

The chart to be rendederd

Actual Results

Error:

Also:   org.jenkinsci.plugins.workflow.actions.ErrorAction$ErrorId: 4f986fba-83ff-495e-9ce1-82361cd475c5
java.lang.NoClassDefFoundError: org/eclipse/collections/impl/factory/Sets
	at io.jenkins.plugins.reporter.steps.PublishReportStep$Descriptor.getRequiredContext(PublishReportStep.java:117)
	at org.jenkinsci.plugins.workflow.steps.StepDescriptor.checkContextAvailability(StepDescriptor.java:262)
	at org.jenkinsci.plugins.workflow.cps.DSL.invokeStep(DSL.java:299)
	at org.jenkinsci.plugins.workflow.cps.DSL.invokeMethod(DSL.java:196)
	at org.jenkinsci.plugins.workflow.cps.CpsScript.invokeMethod(CpsScript.java:124)
	at jdk.internal.reflect.GeneratedMethodAccessor309.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)
	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1225)
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1034)
	at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:41)
	at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
	at org.kohsuke.groovy.sandbox.impl.Checker$1.call(Checker.java:180)
	at org.kohsuke.groovy.sandbox.GroovyInterceptor.onMethodCall(GroovyInterceptor.java:23)
	at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.onMethodCall(SandboxInterceptor.java:163)
	at org.kohsuke.groovy.sandbox.impl.Checker$1.call(Checker.java:178)
	at org.kohsuke.groovy.sandbox.impl.Checker.checkedCall(Checker.java:182)
	at org.kohsuke.groovy.sandbox.impl.Checker.checkedCall(Checker.java:152)
	at com.cloudbees.groovy.cps.sandbox.SandboxInvoker.methodCall(SandboxInvoker.java:17)
	at WorkflowScript.run(WorkflowScript:9)
	at org.jenkinsci.plugins.pipeline.modeldefinition.ModelInterpreter.delegateAndExecute(ModelInterpreter.groovy:137)
	at org.jenkinsci.plugins.pipeline.modeldefinition.ModelInterpreter.executeSingleStage(ModelInterpreter.groovy:666)
	at org.jenkinsci.plugins.pipeline.modeldefinition.ModelInterpreter.catchRequiredContextForNode(ModelInterpreter.groovy:395)
	at org.jenkinsci.plugins.pipeline.modeldefinition.ModelInterpreter.catchRequiredContextForNode(ModelInterpreter.groovy:393)
	at org.jenkinsci.plugins.pipeline.modeldefinition.ModelInterpreter.executeSingleStage(ModelInterpreter.groovy:665)
	at org.jenkinsci.plugins.pipeline.modeldefinition.ModelInterpreter.evaluateStage(ModelInterpreter.groovy:288)
	at org.jenkinsci.plugins.pipeline.modeldefinition.ModelInterpreter.toolsBlock(ModelInterpreter.groovy:544)
	at org.jenkinsci.plugins.pipeline.modeldefinition.ModelInterpreter.toolsBlock(ModelInterpreter.groovy:543)
	at org.jenkinsci.plugins.pipeline.modeldefinition.ModelInterpreter.evaluateStage(ModelInterpreter.groovy:276)
	at org.jenkinsci.plugins.pipeline.modeldefinition.ModelInterpreter.withEnvBlock(ModelInterpreter.groovy:443)
	at org.jenkinsci.plugins.pipeline.modeldefinition.ModelInterpreter.withEnvBlock(ModelInterpreter.groovy:442)
	at org.jenkinsci.plugins.pipeline.modeldefinition.ModelInterpreter.evaluateStage(ModelInterpreter.groovy:275)
	at org.jenkinsci.plugins.pipeline.modeldefinition.ModelInterpreter.withCredentialsBlock(ModelInterpreter.groovy:481)
	at org.jenkinsci.plugins.pipeline.modeldefinition.ModelInterpreter.withCredentialsBlock(ModelInterpreter.groovy:480)
	at org.jenkinsci.plugins.pipeline.modeldefinition.ModelInterpreter.evaluateStage(ModelInterpreter.groovy:274)
	at org.jenkinsci.plugins.pipeline.modeldefinition.ModelInterpreter.inDeclarativeAgent(ModelInterpreter.groovy:586)
	at org.jenkinsci.plugins.pipeline.modeldefinition.ModelInterpreter.inDeclarativeAgent(ModelInterpreter.groovy:585)
	at org.jenkinsci.plugins.pipeline.modeldefinition.ModelInterpreter.evaluateStage(ModelInterpreter.groovy:272)
	at org.jenkinsci.plugins.pipeline.modeldefinition.ModelInterpreter.stageInput(ModelInterpreter.groovy:356)
	at org.jenkinsci.plugins.pipeline.modeldefinition.ModelInterpreter.stageInput(ModelInterpreter.groovy:355)
	at org.jenkinsci.plugins.pipeline.modeldefinition.ModelInterpreter.evaluateStage(ModelInterpreter.groovy:261)
	at org.jenkinsci.plugins.pipeline.modeldefinition.ModelInterpreter.inWrappers(ModelInterpreter.groovy:618)
	at org.jenkinsci.plugins.pipeline.modeldefinition.ModelInterpreter.inWrappers(ModelInterpreter.groovy:617)
	at org.jenkinsci.plugins.pipeline.modeldefinition.ModelInterpreter.evaluateStage(ModelInterpreter.groovy:259)
	at org.jenkinsci.plugins.pipeline.modeldefinition.ModelInterpreter.withEnvBlock(ModelInterpreter.groovy:443)
	at org.jenkinsci.plugins.pipeline.modeldefinition.ModelInterpreter.withEnvBlock(ModelInterpreter.groovy:442)
	at org.jenkinsci.plugins.pipeline.modeldefinition.ModelInterpreter.evaluateStage(ModelInterpreter.groovy:254)
	at ___cps.transform___(Native Method)
	at com.cloudbees.groovy.cps.impl.ContinuationGroup.methodCall(ContinuationGroup.java:90)
	at com.cloudbees.groovy.cps.impl.FunctionCallBlock$ContinuationImpl.dispatchOrArg(FunctionCallBlock.java:116)
	at com.cloudbees.groovy.cps.impl.FunctionCallBlock$ContinuationImpl.fixArg(FunctionCallBlock.java:85)
	at jdk.internal.reflect.GeneratedMethodAccessor121.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at com.cloudbees.groovy.cps.impl.ContinuationPtr$ContinuationImpl.receive(ContinuationPtr.java:72)
	at com.cloudbees.groovy.cps.impl.CollectionLiteralBlock$ContinuationImpl.dispatch(CollectionLiteralBlock.java:55)
	at com.cloudbees.groovy.cps.impl.CollectionLiteralBlock$ContinuationImpl.item(CollectionLiteralBlock.java:45)
	at jdk.internal.reflect.GeneratedMethodAccessor294.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at com.cloudbees.groovy.cps.impl.ContinuationPtr$ContinuationImpl.receive(ContinuationPtr.java:72)
	at com.cloudbees.groovy.cps.impl.ContinuationGroup.methodCall(ContinuationGroup.java:93)
	at com.cloudbees.groovy.cps.impl.FunctionCallBlock$ContinuationImpl.dispatchOrArg(FunctionCallBlock.java:116)
	at com.cloudbees.groovy.cps.impl.FunctionCallBlock$ContinuationImpl.fixArg(FunctionCallBlock.java:85)
	at jdk.internal.reflect.GeneratedMethodAccessor121.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at com.cloudbees.groovy.cps.impl.ContinuationPtr$ContinuationImpl.receive(ContinuationPtr.java:72)
	at com.cloudbees.groovy.cps.impl.CollectionLiteralBlock$ContinuationImpl.dispatch(CollectionLiteralBlock.java:55)
	at com.cloudbees.groovy.cps.impl.CollectionLiteralBlock$ContinuationImpl.item(CollectionLiteralBlock.java:45)
	at jdk.internal.reflect.GeneratedMethodAccessor294.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at com.cloudbees.groovy.cps.impl.ContinuationPtr$ContinuationImpl.receive(ContinuationPtr.java:72)
	at com.cloudbees.groovy.cps.impl.ConstantBlock.eval(ConstantBlock.java:21)
	at com.cloudbees.groovy.cps.Next.step(Next.java:83)
	at com.cloudbees.groovy.cps.Continuable$1.call(Continuable.java:152)
	at com.cloudbees.groovy.cps.Continuable$1.call(Continuable.java:146)
	at org.codehaus.groovy.runtime.GroovyCategorySupport$ThreadCategoryInfo.use(GroovyCategorySupport.java:136)
	at org.codehaus.groovy.runtime.GroovyCategorySupport.use(GroovyCategorySupport.java:275)
	at com.cloudbees.groovy.cps.Continuable.run0(Continuable.java:146)
	at org.jenkinsci.plugins.workflow.cps.SandboxContinuable.access$001(SandboxContinuable.java:18)
	at org.jenkinsci.plugins.workflow.cps.SandboxContinuable.run0(SandboxContinuable.java:51)
	at org.jenkinsci.plugins.workflow.cps.CpsThread.runNextChunk(CpsThread.java:187)
	at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.run(CpsThreadGroup.java:420)
	at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup$2.call(CpsThreadGroup.java:330)
	at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup$2.call(CpsThreadGroup.java:294)
	at org.jenkinsci.plugins.workflow.cps.CpsVmExecutorService$2.call(CpsVmExecutorService.java:67)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at hudson.remoting.SingleLaneExecutorService$1.run(SingleLaneExecutorService.java:139)
	at jenkins.util.ContextResettingExecutorService$1.run(ContextResettingExecutorService.java:28)
	at jenkins.security.ImpersonatingExecutorService$1.run(ImpersonatingExecutorService.java:68)
	at jenkins.util.ErrorLoggingExecutorService.lambda$wrap$0(ErrorLoggingExecutorService.java:51)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.lang.Thread.run(Thread.java:829)
Finished: FAILURE

Anything else?

No response

Using same JSON reports for single and aggregated analysis

What feature do you want to see added?

Currently the JSON document (or a sum of several documents) used for a report has to include the whole structure, with id, items and colors.

The problem is that when trying to use same generated test-reports in different contexts, a "sum of JSONs" stumbles on protection against duplicate keys, even if they have identical values:

java.lang.IllegalStateException: Duplicate key Tests run (attempted merging values GREEN and GREEN)
	at java.base/java.util.stream.Collectors.duplicateKeyException(Collectors.java:135)
	at java.base/java.util.stream.Collectors.lambda$uniqKeysMapAccumulator$1(Collectors.java:182)
	at java.base/java.util.stream.ReduceOps$3ReducingSink.accept(ReduceOps.java:169)
	at java.base/java.util.Iterator.forEachRemaining(Iterator.java:133)
	at java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1845)
	at java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:735)
	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
	at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)
	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)
	at io.jenkins.plugins.reporter.model.Report.addColors(Report.java:206)
	at io.jenkins.plugins.reporter.model.Report.add(Report.java:118)
	at io.jenkins.plugins.reporter.util.FilesScanner.aggregateReport(FilesScanner.java:74)
	at io.jenkins.plugins.reporter.util.FilesScanner.scanFiles(FilesScanner.java:65)
	at io.jenkins.plugins.reporter.util.FilesScanner.invoke(FilesScanner.java:48)
	at io.jenkins.plugins.reporter.util.FilesScanner.invoke(FilesScanner.java:14)
	at hudson.FilePath$FileCallableWrapper.call(FilePath.java:3492)
	at hudson.remoting.UserRequest.perform(UserRequest.java:211)
	at hudson.remoting.UserRequest.perform(UserRequest.java:54)
	at hudson.remoting.Request$2.run(Request.java:377)
	at hudson.remoting.InterceptingExecutorService.lambda$wrap$0(InterceptingExecutorService.java:78)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
	at java.base/java.lang.Thread.run(Thread.java:833)

Upstream changes

No response

Add tab in distribution area to have different views for data

What feature do you want to see added?

By default we have each item like tree view.

The feature would consit to add tabs on distribution area. Something like this:
image

Tab 1 : The current view
Tab 2 : The expanded view (all elementary items)

Upstream changes

No response

Improve number handling

What feature do you want to see added?

Currently, it seems the plugin supports integer numbers.

For csv files, it would be interesting to add support of all kind of numbers (0x11 or float 10.5...).
Biggest issue is for floating numbers which are not supported.

I can do it for csv file format, but at higher level, all file format are assumed to be only intergers

Upstream changes

No response

Missing report options in pipeline snippet

Jenkins and plugins versions report

Environment

Jenkins: 2.361.1
OS: Windows 11 - 10.0

ace-editor:1.1
analysis-model-api:10.16.1
ant:475.vf34069fef73c
antisamy-markup-formatter:2.7
apache-httpcomponents-client-4-api:4.5.13-138.v4e7d9a_7b_a_e61
bootstrap4-api:4.6.0-5
bootstrap5-api:5.2.0-3
bouncycastle-api:2.26
branch-api:2.1046.v0ca_37783ecc5
build-failure-analyzer:2.4.0
build-monitor-plugin:1.13+build.202205140447
build-timeout:1.24
caffeine-api:2.9.3-65.v6a_47d0f4d1fe
checks-api:1.7.5
cloudbees-folder:6.758.vfd75d09eea_a_1
command-launcher:84.v4a_97f2027398
content-replace:1.7.0
credentials:1143.vb_e8b_b_ceee347
credentials-binding:523.vd859a_4b_122e6
data-tables-api:1.12.1-3
display-url-api:2.3.6
durable-task:500.v8927d9fd99d8
echarts-api:5.3.3-1
email-ext:2.91
font-awesome-api:6.1.2-1
forensics-api:1.15.1
git:4.11.5
git-client:3.11.2
git-parameter:0.9.17
git-server:99.va_0826a_b_cdfa_d
github:1.35.0
github-api:1.303-400.v35c2d8258028
github-branch-source:1694.vd46793a_c4a_57
gradle:1.39.4
handlebars:3.0.8
instance-identity:116.vf8f487400980
jackson2-api:2.13.3-285.vc03c0256d517
jakarta-activation-api:2.0.1-1
jakarta-mail-api:2.0.1-1
javax-activation-api:1.2.0-4
javax-mail-api:1.6.2-7
jaxb:2.3.6-1
jdk-tool:55.v1b_32b_6ca_f9ca
jjwt-api:0.11.5-77.v646c772fddb_0
jnr-posix-api:3.1.15-1
jquery:1.12.4-1
jquery3-api:3.6.0-4
jsch:0.1.55.61.va_e9ee26616e7
junit:1119.1121.vc43d0fc45561
ldap:2.12
lockable-resources:2.16
mailer:438.v02c7f0a_12fa_4
matrix-auth:3.1.5
matrix-project:785.v06b_7f47b_c631
memory-map:2.2.1 (53614)
metrics:4.2.10-389.v93143621b_050
mina-sshd-api-common:2.8.0-36.v8e25ce90d4b_1
mina-sshd-api-core:2.8.0-36.v8e25ce90d4b_1
momentjs:1.1.1
nested-data-reporting:4.0.0
okhttp-api:4.9.3-108.v0feda04578cf
pam-auth:1.10
pipeline-build-step:2.18
pipeline-github-lib:38.v445716ea_edda_
pipeline-graph-analysis:195.v5812d95a_a_2f9
pipeline-groovy-lib:612.v84da_9c54906d
pipeline-input-step:449.v77f0e8b_845c4
pipeline-milestone-step:101.vd572fef9d926
pipeline-model-api:2.2114.v2654ca_721309
pipeline-model-definition:2.2114.v2654ca_721309
pipeline-model-extensions:2.2114.v2654ca_721309
pipeline-rest-api:2.24
pipeline-stage-step:296.v5f6908f017a_5
pipeline-stage-tags-metadata:2.2114.v2654ca_721309
pipeline-stage-view:2.24
pipeline-utility-steps:2.13.0
plain-credentials:139.ved2b_9cf7587b
plugin-util-api:2.17.0
popper-api:1.16.1-3
popper2-api:2.11.6-1
prism-api:1.28.0-2
resource-disposer:0.20
scm-api:621.vda_a_b_055e58f7
script-security:1175.v4b_d517d6db_f0
snakeyaml-api:1.31-84.ve43da_fb_49d0b
ssh-credentials:305.v8f4381501156
ssh-slaves:1.834.v622da_57f702c
sshd:3.249.v2dc2ea_416e33
structs:324.va_f5d6774f3a_d
timestamper:1.19
token-macro:308.v4f2b_ed62b_b_16
trilead-api:2.72.v2a_3236754f73
variant:59.vf075fe829ccb
warnings-ng:9.19.1
workflow-aggregator:590.v6a_d052e5a_a_b_5
workflow-api:1192.v2d0deb_19d212
workflow-basic-steps:994.vd57e3ca_46d24
workflow-cps:2759.v87459c4eea_ca_
workflow-durable-task-step:1199.v02b_9244f8064
workflow-job:1232.v5a_4c994312f1
workflow-multibranch:716.vc692a_e52371b_
workflow-scm-step:400.v6b_89a_1317c9a_
workflow-step-api:639.v6eca_cd8c04a_a_
workflow-support:838.va_3a_087b_4055b
ws-cleanup:0.43

What Operating System are you using (both controller, and any agents involved in the problem)?

Windows 11

Reproduction steps

everytime reproductible

Expected Results

I expect to have all features in pipeline snippet. I can have only report name

Actual Results

image

Anything else?

No response

runnning post build step in freestyle pipeline throws error `java.lang.AbstractMethodError`

Jenkins and plugins versions report

Environment
Paste the output here

What Operating System are you using (both controller, and any agents involved in the problem)?

macOS

Reproduction steps

add freestyle build and add post build step

Expected Results

pipeline runs

Actual Results

Pipeline

Gestartet durch Benutzer [Simon Symhoven](http://localhost:8080/user/simonsymhoven)
Running as SYSTEM
Baue in Arbeitsbereich /Users/simonsymhoven/.jenkins/workspace/nested
The recommended git tool is: NONE
No credentials specified
Cloning the remote Git repository
Cloning repository https://github.com/jenkinsci/nested-data-reporting-plugin
 > git init /Users/simonsymhoven/.jenkins/workspace/nested # timeout=10
Fetching upstream changes from https://github.com/jenkinsci/nested-data-reporting-plugin
 > git --version # timeout=10
 > git --version # 'git version 2.37.0 (Apple Git-136)'
 > git fetch --tags --force --progress -- https://github.com/jenkinsci/nested-data-reporting-plugin +refs/heads/*:refs/remotes/origin/* # timeout=10
 > git config remote.origin.url https://github.com/jenkinsci/nested-data-reporting-plugin # timeout=10
 > git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10
Avoid second fetch
 > git rev-parse origin/master^{commit} # timeout=10
Checking out Revision 4ca6665342c5a72cdc5c923d220b868679198a1d (origin/master)
 > git config core.sparsecheckout # timeout=10
 > git checkout -f 4ca6665342c5a72cdc5c923d220b868679198a1d # timeout=10
Commit message: "[maven-release-plugin] prepare for next development iteration"
First time build. Skipping changelog.
ERROR: Step ‘Publish report files like json, yaml, csv or xml’ aborted due to exception: 
java.lang.AbstractMethodError
	at hudson.tasks.BuildStepCompatibilityLayer.perform(BuildStepCompatibilityLayer.java:134)
	at hudson.tasks.BuildStepCompatibilityLayer.perform(BuildStepCompatibilityLayer.java:87)
	at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:47)
	at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:816)
	at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:765)
	at hudson.model.Build$BuildExecution.post2(Build.java:179)
	at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:709)
	at hudson.model.Run.execute(Run.java:1924)
	at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:44)
	at hudson.model.ResourceController.execute(ResourceController.java:107)
	at hudson.model.Executor.run(Executor.java:449)
Finished: FAILURE

Anything else?

No response

Add displayType to view delta value from previous successfull build

What feature do you want to see added?

Currently, for display type, we have 3 options:

displayType: 'absolute', 'relative' and 'dual'

It would be good to add a 4th option called DELTA (or difference???) which will consist to display the raw number + change compared to previous build.

I tried to implement this but I didn't find the way to get previous successfull build data

Upstream changes

No response

Add the possibility to change title

What feature do you want to see added?

When I add a report, on the left panel, title is always the same (and for multiple json file, I cannot distinguish)
image

The feature would consist in pipeline to define a title (like "My Metrics") to be seen on left panel

Upstream changes

No response

Define color palette

What feature do you want to see added?

For csv data, no color can be added.
The plugin use aleatory colors.
It would be good to choose a palette and colors are assigned by alphabetical order (or item apparition order).

Currently, the same report use aleatory colors (sometimes it's beautifull, sometimes, I hate choosen colors)

I can define color palette

Upstream changes

No response

Add possibility of regular expression for report path

What feature do you want to see added?

For the json report, we need to put the exact path of 1 FILE.

It would be good to get data from multiple files with regular expression and multiple paths:
for example : Reports/*.json; NewReports/*.json

Upstream changes

No response

Add diff numbers relative to previous build

What feature do you want to see added?

In the distribution arre, it woul be good in case of absolute date, to have diff ( like +10 or -10 if metric decreased)

image

Upstream changes

No response

Sort items in trend graph by value not by label

What feature do you want to see added?

It would be nice to have the items sorted in a different way in the trend graphs as alphabetical ordering doesn't really make sense if you have stuff with numbers in front as in this picture.

image

So it would be nice if you had the option to sort them by the value or maybe some other way to have the labels in an increasing order numerically.

Upstream changes

No response

Are you interested in contributing this feature?

No response

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.