using jenkins api

젠킨스 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번의 사용자 이름과 토큰

--------------------------------------------------------------------

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등과 같이 호출때마다 값이 변경됨)

윈도우 호스트 파일 대체 프로그램

윈도우 호스트 파일 대체 proxy

윈도우 호스트 파일을 변경하다보면 세션이 남아있어서, 브라우저때문에 바로바로
적용이 안되는 케이스가 있고, 환경에 따라 목록화해서 관리할 필요성이 있음.
특히, 개발자일 경우 또는 QA를 할때 , host를 수시로 변경해야 한다면  (개발/스테이징/라이브 등등)

호스트 파일로 변경은 여간 번거롭다. 
본 프로그램은
로컬 프록시를 이용해 프로그램내 textbox에 설정한 host만 네트워크 요청시 ip를 override 합니다.
(호스트파일 건드릴 필요X.   해당 로컬 프록시는 fiddler core 사용.) 



hosts.zip설치 파일 :https://github.com/juster111/host-override
(곧 해당 git에 오픈소스로 올릴 예정이며,
현재는 해당 git에서 파일 내려받은후  setup.exe 실행)

 










실행.
1) 아래 인증서 설치에서 "예"를 눌러야 https 까지 정상적으로 capture.
(https 트래픽 캡쳐를 위한 로컬 인증서.) 


2)  


메뉴:
Stop■ / Play 버튼으로 프록시 실행 
capture Disable --> 프록시를 사용하나, 우측 요청 URL에 노출 여부 
SSL Cert --> https 로컬 인증서 설치 

버튼:
호스트적용 – 아래 hosts 내용 변경 후, 즉각 적용이 필요한 경우 버튼 클릭. (클릭시 바로 적용)
저장하기 –
해당 hosts (textbox) 내용을 새로 txt파일로 만들어 저장 목록으로 관리.
실행시 별도 아래 리스트에 추가 되며, 리스트내 txt파일 더블 클릭시 해당 내용을 자동으로 위 hosts (textbox) overwrite. 
해당 리스트 마우스 오른쪽 클릭시 txt 파일 삭제 가능. 



우측폼 요청 url과 요청 상세는 추후 개발. 


3.
해당 트레이아이콘 마우스 우클릭으로 프록시 Play <-> Stop 조정 가능.