首页 > 解决方案 > 在 Jenkins REST API 中扩展用户模型属性

问题描述

我正在尝试使用 Jenkins REST API 提取用户的最后登录详细信息,在查询 URL 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 值?

标签: pythonapirestjenkins

解决方案


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

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

推荐阅读