젠킨스 api 사용하기.
jenkins ver 1.658 기준으로 작성.
------------------------------------
1. jenkins 설정의 사용자에 api token을 설정
2. 해당 job에서는 아래와같이 authentication token을 설정
api를 호출할때.
1번의 apitoken을 header에 싣기. c#으로 아래 코드.
NameValueCollection nv = new NameValueCollection();
String encodedTkn = System.Convert.ToBase64String(System.Text.Encoding.GetEncoding("ISO-8859-1").GetBytes(userName + ":" + userTkn));
nv.Add("Authorization", "Basic " + encodedTkn);
Entity.MetaBuild result = JsonConvert.DeserializeObject<Entity.MetaBuild>(Webber.Post(url, "", ContentType.ApplicationJson, EncodingType.Utf8, null, nv).RawResult);
userName, userTken = 1번의 사용자 이름과 토큰
--------------------------------------------------------------------
localhost:8888/api/json
option : json?tree=jobs[name,color] (추가 옵션과 pretty는 구글링)
특정 job history 내역.
localhost:8888/job/"+jobName+"/api/json
위 history 내역에서 수행 num에 따른 상세 정보.
/job/" + jobName + "/" + bulidNum + "/api/json?tree=number,estimatedDuration,duration,id,buildings,result
(실행중인 job을 호출하면 status값이 success / failure등과 같이 호출때마다 값이 변경됨)
jenkins ver 1.658 기준으로 작성.
------------------------------------
1. jenkins 설정의 사용자에 api token을 설정
2. 해당 job에서는 아래와같이 authentication token을 설정
api를 호출할때.
1번의 apitoken을 header에 싣기. c#으로 아래 코드.
NameValueCollection nv = new NameValueCollection();
String encodedTkn = System.Convert.ToBase64String(System.Text.Encoding.GetEncoding("ISO-8859-1").GetBytes(userName + ":" + userTkn));
nv.Add("Authorization", "Basic " + encodedTkn);
Entity.MetaBuild result = JsonConvert.DeserializeObject<Entity.MetaBuild>(Webber.Post(url, "", ContentType.ApplicationJson, EncodingType.Utf8, null, nv).RawResult);
userName, userTken = 1번의 사용자 이름과 토큰
--------------------------------------------------------------------
api
job list 가져오기localhost:8888/api/json
option : json?tree=jobs[name,color] (추가 옵션과 pretty는 구글링)
특정 job history 내역.
localhost:8888/job/"+jobName+"/api/json
위 history 내역에서 수행 num에 따른 상세 정보.
/job/" + jobName + "/" + bulidNum + "/api/json?tree=number,estimatedDuration,duration,id,buildings,result
(실행중인 job을 호출하면 status값이 success / failure등과 같이 호출때마다 값이 변경됨)