Jenkinsã®ãã«ããAPIããåé¤ããã
鱿«ã¬ãã¬ãä¼ãã§ããéã«ä»äºã§ã¤ãã£ã¦ããJenkinsã®ãµã¼ãã®ç°å¢ããããããªã£ãããããgit cloneãã§ããªãã¨ãããã¨ã©ã¼ã大éã«çºçãã¦ããã5åããã«ãã¼ãªã³ã°ãã¦ããã®ã§ãæ°ç¾ã®ã¨ã©ã¼ãã«ããããã
ãã«ãå±¥æ´ããããã®ã¯ã©ããªã®ãã¨ãã話ãããããå ¨é¨åãã¨ã©ã¼ãªã®ã§æ å ±ã¨ãã¦ã¯ã¾ã£ãã価å¤ãç¡ãã®ã§åé¤ãããã¨ã«ãããUIã§ä¸åãã¤åé¤ããã®ã¯é¦¬é¹¿ããããã¦ãã£ã¦ãããªãã®ã§ãAPIããåé¤ãã¦ã¿ãã
Remote Access APIãªããã®ãããã¨ãããã¨ã¯ç¥ã£ã¦ããã®ã§ããããè¦ã¦ã¿ãã
https://wiki.jenkins-ci.org/display/JENKINS/Remote+access+API
ããã¾æ å ±ãªããã©ãRESTãªãDELETEãªããã°ãããããªãã¨æã£ã¦æãã¦ã¿ãã
curl --basic --user hogehoge:hugahuga -v -3 -x DELETE 'https://ci.myproject.com/job/myjob/250 -d 'token=foobar'
302ãè¿ã£ã¦ãã¦æ¶ããããªã¨æã£ããã©æ¶ãã¦ãªãã£ãorz
ãããã«UIããåé¤ãã¦ã¿ãã¨
POST https://ci.myproject.com/job/myjob/250/doDelete ãæãã¦ãããã¨ãããã£ãã
Chromeã®éçºãã¼ã«ã¯ä¾¿å©ã§ããã
curl --basic --user hogehoge:hugahuga -v -3 -x POST 'https://ci.myproject.com/job/myjob/250/doDelete' -d 'token=foobar'
ã§ç¡äºåé¤ã§ãããå¿çã¯302ãè¿ã£ã¦ãã¾ãã
(token ã¯Jenkinså´ã®ãã«ãã®è¨å®ããè¨å®ãã¾ãã)
ãã¨ã¯å¤§éã«çºçãã失æãã«ããã«ã¼ãã¾ããã¦æ¶ãã ãã
ãã«ãçªå·20-249ãæ¶ããªã
for i in `seq 20 1 249` do curl --basic --user hogehoge:hugahuga -v -3 -x POST "https://ci.myproject.com/job/myjob/$i/doDelete" -d 'token=foobar' done