jenkins - 在 Jenkins 管道脚本中获取当前用户的凭据

标签 jenkins groovy jenkins-pipeline

我有一个需要由登录的 LDAP 帐户手动触发的作业。该作业包含一个同步 git 存储库的步骤,其中相同的 LDAP 帐户用于 git 凭据。

是否有可能获得 credentialsId当前登录并正在触发工作的人?我想象这样的代码:

def credential = getCurrentUserCredential() // ???
git credentialsId: credential, url: 'git.repo'

最佳答案

这对你有用

BUILD_CAUSE_JSON=$(curl --silent ${BUILD_URL}/api/json | tr "{}" "\n" | grep "Started by")
BUILD_USER_ID=$(echo $BUILD_CAUSE_JSON | tr "," "\n" | grep "userId" | awk -F\" '{print $4}')
BUILD_USER_NAME=$(echo $BUILD_CAUSE_JSON | tr "," "\n" | grep "userName" | awk -F\" '{print $4}')

关于jenkins - 在 Jenkins 管道脚本中获取当前用户的凭据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45501548/

相关文章:

java - 在 Jenkins Slave 上使用 Maven

Android SDK 安装失败(Jenkins 的 Android Emulator 插件) Caused by : java. io.IOException: Failed to donwload SDK archive

Jenkins 重新运行安装向导

java - 打印数组时如何去掉groovy中的括号和逗号

shell - 将 groovy 变量传递给 shell 脚本

jenkins - 获取Jenkinsfile(Groovy)中给定文件夹中的文件名列表

System Groovy 脚本中的 java.lang.NumberFormatException

groovy - 使用 Gradle,如何确保命令存在

jenkins - 在 Jenkins 的多个节点上运行同一阶段

docker - 如何在Jenkins(Pipeline)中为我的dockercontainer指定开始脚本?