一尘不染

Jenkins Java:获取开始构建的用户

jenkins

http://[JENKINS_NAME]/job/[JOB_NAME]/[BUILD_NUMBER]/

我可以看到 由[USER_NAME]用户启动

我想从我的Java应用程序中获取该用户名。

任何帮助深表感谢。


阅读 375

收藏
2020-07-25

共1个答案

一尘不染

您可以拨打http以获得所有这些详细信息。获取这些详细信息的URL是:

http://<Jenkins URL>/job/<job name>/<build number>/api/json

在其余的调用之后,您将获得此json。

{
"_class": "hudson.model.FreeStyleBuild",
"actions": [
    {
        "_class": "hudson.model.CauseAction",
        "causes": [
            {
                "_class": "hudson.model.Cause$UserIdCause",
                "shortDescription": "Started by user XXXXXX",
                "userId": "xxx@yyy.com",
                "userName": "ZZZZZZZZ"
            }
        ]
    },
    {},
    {
        "_class": "jenkins.metrics.impl.TimeInQueueAction"
    },
    {},
    {}
],
...
}

因此,您所要做的就是解析此json并获取下的值javavar['actions'][0]['causes'][0]['userName']。绝对是那样。我可能不确定这些索引。您只需尝试找出。希望这可以帮助。

通常,对于jenkins实例中的每个页面,您都将具有REST API链接。请单击它以查看其余api URL及其该URL的输出。

2020-07-25