Jenkinsfile與Json的轉換
前段時間調研了下青雲的kubesphere,意外的發現了一個外掛,pipeline-model-definition-plugin,用了將jenkins的pipeline、json互相轉換的,以前可能關注過這個外掛,但是沒怎麼注意,jenkins的plugin上面也沒有找到,不知道為什麼,所以,這裡簡單講解一下吧。
一、安裝
jenkins的plugin上面沒有提供,所以只能自己打包編譯,github上面也給出了打包的過程:cd pipeline-model-definition && mvn install && mvn hpi:run,然後將hpi檔案上傳到外掛即可。
二、主要api介面
2.1 獲取pipeline的json格式JSON Schema
URL: JENKINS_URL/pipeline-model-schema/json
Info: 獲取json格式的jenkinsfile
Returns: json
2.2 將jenkinsfile轉成json格式
URL: JENKINS_URL/pipeline-model-converter/toJson
Parameters: jenkinsfile格式的文字
Info: 獲取jenkinsfile,然後將它轉換成json。
Returns: 如果成功,則返回json,否則返回報錯資訊
2.3 將json格式轉換成jenkinsfile
URL: JENKINS_URL/pipeline-model-converter/toJenkinsfile
Parameters: json格式的檔案
Info: 獲取json格式的檔案,然後將它轉換成jenkinsfile
Returns: 如果成功,返回轉換後的jenkinsfile,如果失敗,返回報錯資訊。
還有一些其他的介面(如:驗證json,groovy語法轉換等)就不在講解了。
三、Demo
這裡將官網給出的最簡單的一個例子轉換成json,構建->單元測試->部署整個過程
pipeline { agent any stages { stage('Build') { steps { echo 'Building..' } } stage('Test') { steps { echo 'Testing..' } } stage('Deploy') { steps { echo 'Deploying....' } } } }
在postman提交請求:
即可獲得返回的結果:
{
"status": "ok",
"data": {
"result": "success",
"json": {
"pipeline": {
"stages": [
{
"name": "Build",
"branches": [
{
"name": "default",
"steps": [
{
"name": "echo",
"arguments": [
{
"key": "message",
"value": {
"isLiteral": true,
"value": "Building.."
}
}
]
}
]
}
]
},
{
"name": "Test",
"branches": [
{
"name": "default",
"steps": [
{
"name": "echo",
"arguments": [
{
"key": "message",
"value": {
"isLiteral": true,
"value": "Testing.."
}
}
]
}
]
}
]
},
{
"name": "Deploy",
"branches": [
{
"name": "default",
"steps": [
{
"name": "echo",
"arguments": [
{
"key": "message",
"value": {
"isLiteral": true,
"value": "Deploying...."
}
}
]
}
]
}
]
}
],
"agent": {
"type": "any"
}
}
}
}
}
四、總結
之前發過一篇講解過如果使用jenkins x來製作一款類似阿里云云效的東西,但是之前沒有發現到這款外掛,導致語法的轉換需要自行切割pipeline語法,之後才發現到這款外掛,不再需要重複造輪子,總體上,如果規劃設計的好的話,應該可以表面上媲美雲效這款產品。
相關推薦
Jenkinsfile與Json的轉換
前段時間調研了下青雲的kubesphere,意外的發現了一個外掛,pipeline-model-definition-plugin,用了將jenkins的pipeline、json互相轉換的,以前可能關注過這個外掛,但是沒怎麼注意,jenkins的plugin上面也沒有找到,不知道為什麼,所以,這裡簡單講解一
jenkins:實現Jenkinsfile與Json的轉換
### 實現Jenkinsfile與Json的轉換 [TOC] 最近在做個需求,需要支援Jenkinsfile和json的轉換。 ### 方法1:使用現有的jenkins外掛 參考的是[這篇文章](https://www.cnblogs.com/w1570631036/p/11726599.html)
Gson Object與json轉換 巢狀物件
解決問題 正確: { "data":{accesstoken : "odA5niNeOhhi1cIK0eOGhrxCB7ClG9R4gl%2Fa2%2FNcOaJ42tWayXKZZZBgIPsh1tRLshlxWyXlEyY...", expirein :"2017-11
gson java物件與json轉換(例項程式碼說明及教程)
java物件轉json public class MsgInfo2 { private String message; private String flag; public String
json物件與json轉換需要的maven包
<dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-core-asl</artifactId>
Json對象與Json字符串的轉化、JSON字符串與Java對象的轉換
debug pos type 需要 collect ie8 rst toc fire Json對象與Json字符串的轉化、JSON字符串與Java對象的轉換 一.Json對象與Json字符串的轉化 1.jQuery插件支持的轉換方式: $.parseJSON( json
Java對象與JSON互相轉換jsonlib以及手動創建JSON對象與數組——(二)
ring lnl tft sem mkf ted family sae key 首先聲明一下,jsonlib轉換與GSON相比太差勁了,操作不是一般的繁瑣。GSON可以直接轉換成各種集合與對象類型。強烈推薦使用GSON。而且GSON一個方法就可以解決,
Javascript中Json對象與Json字符串互相轉換方法匯總(4種轉換方式)
bject 參考 str .json obj logs var 轉換 eva 1.Json對象轉Json字符串 JSON.stringify(obj); 2.Json字符串傳Json對象 JSON.parse(str);//第一種 $.parseJSON(str);/
JSON與Javabean轉換的幾種形式
img 之一 keys open isp println 轉換成 hang zha JSON格式的數據傳遞是最常用的方法之一,以下列出了常用的幾種形態以及與Javabean之間的轉換: String json1="{‘name‘:‘zhangsan‘,‘age‘
java對象與json對象之間的轉換
字符 class new jar包 lib num round word out jar包:import net.sf.json.JSONObject; 1.解析json字符串 將json字符串轉換為json對象,然後再解析json對象:。JSONObjectjsonObj
Json對象與Json字符串互轉(4種轉換方式)
pan cnblogs 方法 () stringify for ie7 afa .json 1>jQuery插件支持的轉換方式 $.parseJSON( jsonstr ); //jQuery.parseJSON(jsonstr),可以將json字符串轉換成json
js中js數組、對象與json之間的轉換
clas 語法 方法 使用 blog ejs ava 部門 成了 ?數據在名稱/值對中?數據由逗號分隔?花括號保存對象?方括號保存數組 var jsonString = ‘{"bar":"property","baz":3}‘;//JSON字符串 var jsObject
JAVA 實現XML與JSON 相互轉換
tst throws light getc con parent urn In 工作 原文地址https://blog.csdn.net/congcong68/article/details/39029907 在工作中,經常碰到XML轉為JSON或者JSON轉為XML,在這
Python-字典與json的轉換
字典 分層 直接 ads 後綴 轉換 indent 內容 user #json是字符串,只不過長得像字典import jsonuser_info=‘‘‘{"niuhy":1234,"shanbl":44566}‘‘‘#json裏只能是雙引號print(user_info)u
Json 字符串與 Json 對象自由轉換
parse json2.js 小括號 推薦 json字符串 .json jquer -s pan 1、jQuery支持的轉換方式 $.parseJSON( jsonstr ); //jQuery.parseJSON(jsonstr),可以將json字符串轉換成json對
JQuery擴展方法實現Form表單與Json互相轉換
val adjust new 映射 checked josn fin pop undefined JQuery筆記 記兩段代碼,使用JQuery實現從表單獲取json與後端交互,以及把後端返回的json映射到表單相應的字段上。 把表單轉換出json對象 //把表單
java json字串與物件轉換
下載引入包gson-2.0.jar 1.字元轉資料 final Map map = new HashMap();map.put("contents", "[{\"Id\":\"111\",\"AcceptNum\":222,\"ArchiveNum\":
Java Map型別與Json字串的互相轉換----------親測有效
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; impor
C 物件與JSON字串互相轉換的幾種方式
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
string與json ,map與json的轉換
Map<String, Object> sendDateMap // map轉json物件 String sendDateStr = JSON.toJSONString(sendDateMap);(jsOn格式的) Map<String, Object> resultMap