Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/348.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在Jenkins REST API中扩展用户模型属性_Python_Api_Rest_Jenkins - Fatal编程技术网

Python 在Jenkins REST API中扩展用户模型属性

Python 在Jenkins REST API中扩展用户模型属性,python,api,rest,jenkins,Python,Api,Rest,Jenkins,在查询URL时,我试图使用Jenkins REST API提取用户的最后登录详细信息https://jenkinsurl/user/someusername/api/json 我收到的回复与下面显示的类似 { "_class" : "hudson.model.User", "absoluteUrl" : "https://jenkinsurl/user/someusername",

在查询URL时,我试图使用Jenkins REST API提取用户的最后登录详细信息https://jenkinsurl/user/someusername/api/json 我收到的回复与下面显示的类似

{
      "_class" : "hudson.model.User",
      "absoluteUrl" : "https://jenkinsurl/user/someusername",
      "description" : null,
      "fullName" : "someusername",
      "id" : "someusernameid",
      "property" : [
        {
          "_class" : "someProperty1"
        },
        {
          "_class" : "someProperty2"
        },
        
        {
          "_class" : "org.jenkinsci.plugins.saml.user.LoginDetailsProperty"
        },
      ]
    }

现在,我要查找的详细信息位于LoginDetailsProperty下,可以在中找到。当我打开user/someusername/configure修改用户详细信息或创建访问令牌时,我已经看到Jenkins UI中使用了详细信息。如何使用REST API扩展LoginDetailsProperty并提取特定用户的lastLoginTimestamp值?

我认为您需要扩展插件代码,以便导出时间戳,如下所示:

import org.kohsuke.stapler.export.Exported;
[...]
@Exported
public long getLastLoginTimestamp() {
[...]

这是否意味着我需要自己构建和打包插件,然后将其重新安装到我的Jenkins环境中?是的,这是正确的。我认为唯一的另一种选择是完全跳过JSON api,用Groovy脚本提取信息。嗯……有道理。我以前从未使用过Groovy,并试图不走这条路,但我想这是解决问题的更好方法。有什么建议去哪里寻求帮助吗?嗯,最后修改插件可能会更容易。重新构建它很容易,如果您将修改提交给官方回购协议,您将拥有一个永久解决方案,并且您为开发做出了贡献。如果您想使用Groovy,那么需要深入研究对象模型,以创建生成所需信息的脚本,然后使用RESTAPI运行该Groovy。如果您希望将来再次使用Groovy/Jenkins组合,我只会走这条路。