2

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

4

2 回答 2

3

获取作业执行者:

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];'

另请参阅如何在 Jenkins 中设置环境变量?它解释了如何将它传递到脚本中。

于 2012-05-15T17:29:59.583 回答
0
BUILD_START_USER=`curl ${JOB_URL}'lastBuild/api/json' | python -c 'import json,sys;obj=json.loads(sys.stdin.read());print obj["'"actions"'"][1]["'"causes"'"][0]["'"userId"'"]'`
于 2012-08-10T01:52:08.020 回答