반응형
Groovy 에서 REST API호출을 위해 HttpBuilder란 것을 사용한다.
아래는 간단히 Groovy에서 Jenkins 빌드를 위한 예제
import groovyx.net.http.HTTPBuilder
import static groovyx.net.http.Method.GET
import static groovyx.net.http.ContentType.JSON
def http = new HTTPBuilder( 'http://jenkinsUrl.com' )
def crumb =''
http.request(GET) {
uri.path = '/crumbissuer/api/json' // CSRF 때문에 먼저 token 호출
headers.'Authorization' = 'Basic id:paswword' // Base64Encode 해야함
response.success = { resp, reader ->
crumb = reader['crumb']
}
response.failure = { resp ->
println 'Error'
}
}
http.request(POST) {
uri.path = '/job/test/build' // 빌드할 Jenkins Job
headers.'Authorization' = 'Basic id:paswword' // Base64Encode 해야함
headers.'Jenkins-Crumb' = crumb // 위에서 호출한 Token값 필요
response.success = { resp, reader ->
// 성공하면 젠킨스 빌드됨.
}
response.failure = { resp ->
println 'Error'
}
}
참조 : https://github.com/jgritman/httpbuilder/wiki
반응형