Rispondo alla risposta di Jazzschmidt, dato che non ho abbastanza rep ... uno. Se quel lavoro è stato lanciato per la prima volta da qualcuno, è questo che otterrai. Altrimenti, la risposta sarà NULL, che causerà quindi un'eccezione nel tentativo di ottenere il suo ID utente.
Per ottenere la causa "originale", è necessario attraversare le cause utilizzando UpstreamCause. Questo è ciò che ho concluso sul fare, anche se ci possono essere altri modi:
@NonCPS
def getCauser() {
def build = currentBuild.rawBuild
def upstreamCause
while(upstreamCause = build.getCause(hudson.model.Cause$UpstreamCause)) {
build = upstreamCause.upstreamRun
}
return build.getCause(hudson.model.Cause$UserIdCause).userId
}
sembra che questo "lista nera", anche se, in base alla [codice sorgente] (https://github.com/jenkinsci/script- security-plugin/blob/master/src/main/resources/org/jenkinsci/plugins/scriptsecurity/sandbox/whitelists/blacklist # L45-L46), anche se non sono sicuro del perché. – mkobit
Sì, è necessario approvare lo script o i metodi particolari o eseguire la sandbox esterna. – izzekil
Questo non dovrebbe essere richiesto. Problema archiviato: https://issues.jenkins-ci.org/browse/JENKINS-41272 – BitwiseMan