jenkinsci / nested-data-reporting-plugin

Jenkins plugin to report data from nested as pie-charts, trend-charts and data tables.
https://plugins.jenkins.io/nested-data-reporting/
MIT License
4 stars 5 forks source link

Problem with csv data not handled #93

Closed totocaca123 closed 1 year ago

totocaca123 commented 1 year ago

Jenkins and plugins versions report

Environment ```text 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

simonsymhoven commented 1 year ago

Haven't had much time for the plugin lately, I'll look into it and fix at least the bugs.

simonsymhoven commented 1 year ago

Honestly, this part of csv file makes no sense:

Level 1,Level 2,Level 3,incorrect,manually,accurate
Aktie,Aktie,Aktie 1 2,31,48,9

Is this intended or is this intended to be "Aktie 1" on level 2?

The pipeline does not run with your provided data

simonsymhoven commented 1 year ago

the thing with the url I can understand, that is indeed a mistake

simonsymhoven commented 1 year ago

@totocaca123 so the thing with the broken url is fixed with #99. The other problem I attribute to a wrong CSV file, especially since the pipeline does not run at all. But here you could probably improve the error handling a bit and somehow check whether the csv is valid. Open a new ticket for it.

simonsymhoven commented 1 year ago

See #100

dragoudin commented 1 year ago

Honestly, this part of csv file makes no sense:

Level 1,Level 2,Level 3,incorrect,manually,accurate
Aktie,Aktie,Aktie 1 2,31,48,9

Is this intended or is this intended to be "Aktie 1" on level 2?

The pipeline does not run with your provided data

For the example, each field in column cannot be repeated. Depending on data used (and if we consider very general csv data), label of column 1 can be repeated in column 2. In column 2, same label can share different value from column 1.

It can be considered as anomaly. Maybe it could be considered as a plugin limitation. User has to be forcerd to limit reuse of labels...

Moreover, in case of problem, plugin has to report error or warning message (like value XXX is used multiple time...)

simonsymhoven commented 1 year ago

Honestly, this part of csv file makes no sense:

Level 1,Level 2,Level 3,incorrect,manually,accurate
Aktie,Aktie,Aktie 1 2,31,48,9

Is this intended or is this intended to be "Aktie 1" on level 2? The pipeline does not run with your provided data

For the example, each field in column cannot be repeated. Depending on data used (and if we consider very general csv data), label of column 1 can be repeated in column 2. In column 2, same label can share different value from column 1.

It can be considered as anomaly. Maybe it could be considered as a plugin limitation. User has to be forcerd to limit reuse of labels...

Moreover, in case of problem, plugin has to report error or warning message (like value XXX is used multiple time...)

Yes, I agree, for very general csv data, this could be possible. But at the moment, I have no idea how to handle this. For now I will consider it as a plugin limitation and throw an error, if multiple keys with same name are used.