Posts

Showing posts from April, 2019

GetArtifactoryVersions

import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.net.URL; import javax.xml.stream.XMLInputFactory; import javax.xml.stream.XMLStreamConstants; import javax.xml.stream.XMLStreamException; import javax.xml.stream.XMLStreamReader; import org.codehaus.jackson.JsonGenerationException; import org.codehaus.jackson.map.JsonMappingException; import org.codehaus.jackson.map.ObjectMapper; import org.json.simple.JSONArray; import org.json.simple.JSONObject; public class GetArtifactoryVersions { public static void main(String[] args) throws XMLStreamException { try { JSONObject countryObj = new JSONObject();  JSONArray listOfVersions = new JSONArray();  URL url=null; url = new URL("https://artifactory.corp.com/release-local/com/test/"+args[0]+"/maven-metadata.xml"); XMLStreamReader reader1 = XMLInputFactory.newInstance().createXMLStreamReader(url.openStream()); String version = null; ...

Jenkins Dynamic Parameters - List of Application Versions from Artifactory

The below code lists All Versions Built for an application from the artifactory. import groovy.json.JsonSlurper try {     def appName=binding.variables.get('<appName>')     def appPrefix=binding.variables.get('<appPrefix>')     List<String> artifacts = new ArrayList<String>()     def artifactsUrl = "https://artifactory.corp.com/release-local/data-items/"+appPrefix+"-"+appName+"/1.0/"+appPrefix+"-"+appName+"-1.0.json"          def artifactsObjectRaw = ["curl", "-s", "-H", "accept: application/json", "-k", "--url", "${artifactsUrl}"].execute().text     def jsonSlurper = new JsonSlurper()     def artifactsJsonObject = jsonSlurper.parseText(artifactsObjectRaw)     def dataArray = artifactsJsonObject.data     for(item in dataArray){         if (item.isMetadata== false)         artifacts.add(item.version) ...

Jenkins Dynmaic Parameter - List All Branches in a Git Repository

The below code lists all the branches from a Git Repo as a drop down in jenkins. proc1 = ['/bin/bash', '-c', "git ls-remote -h ssh://ssh@<GitURL>/<projectkey>/<RepoName>.git"].execute() proc2 = ['/bin/bash', '-c', "awk '{print \$2}'"].execute() proc3 = ['/bin/bash', '-c', "sed s%^refs/heads%origin%"].execute() all = proc1 | proc2 | proc3 String result = all.text def values = result.tokenize() return values Steps to Add this code. 1. Login to Jenkins 2. Go to your Job Configuration 3. Select this Project is Parameterized 4. Select Active Choices Reactive Parameter 5. Click on Radio Button Groovy Script 6. Add the above code. 7.Save the Job. Examples: <GitURL> :  ssh://ssh@ bitbucket.com:7999 <projectkey>:  sm <RepoName>: MyTestRepo