-
Improvement
-
Resolution: Fixed
-
Minor
-
None
-
-
pannonian, iapetus
I would like to request two additions to the Github APIs.
When listing organizations via /jenkins/scm/github/organizations/?credentialId=github the response is currently:
[{
"_class": "io.jenkins.blueocean.blueocean_github_pipeline.GithubOrganization",
"_links": {
"repositories": {
"_class": "io.jenkins.blueocean.rest.hal.Link",
"href": "/organizations/jenkins/scm/github/organizations/jenkinsci/repositories/"
},
"self": {
"_class": "io.jenkins.blueocean.rest.hal.Link",
"href": "/organizations/jenkins/scm/github/organizations/jenkinsci/"
}
},
"avatar": "https://avatars.githubusercontent.com/u/107424?v=3&s=50",
"jenkinsOrganizationPipeline": false,
"name": "jenkinsci"
}, {
"_class": "io.jenkins.blueocean.blueocean_github_pipeline.GithubUserOrganization",
"_links": {
"repositories": {
"_class": "io.jenkins.blueocean.rest.hal.Link",
"href": "/organizations/jenkins/scm/github/organizations/cliffmeyers/repositories/"
},
"self": {
"_class": "io.jenkins.blueocean.rest.hal.Link",
"href": "/organizations/jenkins/scm/github/organizations/cliffmeyers/"
}
},
"avatar": "https://avatars.githubusercontent.com/u/143466?v=3&s=50",
"jenkinsOrganizationPipeline": true,
"name": "cliffmeyers"
}, {
"_class": "io.jenkins.blueocean.blueocean_github_pipeline.GithubOrganization",
"_links": {
"repositories": {
"_class": "io.jenkins.blueocean.rest.hal.Link",
"href": "/organizations/jenkins/scm/github/organizations/cloudbees/repositories/"
},
"self": {
"_class": "io.jenkins.blueocean.rest.hal.Link",
"href": "/organizations/jenkins/scm/github/organizations/cloudbees/"
}
},
"avatar": "https://avatars.githubusercontent.com/u/235526?v=3&s=50",
"jenkinsOrganizationPipeline": false,
"name": "cloudbees"
}]
1. For organizations where jenkinsOrganizationPipeline is true, could we add an additional field that indicates whether "auto discover" is enabled? This is equivalent to a Github org folder that was created without specifying any repository names (i.e. empty "repoNames" array)
2. For organizations where jenkinsOrganizationPipeline is true, could we also add a HAL link to the Jenkins org folder? This will make REST API update calls much easier.
When listing repositories via /jenkins/scm/github/organizations/cliffmeyers/repositories/?credentialId=github&pageNumber=1&pageSize=100 the response is currently:
{
"_class": "io.jenkins.blueocean.blueocean_github_pipeline.GithubRespositoryContainer",
"_links": {
"self": {
"_class": "io.jenkins.blueocean.rest.hal.Link",
"href": "/organizations/jenkins/scm/github/organizations/cliffmeyers/repositories/"
}
},
"repositories": {
"_class": "io.jenkins.blueocean.blueocean_github_pipeline.GithubRepositories",
"_links": {
"self": {
"_class": "io.jenkins.blueocean.rest.hal.Link",
"href": "/organizations/jenkins/scm/github/organizations/cliffmeyers/repositories/repositories/"
}
},
"items": [{
"_class": "io.jenkins.blueocean.blueocean_github_pipeline.GithubRepository",
"_links": {
"self": {
"_class": "io.jenkins.blueocean.rest.hal.Link",
"href": "/organizations/jenkins/scm/github/organizations/cliffmeyers/repositories/repositories/blog-examples/"
}
},
"defaultBranch": "master",
"description": "Sample code from stuff on my blog",
"name": "blog-examples",
"permissions": {
"admin": true,
"push": true,
"pull": true
},
"private": false,
"fullName": "cliffmeyers/blog-examples"
}, {
"_class": "io.jenkins.blueocean.blueocean_github_pipeline.GithubRepository",
"_links": {
"self": {
"_class": "io.jenkins.blueocean.rest.hal.Link",
"href": "/organizations/jenkins/scm/github/organizations/cliffmeyers/repositories/repositories/blueocean-plugin/"
}
},
"defaultBranch": "master",
"description": "Blue Ocean UI app",
"name": "blueocean-plugin",
"permissions": {
"admin": true,
"push": true,
"pull": true
},
"private": false,
"fullName": "cliffmeyers/blueocean-plugin"
}, {
"_class": "io.jenkins.blueocean.blueocean_github_pipeline.GithubRepository",
"_links": {
"self": {
"_class": "io.jenkins.blueocean.rest.hal.Link",
"href": "/organizations/jenkins/scm/github/organizations/cliffmeyers/repositories/repositories/frontend-maven-plugin/"
}
},
"defaultBranch": "master",
"description": "\"Maven-node-grunt-gulp-npm-node-plugin to end all maven-node-grunt-gulp-npm-plugins.\" A Maven plugin that downloads/installs Node and NPM locally, runs NPM install, Grunt, Gulp and/or Karma.",
"name": "frontend-maven-plugin",
"permissions": {
"admin": true,
"push": true,
"pull": true
},
"private": false,
"fullName": "cliffmeyers/frontend-maven-plugin"
}, {
"_class": "io.jenkins.blueocean.blueocean_github_pipeline.GithubRepository",
"_links": {
"self": {
"_class": "io.jenkins.blueocean.rest.hal.Link",
"href": "/organizations/jenkins/scm/github/organizations/cliffmeyers/repositories/repositories/java-utils/"
}
},
"defaultBranch": "master",
"description": "Utilities for Java",
"name": "java-utils",
"permissions": {
"admin": true,
"push": true,
"pull": true
},
"private": false,
"fullName": "cliffmeyers/java-utils"
}],
"lastPage": 3,
"nextPage": 2,
"pageSize": 4
}
}
3. Could we add a field to the repository object that indicates whether a pipeline has already been created for it? This is important in the "update" scenario to avoid the user trying to create a repo that was already created.
- blocks
-
JENKINS-38598 User can create pipeline from Github repository
-
- Resolved
-