Плагин Jenkins NextGeneration Warnings: publishIssues завершается с ошибкой при отсутствии @DataBoundConstructor - PullRequest
0 голосов
/ 20 марта 2019

Привет! Я использую файл конвейера Jenkins и хочу интегрировать инструмент cpd .Поэтому я использую плагин NextGenerationWarnings и следую их документам (см. Раздел «Конфигурация расширенного конвейера»).

Для целей тестирования я добавил вызов на этап оформления заказа.

Этап:

stage ("Checkout") {
            cleanWs()
            echo "Using branch $BRANCH_NAME"
            def gitResult = checkout(scm)
            echo "${gitResult}"
            def myworkspace = pwd()
            sh "/var/lib/jenkins/pmd-bin-6.12.0/bin/run.sh cpd -failOnViolation false --minimum-tokens 70 --files $myworkspace/PROG --language cpp --format xml > cpd.xml"
            def cpd = scanForIssues tool: cpd(pattern: 'cpd.xml')
            unzip publishIssues {issues: [cpd]}
        }

Ошибка:

Во время сборки я получаю следующее сообщение об ошибке.

[Pipeline] publishIssues

[Pipeline]}

[Pipeline] // stage

[Pipeline] echo

ОШИБКА: java.lang.IllegalArgumentException: не удалось создать экземпляр {questions=org.jenkinsci.plugins.workflow.cps.CpsClosure2@2c319167} для PublishIssuesStep (проблем: org.kohsuke.stapler.NoStaplerConstructorException: нет никакого @DataBoundConstructor ни в одном конструкторе класса io.jenkins.plugins.analysis.core.steps.AnnotatedReport [], failedNewAll? (устарело): int, failedNewHigh? (failed?) (не рекомендуется):устарел): int, failedNewNormal? (устарел): int, failedTotalAll? (устарел): int, failedTotalHigh? (устарел): int, failedTotalLow? (устарел): int, failedTotalNormal? (устарел): int, работоспособен ?: int,id ?: String, ignoreFailedBuilds ?:логическое значение, ignoreQualityGate ?: логическое значение ,imumSeverity ?: строка, имя ?: строка, qualityGates ?: QualityGate (порог: int, тип: QualityGateType [TOTAL, TOTAL_ERROR, TOTAL_HIGH, TOTAL_NORMAL, TOTAL_LOW, NEW, NEW_NOR_NOR_NOR_NOR_NOR_ORROR, NEW_NER_ORROR,DELTA, DELTA_ERROR, DELTA_HIGH, DELTA_NORMAL, DELTA_LOW], нестабильный: логический) [], referenceJobName ?: String, sourceCodeEncoding ?: Строка, нездоровый ?: int, unstableNewAll? (Устарел): int, unstableNewHew? (Устарел) (не рекомендуется)(не рекомендуется): int, unstableNewNormal? (не рекомендуется): int, unstableTotalAll? (не рекомендуется): int, unstableTotalHigh? (не рекомендуется): int, unstableTotalLow? (не рекомендуется): int, unstableTotalNormal? (рекомендуется): int): java.lang.ClassCastException: io.jenkins.plugins.analysis.core.steps.PublishIssuesStep.issues ожидает java.util.List, но получил класс org.jenkinsci.plugins.workflow.cps.CpsClosure2

ЯНе знаете, что делает аннотация @DataBoundConstructor, но может ли это быть связано с устаревшей версией Java?

1 Ответ

0 голосов
/ 21 марта 2019

Я нашел свою проблему.

Я не знаю почему, но по какой-то причине я добавил unzip и эти {} вокруг publishIssues issues: [cpd].

Удаление их, решило мою проблему и теперь работает отлично.

...