我使用的是神器版3.0.4。我需要根据groupId:artifacId:*
计算指定工件的版本列表。
这似乎可以使用REST和神器的商业版本:
我在一个时髦的脚本中有以下内容:
@Grab(group='org.apache.httpcomponents', module='httpclient', version='4.3.2' )
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.HttpEntity;
import org.apache.http.util.EntityUtils
import org.apache.http.client.methods.HttpGet;
import org.apache.http.entity.InputStreamEntity;
import org.apache.http.impl.client.DefaultHttpClient;
def url = "http://artifactory:8089/artifactory/agg/libs-snapshot-local/com/mygroup/my-artifact/";
HttpGet request = new HttpGet(url);
DefaultHttpClient client = new DefaultHttpClient();
HttpResponse response = client.execute(request);
HttpEntity entity = response.getEntity();
String responseString = EntityUtils.toString(entity, "UTF-8");
println responseString
但是responseString中my-artifact
的版本被淹没在无关信息中。有什么建议可以执行更明智的请求,还是我需要解析那个丑陋的字符串?
答案 0 :(得分:2)
您要求的具体电话确实需要神器专业版。 这意味着什么:
在开始工作之前,您应该比较实施它的成本 与购买它的成本(确保你考虑可能的机会) 浪费时间实施其他“专业”API功能)
如果您的时间仍然变得更便宜(如果我理解正确的意图) 给定工件名称和组ID,您需要获取版本列表。
你能做的就是编写一个实现“pro”api调用的方法。 意思是:
children_list
= /api/storage/<repo>/<group id split by slashes>/<your artifact>/ | grep folder ="true"