原因是在Jenkins 2之后默认开启CSRF protection (跨域访问伪造保护),对有些Jenkins API的调用需要提供Jenkins-Crumb;否则会出现”403 No valid crumb was included in the request“ 的错误。
获取Crumb
访问地址:http://192.168.1.10:8080/crumbIssuer/api/xml
API调用
在customHeaders里面写入获取的Crumb值
def response = httpRequest httpMode: 'POST', contentType: 'APPLICATION_JSON', timeout: 3000, requestBody: requestBody, url: url, validResponseCodes: '201', customHeaders: [["Jenkins-Crumb": "a287281b125737f2ef7581fe023d61a7"]], ignoreSslErrors: