2

I'm trying to get all the user in jenkins by using api .

For example I hit the following command in postman and it is showing me all the jobs in jenkins .

Url = 192.168.195.150:8080/api/json?pretty=true

Result:

{

    "_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/"
        }
    ]
}

How can I modify that Url so that I can list out all the users in Jenkins ?

It would be more better if it list out user permissions along with the jobs allocated to each user.

Divyang Desai
  • 7,483
  • 13
  • 50
  • 76
SKuser
  • 35
  • 1
  • 4
  • 9

2 Answers2

5

You can get the list of Users using below:-

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

Get all the Jenkins user using the below code in jenkinsfile:-

import hudson.model.User

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

Please refer the link for more information:

user_9090
  • 1,884
  • 11
  • 28
  • @ user_9090 Thanx for this...could you please share me the resource/link from where did you get this..I want to add users and permissions allocated to users in it's output – SKuser Jun 12 '19 at 09:48
0

You can use the api4jenkins python package Get all users from Jenkins

relevant docs are here: https://api4jenkins.readthedocs.io/en/latest/user/example.html#system

  • The question was asking about the API end points. This is a solution for sure, but not a direct answer to the question. You may explain why a direct API call is not possible and then show this as an alternate answer. – Md Monjur Ul Hasan Jan 03 '22 at 15:21
  • This does not provide an answer to the question. Once you have sufficient [reputation](https://stackoverflow.com/help/whats-reputation) you will be able to [comment on any post](https://stackoverflow.com/help/privileges/comment); instead, [provide answers that don't require clarification from the asker](https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-can-i-do-instead). - [From Review](/review/late-answers/30727693) – Andrew Jan 05 '22 at 12:07