我们使用 jcasc 进行 jenkins 配置,并拥有 browserstack 凭据,该凭据已创建,但当我们重新加载 casc 时,我们会看到
Failed to construct instance of class com.browserstack.automate.ci.jenkins.BrowserStackCredentials. Constructor:
public com.browserstack.automate.ci.jenkins.BrowserStackCredentials(
java.lang.String,java.lang.String,java.lang.String,java.lang.String).
Arguments: [
java.lang.String, java.lang.String, java.lang.String, java.lang.String].
Expected Parameters:
id java.lang.String, description java.lang.String, username java.lang.String, accesskey java.lang.String
queueItemAuthenticator:
authenticators:
- global:
strategy: "triggeringUsersAuthorizationStrategy"
...
credentials:
system:
domainCredentials:
- credentials:
...
- browserStack:
id: "browserstack-access-key"
username: "...."
accesskey: "..."
description: "..."
我们还看到,其他不相关的修改被阻止(例如,通过 jcasc 添加第二个共享库 - 如果配置中存在 browserstack cred - 我们不会获得第二个库)
错误消息表明提供的参数与 BrowserStackCredentials 构造函数的预期参数不匹配。
BrowserStackCredentials 的构造函数需要以下参数:
id:凭证的唯一标识符。 描述:凭证的描述。 用户名:BrowserStack 帐户的用户名。 accesskey:BrowserStack 帐户的访问密钥。
确保在构造 BrowserStackCredentials 实例时以正确的顺序提供正确的参数。如果您在代码中使用此构造函数,请确保参数与预期参数匹配。如果您在 Jenkins 作业或配置中进行配置,请验证 Jenkins UI 中输入的值是否正确。