non ho trovato questo nella documentazione sia. Questo codice è stato testato contro un vecchio Jenkins (1.466), ma dovrebbe comunque funzionare.
Per emettere utilizzare la mollica del crumbIssuer
// left out: you need to authenticate with user & password -> sample below
HttpGet httpGet = new HttpGet(jenkinsUrl + "crumbIssuer/api/json");
String crumbResponse = toString(httpclient, httpGet);
CrumbJson crumbJson = new Gson().fromJson(crumbResponse, CrumbJson.class);
questo modo si ottiene una risposta come questa
{"crumb":"fb171d526b9cc9e25afe80b356e12cb7","crumbRequestField":".crumb"}
Questo contiene due pezzi di informazioni di cui avete bisogno
- il nome del campo con il quale è necessario passare la briciola
- la briciola stessa
Se si desidera recuperare qualcosa da Jenkins, aggiungere la briciola come intestazione. Nell'esempio seguente, recupero gli ultimi risultati di compilazione.
HttpPost httpost = new HttpPost(jenkinsUrl + "rssLatest");
httpost.addHeader(crumbJson.crumbRequestField, crumbJson.crumb);
Ecco il codice di esempio nel suo insieme. Sto usando gson 2.2.4 per analizzare la risposta e Apache's httpclient 4.2.3 per il resto.
Confermato nella versione 2.19 di Jenkins. Ancora lavorando. – teodron