Есть ли способ установить флажок «Использовать глобальные учетные данные пользователя Veracode» с помощью скрипта DSL groovy?

#jenkins-plugins #global #dsl #veracode

#дженкинс-плагины #глобальный #dsl #veracode

Вопрос:

Я создаю задание Jenkins с помощью скрипта DSL Groovy для добавления плагина Veracode. Я ищу способ установить флажок «Использовать глобальные учетные данные пользователя Veracode».

Он отлично работает с имеющимся у меня кодом и добавляет флажок, но не проверяет его для меня и ищет учетные данные. Я хотел бы использовать глобальные учетные данные. Я добавил его в блок publishers. Как вы можете видеть в моем коде, в разделе учетные данные я оставляю учетные данные пустыми, поскольку я не хочу указывать какие-либо из них. Если установить флажок «Использовать глобальные учетные данные пользователя Veracode», эти параметры будут опущены и будут использоваться глобальные параметры, указанные в разделе управление дженкинсом.

Моя проблема в том, как установить этот флажок с помощью скрипта.

     publishers {
            //extendedEmail Utilities.getExtendedEmail("Scan_Services", false, false)
            extendedEmail Utilities.getExtendedEmailRequester("Scan_Services", false, false)

            veracodeNotifier {
                // Enter the name of the application.
                appname("xDistributor")
                // Enter the business criticality for the application.
                criticality("Very High")
                // Enter a name for the static scan you want to submit to the Veracode Platform for this application.
                version("$BUILD_TIMESTAMP"   " Services_Scan")
                // Enter the filepaths of the files to upload for scanning, represented as a comma-separated list of    ant-style include patterns relative to the job's workspace root directory.
                uploadincludespattern("**/Services/webapps/services.war")
                createprofile(false)
                sandboxname("")
                createsandbox(false)
                filenamepattern("")
                replacementpattern("")
                uploadexcludespattern("")
                scanincludespattern("")
                scanexcludespattern("")
                waitForScan(false)
                timeout("")
                credentials {
                    vapicredential("")
                    vuser("")
                    vpassword("")
                }

            }
        }
 

Ответ №1:

Я не смог найти никакой документации от Veracode по этому вопросу, поэтому мне пришлось декомпилировать плагин, чтобы разобраться. Этого можно добиться, установив для объекта credentials значение null.

 job('job-name') {
    publishers {
        veracodeNotifier {
            credentials(null)
        }
    }
}
 

Способ, которым это работает, заключается в том, что настройки конфигурации для плагина Veracode не проверяют значение поля, а проверяют, что объект учетных данных имеет значение null и что установлены глобальные учетные данные.

Комментарии:

1. Смертельно, сработало. По-прежнему нет документации от Veracode. Еще раз спасибо.

2. О, спасибо! Я ковырялся в этом весь день, и, наконец, нашел эту страницу в поиске Google по запросу «vapicredential».