1
0

seedGogsProjects.groovy 995 B

12345678910111213141516171819202122232425262728293031323334
  1. def resolver = build.buildVariableResolver
  2. def server = resolver.resolve("GOGS_SERVER") + "/api/v1"
  3. def apikey = resolver.resolve("GOGS_API_KEY")
  4. def root = "${server}/api/v1"
  5. def restExists(url) {
  6. def u = new URL(url)
  7. def req = u.openConnection();
  8. req.setRequestMethod("OPTIONS")
  9. def getRC = req.getResponseCode();
  10. if(getRC.equals(200)) {
  11. return true;
  12. }
  13. return false;
  14. }
  15. def restJSONGet(url) {
  16. def u = new URL("${root}/user/repos?token=${apikey})
  17. return new groovy.json.JsonSlurper().parse(u.newReader())
  18. }
  19. def projects = restJSONGet("${root}/user/repos?token=${apikey})
  20. projects.each {
  21. def project = it.full_name
  22. def branches = restJSONGet("${root}/repos/${project}/branches")
  23. branches.each {
  24. def branchName = it.name
  25. def jenkinsFile = restExists("${root}/repos/${project}/raw/${branchName}/Jenkinsfile?token=$apikey}")
  26. def jobName = "${project}".replaceAll('/','-')
  27. println("${project}/${branchName} - ${jobName} / hasFile ${jenkinsFile}"
  28. }
  29. }