需要安装HTTP Request 插件;安装方式不介绍。
官网链接,上面有详细语法:https://plugins.jenkins.io/http_request/
附一个demo,脚本脱敏处理
stage("开启推送") {
steps {
script {
// 请求sonar获取信息
echo "请求sonar获取信息"
def response = httpRequest \
httpMode: "GET",
ignoreSslErrors: true,
contentType: 'APPLICATION_JSON',
// requestBody: groovy.json.JsonOutput.toJson(requestBody1),
url: "http://localhost:9000/"
println('Response: '+response.content)
println()
println("=================================response msg=========================================")
def props = readJSON text: response.content
def bugs = props['measures'][0]['history'][0]['value']
def code_smells = props['measures'][1]['history'][0]['value']
def vulnerabilities = props['measures'][2]['history'][0]['value']
println("bugs: ${bugs}")
println("code_smells: ${code_smells}")
println("vulnerabilities: ${vulnerabilities}")
// robot
def response2 = httpRequest \
httpMode: "POST",quiet: true,
ignoreSslErrors: true,
contentType: 'APPLICATION_JSON_UTF8',
requestBody: '''{
"card": {
"elements": [
{
"tag": "div",
"text": {
"content": "**代码**,扫描结果:xxxxxxxx。",
"tag": "lark_md"
}
},
{
"actions": [
{
"tag": "button",
"text": {
"content": "更多详细信息 :玫瑰:",
"tag": "lark_md"
},
"type": "default",
"url": "http://localhost:9000/",
"value": {}
}
],
"tag": "action"
}
],
"header": {
"title": {
"content": "静态代码扫描",
"tag": "plain_text"
}
}
},
"msg_type": "interactive"
}''',
url: "https://xxxxxxxx"
}
}
}
直接在构建里找到插件选择就行,不描述
编码字符集问题,解决起来代码pipline方式比较难解决,就到插件里配置看是否会发生同样问题,发现一样问题在插件里解决 选择报文类型 contentType: ‘APPLICATION_JSON_UTF8’ 于是 在pipline里
contentType 类型做对应修改即可。
def props = readJSON text: response.content 这个是解析json文件用的,这个需要安装一个插件
应该是这个 忘记了 Pipeline Utility Steps。百度一下就知道了。