Kann jemand httpRequest in Jenkinsfile-Pipeline mit grundlegenden Auth verwenden? Ich habe in der https://github.com/jenkinsci/http-request-plugin eingecheckt, unterstützen sie unterstützt Standard-Authentifizierung (siehe globale Konfiguration). Aber als ich in meinem groovigen Skript implementiert habe, habe ich die folgenden Fehler gefunden. Kann jemand zeigen, wie man den Benutzernamen und das Passwort an den httprequest weitergibt.wie httpRequest in Jenkinsfile-Pipeline mit grundlegenden Auth verwenden
def masterDataReplicatorTriggerDeployment() {
milestone 40
VaultUtil vaultUtil = PipelineUtil.getInstance(this).getProdVaultUtil()
def ROUTER_USER
def ROUTER_PASS
def baseurl="http://master-data-replicator.cfapps.us10.hana.ondemand.com"
def sourcetenant="revcdevkp"
def targettenant="revcdevpo"
def copyBCdata="/replicator/v1/businessConfig/"
def response
ROUTER_USER=vaultUtil.readCredential
("secret/landscapes/infrastructure/router").get("router.security.username")
ROUTER_PASS=vaultUtil.readCredential
("secret/landscapes/infrastructure/router").get("router.security.password")
response = httpRequest url:
baseurl+copyBCdata+sourcetenant+"/"+targettenant,
httpMode: 'POST',
authentication: [Username: ROUTER_USER, Password: ROUTER_PASS]
}
org.kohsuke.stapler.NoStaplerConstructorException: Es gibt keine @DataBoundConstructor auf jedem Konstruktor der Klasse java.lang.String bei org.kohsuke.stapler.ClassDescriptor.loadConstructorParamNames (ClassDescriptor.java: 247) bei org.jenkinsci.plugins.structs.describable.DescribableModel. (DescribableModel.java:122) bei org.jenkinsci.plugins.structs.describable.DescribableModel.coerce (DescribableModel.java:380) bei
def creds = "ROUTER_USER:ROUTER_PASS"
String auth = creds.bytes.encodeBase64().toString()
httpRequest consoleLogResponseBody: true,
url: baseurl+copyBCdata+sourcetenant+"/"+targettenant,
customHeaders:[[name:'Authorization', value:"Basic ${auth}"]]
Das neue Problem: 401 Berechtigungsproblem. Aber ich habe die richtigen Anmeldeinformationen verwendet und kann sie besuchen.
Ich weiß, dass mein Format der Authentifizierung nicht korrekt ist, wissen Sie, welcher der richtige Weg sein sollte? Danke.
Mit besten Grüßen,
Vielen Dank. Gibt es einen anderen Ansatz, um den Endpunkt zu besuchen, mit Ausnahme der http-Anfrage? Ich hoffe, dass mein Benutzername und Passwort im Tresor anstatt der Anmelde-ID gespeichert sind. Beste Grüße, – neilxie
Ich habe meine Antwort mit einem anderen Beispiel bearbeitet. –
Vielen Dank. Aber ich habe hier ein neues Problem mit Anmeldefehler gefunden. – neilxie