jenkins - 如何以编程方式获取 Jenkins 用户 ID?

标签 jenkins

我想将启动 Jenkins 作业的人的用户 ID 传递给脚本。 'env' 的输出表示未设置环境变量,'ant -v' 的输出表示未设置属性。如何访问开始工作的人的用户 ID? (我知道触发器可以启 Action 业,但对于这个作业,它永远是一个人)。

最佳答案

获取作业执行者:

curl -s "${BUILD_URL}/api/json" | \
python -c '\
    import json; \
    import sys; \
    obj = json.loads(sys.stdin.read()); \
    print [ \
        cause["userId"] \
        for action in obj["actions"] \
        if "causes" in action \
        for cause in action["causes"] \
        if "userId" in cause][0];'

另请参阅How to set environment variables in Jenkins?这解释了如何将其传递到脚本中。

关于jenkins - 如何以编程方式获取 Jenkins 用户 ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10604802/

相关文章:

jenkins - 如何在 Jenkins 声明性管道脚本 block 内循环分配 env

jenkins - 在 Jenkins 中显示 Chef Minitest 处理程序测试结果

selenium - 在 Jenkins 上通过 Selenium 执行测试套件时出现错误 [SEVERE] : Timed out receiving message from renderer: 20. 000

Jenkins 在 groovy 脚本中检索主动选择参数

java - 为什么MANIFEST.MF和类文件中的JDK版本不同

git - Jenkins 管道作业不会在 GitHub 推送上触发

sql - 将测试数据从 jenkins/hudson 保存到数据库的最佳方法是什么?

maven - 将 Nexus 内部版本号与 hudson/jenkins 内部版本号同步

jenkins - 在 jenkins 工作流的并行构建中获取失败构建的构建号

php - 如何测试我的应用程序 phpunit - zend framework 2 中的每个模块