【问题标题】:how to get all the jenkins users through api如何通过api获取所有jenkins用户
【发布时间】:2019-10-26 16:07:11
【问题描述】:

我正在尝试通过使用 api 来获取 jenkins 中的所有用户。

例如,我在邮递员中点击了以下命令,它显示了 jenkins 中的所有工作。

网址 = 192.168.195.150:8080/api/json?pretty=true

结果:

{

    "_class": "hudson.model.Hudson",

    "assignedLabels": [

        {
            "name": "master"
        }
    ],
    "mode": "NORMAL",
    "nodeDescription": "the master Jenkins node",
    "nodeName": "",
    "numExecutors": 2,
    "description": null,
    "jobs": [
        {
            "_class": "hudson.model.FreeStyleProject",
            "name": "Apache_kafka_Consumer_Info",
            "url": "http://192.168.192.198:8080/job/Apache_kafka_Consumer_Info/",
            "color": "blue"
        },
        {
            "_class": "hudson.model.FreeStyleProject",
            "name": "Apache_Kafka_Zookeeper_Start",
            "url": "http://192.168.192.198:8080/job/Apache_Kafka_Zookeeper_Start/",
            "color": "red"
        },
        {
            "_class": "hudson.model.FreeStyleProject",
            "name": "Apache_Kafka_Zookeeper_Status",
            "url": "http://192.168.192.198:8080/job/Apache_Kafka_Zookeeper_Status/",
            "color": "blue"
        },
        {
            "_class": "hudson.model.FreeStyleProject",
            "name": "AWS_Lambda",
            "url": "http://192.168.192.198:8080/job/AWS_Lambda/",
            "color": "blue"
        },
        {
            "_class": "hudson.model.FreeStyleProject",
            "name": "Input_Validation",
            "url": "http://192.168.192.198:8080/job/Input_Validation/",
            "color": "blue"
        },
        {
            "_class": "hudson.model.FreeStyleProject",
            "name": "loginserver-CI",
            "url": "http://192.168.192.198:8080/job/loginserver-CI/",
            "color": "blue"
        },
        {
            "_class": "hudson.maven.MavenModuleSet",
            "name": "loginserver-CI-1",
            "url": "http://192.168.192.198:8080/job/loginserver-CI-1/",
            "color": "blue"
        },
        {
            "_class": "hudson.maven.MavenModuleSet",
            "name": "loginserver-CI-2",
            "url": "http://192.168.192.198:8080/job/loginserver-CI-2/",
            "color": "blue"
        },
        {
            "_class": "hudson.maven.MavenModuleSet",
            "name": "loginserver-CI-3",
            "url": "http://192.168.192.198:8080/job/loginserver-CI-3/",
            "color": "blue"
        },
        {
            "_class": "hudson.model.FreeStyleProject",
            "name": "M_test",
            "url": "http://192.168.192.198:8080/job/M_test/",
            "color": "blue"
        },
        {
            "_class": "hudson.model.FreeStyleProject",
            "name": "parameter",
            "url": "http://192.168.192.198:8080/job/parameter/",
            "color": "blue"
        },
        {
            "_class": "hudson.model.FreeStyleProject",
            "name": "Remote_Deploy",
            "url": "http://192.168.192.198:8080/job/Remote_Deploy/",
            "color": "blue"
        },
        {
            "_class": "hudson.model.FreeStyleProject",
            "name": "Remote_Deploy_1",
            "url": "http://192.168.192.198:8080/job/Remote_Deploy_1/",
            "color": "blue"
        },
        {
            "_class": "hudson.model.FreeStyleProject",
            "name": "Tomcat_Status",
            "url": "http://192.168.192.198:8080/job/Tomcat_Status/",
            "color": "yellow"
        },
        {
            "_class": "hudson.model.FreeStyleProject",
            "name": "Version_Check",
            "url": "http://192.168.192.198:8080/job/Version_Check/",
            "color": "blue"
        }
    ],
    "overallLoad": {},
    "primaryView": {
        "_class": "hudson.model.AllView",
        "name": "all",
        "url": "http://192.168.192.198:8080/"
    },
    "quietingDown": false,
    "slaveAgentPort": -1,
    "unlabeledLoad": {
        "_class": "jenkins.model.UnlabeledLoadStatistics"
    },
    "useCrumbs": true,
    "useSecurity": true,
    "views": [
        {
            "_class": "hudson.model.AllView",
            "name": "all",
            "url": "http://192.168.192.198:8080/"
        }
    ]
}

如何修改该 Url 以便列出 Jenkins 中的所有用户?

如果列出用户权限以及分配给每个用户的作业会更好。

【问题讨论】:

    标签: api jenkins jenkins-plugins postman jenkins-api


    【解决方案1】:

    您可以使用以下方式获取用户列表:-

    https://<yourjenkins>/asynchPeople/api/xml?depth=1
    

    使用 jenkinsfile 中的以下代码获取所有 Jenkins 用户:-

    import hudson.model.User
    
    User.getAll().each { user ->
       println user
    }
    

    更多信息请参考link

    【讨论】:

    • @user_9090 感谢这个...你能分享一下你从哪里得到这个的资源/链接吗...我想在它的输出中添加用户和分配给用户的权限
    【解决方案2】:

    您可以使用 api4jenkins python 包 Get all users from Jenkins

    相关文档在这里: https://api4jenkins.readthedocs.io/en/latest/user/example.html#system

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-02-12
    • 1970-01-01
    • 2018-12-17
    • 2013-10-05
    • 2021-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多