Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
水淹萌龙
kubesphere
提交
85a6b69f
K
kubesphere
项目概览
水淹萌龙
/
kubesphere
与 Fork 源项目一致
Fork自
KubeSphere / kubesphere
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
K
kubesphere
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
未验证
提交
85a6b69f
编写于
5月 17, 2019
作者:
B
Benjamin Huo
提交者:
GitHub
5月 17, 2019
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'master' into monitoring
上级
41b85a75
29aa1466
变更
7
隐藏空白更改
内联
并排
Showing
7 changed file
with
106 addition
and
60 deletion
+106
-60
cmd/controller-manager/app/controllers.go
cmd/controller-manager/app/controllers.go
+2
-1
pkg/apiserver/devops/devops.go
pkg/apiserver/devops/devops.go
+9
-2
pkg/controller/application/application_controller.go
pkg/controller/application/application_controller.go
+1
-1
pkg/controller/destinationrule/destinationrule_controller.go
pkg/controller/destinationrule/destinationrule_controller.go
+17
-4
pkg/controller/virtualservice/virtualservice_controller.go
pkg/controller/virtualservice/virtualservice_controller.go
+10
-2
pkg/models/devops/devops.go
pkg/models/devops/devops.go
+32
-17
pkg/models/devops/urlconfig.go
pkg/models/devops/urlconfig.go
+35
-33
未找到文件。
cmd/controller-manager/app/controllers.go
浏览文件 @
85a6b69f
...
...
@@ -88,7 +88,8 @@ func AddControllers(mgr manager.Manager, cfg *rest.Config, stopCh <-chan struct{
informerFactory
.
Core
()
.
V1
()
.
Services
(),
servicemeshInformer
.
Servicemesh
()
.
V1alpha2
()
.
ServicePolicies
(),
kubeClient
,
istioclient
)
istioclient
,
servicemeshclient
)
apController
:=
application
.
NewApplicationController
(
informerFactory
.
Core
()
.
V1
()
.
Services
(),
informerFactory
.
Apps
()
.
V1
()
.
Deployments
(),
...
...
pkg/apiserver/devops/devops.go
浏览文件 @
85a6b69f
...
...
@@ -104,11 +104,15 @@ func GetBranchStepLog(req *restful.Request, resp *restful.Response) {
nodeId
:=
req
.
PathParameter
(
"nodeId"
)
stepId
:=
req
.
PathParameter
(
"stepId"
)
res
,
err
:=
devops
.
GetBranchStepLog
(
projectName
,
pipelineName
,
branchName
,
runId
,
nodeId
,
stepId
,
req
.
Request
)
res
,
header
,
err
:=
devops
.
GetBranchStepLog
(
projectName
,
pipelineName
,
branchName
,
runId
,
nodeId
,
stepId
,
req
.
Request
)
if
err
!=
nil
{
parseErr
(
err
,
resp
)
return
}
for
k
,
v
:=
range
header
{
resp
.
AddHeader
(
k
,
v
[
0
])
}
resp
.
Write
(
res
)
}
...
...
@@ -119,11 +123,14 @@ func GetStepLog(req *restful.Request, resp *restful.Response) {
nodeId
:=
req
.
PathParameter
(
"nodeId"
)
stepId
:=
req
.
PathParameter
(
"stepId"
)
res
,
err
:=
devops
.
GetStepLog
(
projectName
,
pipelineName
,
runId
,
nodeId
,
stepId
,
req
.
Request
)
res
,
header
,
err
:=
devops
.
GetStepLog
(
projectName
,
pipelineName
,
runId
,
nodeId
,
stepId
,
req
.
Request
)
if
err
!=
nil
{
parseErr
(
err
,
resp
)
return
}
for
k
,
v
:=
range
header
{
resp
.
AddHeader
(
k
,
v
[
0
])
}
resp
.
Write
(
res
)
}
...
...
pkg/controller/application/application_controller.go
浏览文件 @
85a6b69f
...
...
@@ -149,7 +149,7 @@ func NewApplicationController(serviceInformer coreinformers.ServiceInformer,
}
func
(
v
*
ApplicationController
)
Start
(
stopCh
<-
chan
struct
{})
error
{
v
.
Run
(
5
,
stopCh
)
v
.
Run
(
2
,
stopCh
)
return
nil
}
...
...
pkg/controller/destinationrule/destinationrule_controller.go
浏览文件 @
85a6b69f
...
...
@@ -34,6 +34,7 @@ import (
"k8s.io/client-go/util/workqueue"
"time"
servicemeshclient
"kubesphere.io/kubesphere/pkg/client/clientset/versioned"
servicemeshinformers
"kubesphere.io/kubesphere/pkg/client/informers/externalversions/servicemesh/v1alpha2"
servicemeshlisters
"kubesphere.io/kubesphere/pkg/client/listers/servicemesh/v1alpha2"
)
...
...
@@ -53,6 +54,7 @@ type DestinationRuleController struct {
client
clientset
.
Interface
destinationRuleClient
istioclientset
.
Interface
servicemeshClient
servicemeshclient
.
Interface
eventBroadcaster
record
.
EventBroadcaster
eventRecorder
record
.
EventRecorder
...
...
@@ -79,7 +81,8 @@ func NewDestinationRuleController(deploymentInformer informersv1.DeploymentInfor
serviceInformer
coreinformers
.
ServiceInformer
,
servicePolicyInformer
servicemeshinformers
.
ServicePolicyInformer
,
client
clientset
.
Interface
,
destinationRuleClient
istioclientset
.
Interface
)
*
DestinationRuleController
{
destinationRuleClient
istioclientset
.
Interface
,
servicemeshClient
servicemeshclient
.
Interface
)
*
DestinationRuleController
{
broadcaster
:=
record
.
NewBroadcaster
()
broadcaster
.
StartLogging
(
func
(
format
string
,
args
...
interface
{})
{
...
...
@@ -95,6 +98,7 @@ func NewDestinationRuleController(deploymentInformer informersv1.DeploymentInfor
v
:=
&
DestinationRuleController
{
client
:
client
,
destinationRuleClient
:
destinationRuleClient
,
servicemeshClient
:
servicemeshClient
,
queue
:
workqueue
.
NewNamedRateLimitingQueue
(
workqueue
.
DefaultControllerRateLimiter
(),
"destinationrule"
),
workerLoopPeriod
:
time
.
Second
,
}
...
...
@@ -211,12 +215,20 @@ func (v *DestinationRuleController) syncService(key string) error {
service
,
err
:=
v
.
serviceLister
.
Services
(
namespace
)
.
Get
(
name
)
if
err
!=
nil
{
//
D
elete the corresponding destinationrule if there is any, as the service has been deleted.
//
d
elete the corresponding destinationrule if there is any, as the service has been deleted.
err
=
v
.
destinationRuleClient
.
NetworkingV1alpha3
()
.
DestinationRules
(
namespace
)
.
Delete
(
name
,
nil
)
if
err
!=
nil
&&
!
errors
.
IsNotFound
(
err
)
{
log
.
Error
(
err
,
"delete destination rule failed"
,
"namespace"
,
namespace
,
"name"
,
name
)
return
err
}
// delete orphan service policy if there is any
err
=
v
.
servicemeshClient
.
ServicemeshV1alpha2
()
.
ServicePolicies
(
namespace
)
.
Delete
(
name
,
nil
)
if
err
!=
nil
&&
!
errors
.
IsNotFound
(
err
)
{
log
.
Error
(
err
,
"delete orphan service policy failed"
,
"namespace"
,
namespace
,
"name"
,
name
)
return
err
}
return
nil
}
...
...
@@ -293,6 +305,7 @@ func (v *DestinationRuleController) syncService(key string) error {
}
dr
:=
currentDestinationRule
.
DeepCopy
()
dr
.
Spec
.
TrafficPolicy
=
nil
dr
.
Spec
.
Subsets
=
subsets
//
if
len
(
servicePolicies
)
>
0
{
...
...
@@ -332,9 +345,9 @@ func (v *DestinationRuleController) syncService(key string) error {
}
if
createDestinationRule
{
newDestinationRule
,
err
=
v
.
destinationRuleClient
.
NetworkingV1alpha3
()
.
DestinationRules
(
namespace
)
.
Create
(
newDestinationRule
)
_
,
err
=
v
.
destinationRuleClient
.
NetworkingV1alpha3
()
.
DestinationRules
(
namespace
)
.
Create
(
newDestinationRule
)
}
else
{
newDestinationRule
,
err
=
v
.
destinationRuleClient
.
NetworkingV1alpha3
()
.
DestinationRules
(
namespace
)
.
Update
(
newDestinationRule
)
_
,
err
=
v
.
destinationRuleClient
.
NetworkingV1alpha3
()
.
DestinationRules
(
namespace
)
.
Update
(
newDestinationRule
)
}
if
err
!=
nil
{
...
...
pkg/controller/virtualservice/virtualservice_controller.go
浏览文件 @
85a6b69f
...
...
@@ -231,6 +231,14 @@ func (v *VirtualServiceController) syncService(key string) error {
log
.
Error
(
err
,
"delete orphan virtualservice failed"
,
"namespace"
,
namespace
,
"name"
,
service
.
Name
)
return
err
}
// delete the orphan strategy if there is any
err
=
v
.
servicemeshClient
.
ServicemeshV1alpha2
()
.
Strategies
(
namespace
)
.
Delete
(
name
,
nil
)
if
err
!=
nil
&&
!
errors
.
IsNotFound
(
err
)
{
log
.
Error
(
err
,
"delete orphan strategy failed"
,
"namespace"
,
namespace
,
"name"
,
service
.
Name
)
return
err
}
return
nil
}
log
.
Error
(
err
,
"get service failed"
,
"namespace"
,
namespace
,
"name"
,
name
)
...
...
@@ -385,9 +393,9 @@ func (v *VirtualServiceController) syncService(key string) error {
}
if
createVirtualService
{
newVirtualService
,
err
=
v
.
virtualServiceClient
.
NetworkingV1alpha3
()
.
VirtualServices
(
namespace
)
.
Create
(
newVirtualService
)
_
,
err
=
v
.
virtualServiceClient
.
NetworkingV1alpha3
()
.
VirtualServices
(
namespace
)
.
Create
(
newVirtualService
)
}
else
{
newVirtualService
,
err
=
v
.
virtualServiceClient
.
NetworkingV1alpha3
()
.
VirtualServices
(
namespace
)
.
Update
(
newVirtualService
)
_
,
err
=
v
.
virtualServiceClient
.
NetworkingV1alpha3
()
.
VirtualServices
(
namespace
)
.
Update
(
newVirtualService
)
}
if
err
!=
nil
{
...
...
pkg/models/devops/devops.go
浏览文件 @
85a6b69f
...
...
@@ -106,30 +106,31 @@ func GetPipelineRunNodesbyBranch(projectName, pipelineName, branchName, runId st
return
res
,
err
}
func
GetBranchStepLog
(
projectName
,
pipelineName
,
branchName
,
runId
,
nodeId
,
stepId
string
,
req
*
http
.
Request
)
([]
byte
,
error
)
{
func
GetBranchStepLog
(
projectName
,
pipelineName
,
branchName
,
runId
,
nodeId
,
stepId
string
,
req
*
http
.
Request
)
([]
byte
,
http
.
Header
,
error
)
{
baseUrl
:=
fmt
.
Sprintf
(
jenkins
.
Server
+
GetBranchStepLogUrl
+
req
.
URL
.
RawQuery
,
projectName
,
pipelineName
,
branchName
,
runId
,
nodeId
,
stepId
)
log
.
Infof
(
"Jenkins-url: "
+
baseUrl
)
resBody
,
err
:=
sendJenkinsReques
t
(
baseUrl
,
req
)
resBody
,
header
,
err
:=
jenkinsClien
t
(
baseUrl
,
req
)
if
err
!=
nil
{
log
.
Error
(
err
)
return
nil
,
err
return
nil
,
nil
,
err
}
return
resBody
,
err
return
resBody
,
header
,
err
}
func
GetStepLog
(
projectName
,
pipelineName
,
runId
,
nodeId
,
stepId
string
,
req
*
http
.
Request
)
([]
byte
,
error
)
{
func
GetStepLog
(
projectName
,
pipelineName
,
runId
,
nodeId
,
stepId
string
,
req
*
http
.
Request
)
([]
byte
,
http
.
Header
,
error
)
{
baseUrl
:=
fmt
.
Sprintf
(
jenkins
.
Server
+
GetStepLogUrl
+
req
.
URL
.
RawQuery
,
projectName
,
pipelineName
,
runId
,
nodeId
,
stepId
)
log
.
Infof
(
"Jenkins-url: "
+
baseUrl
)
resBody
,
err
:=
sendJenkinsReques
t
(
baseUrl
,
req
)
resBody
,
header
,
err
:=
jenkinsClien
t
(
baseUrl
,
req
)
if
err
!=
nil
{
log
.
Error
(
err
)
return
nil
,
err
return
nil
,
nil
,
err
}
return
resBody
,
err
return
resBody
,
header
,
err
}
func
Validate
(
scmId
string
,
req
*
http
.
Request
)
([]
byte
,
error
)
{
...
...
@@ -420,12 +421,19 @@ func CheckScriptCompile(req *http.Request) ([]byte, error) {
}
func
CheckCron
(
req
*
http
.
Request
)
(
*
CheckCronRes
,
error
)
{
baseUrl
:=
jenkins
.
Server
+
CheckCronUrl
+
req
.
URL
.
RawQuery
log
.
Infof
(
"Jenkins-url: "
+
baseUrl
)
req
.
SetBasicAuth
(
jenkins
.
Requester
.
BasicAuth
.
Username
,
jenkins
.
Requester
.
BasicAuth
.
Password
)
newurl
,
err
:=
url
.
Parse
(
jenkins
.
Server
+
CheckCronUrl
+
req
.
URL
.
RawQuery
)
reqJenkins
:=
&
http
.
Request
{
Method
:
http
.
MethodGet
,
URL
:
newurl
,
Header
:
http
.
Header
{},
}
var
res
=
new
(
CheckCronRes
)
client
:=
&
http
.
Client
{
Timeout
:
30
*
time
.
Second
}
resp
,
err
:=
http
.
Get
(
baseUrl
)
reqJenkins
.
SetBasicAuth
(
jenkins
.
Requester
.
BasicAuth
.
Username
,
jenkins
.
Requester
.
BasicAuth
.
Password
)
resp
,
err
:=
client
.
Do
(
reqJenkins
)
if
err
!=
nil
{
log
.
Error
(
err
)
return
res
,
err
...
...
@@ -658,10 +666,15 @@ func GetNodesDetail(projectName, pipelineName, runId string, req *http.Request)
// create jenkins request
func
sendJenkinsRequest
(
baseUrl
string
,
req
*
http
.
Request
)
([]
byte
,
error
)
{
resBody
,
_
,
err
:=
jenkinsClient
(
baseUrl
,
req
)
return
resBody
,
err
}
func
jenkinsClient
(
baseUrl
string
,
req
*
http
.
Request
)
([]
byte
,
http
.
Header
,
error
)
{
newReqUrl
,
err
:=
url
.
Parse
(
baseUrl
)
if
err
!=
nil
{
log
.
Error
(
err
)
return
nil
,
err
return
nil
,
nil
,
err
}
client
:=
&
http
.
Client
{
Timeout
:
30
*
time
.
Second
}
...
...
@@ -678,19 +691,21 @@ func sendJenkinsRequest(baseUrl string, req *http.Request) ([]byte, error) {
resp
,
err
:=
client
.
Do
(
newRequest
)
if
err
!=
nil
{
log
.
Error
(
err
)
return
nil
,
err
return
nil
,
nil
,
err
}
defer
resp
.
Body
.
Close
()
resBody
,
_
:=
getRespBody
(
resp
)
defer
resp
.
Body
.
Close
()
if
resp
.
StatusCode
>=
http
.
StatusBadRequest
{
jkerr
:=
new
(
JkError
)
jkerr
.
Code
=
resp
.
StatusCode
jkerr
.
Message
=
http
.
StatusText
(
resp
.
StatusCode
)
return
nil
,
jkerr
return
nil
,
nil
,
jkerr
}
return
resBody
,
err
return
resBody
,
resp
.
Header
,
nil
}
// Decompress response.body of JenkinsAPIResponse
...
...
pkg/models/devops/urlconfig.go
浏览文件 @
85a6b69f
...
...
@@ -19,43 +19,45 @@ package devops
// Some apis for Jenkins.
const
(
GetPipeBranchUrl
=
"/blue/rest/organizations/jenkins/pipelines/%s/%s/branches/?"
GetPipeBranchUrl
=
"/blue/rest/organizations/jenkins/pipelines/%s/
pipelines/
%s/branches/?"
GetBranchPipeUrl
=
"/blue/rest/organizations/jenkins/pipelines/%s/pipelines/%s/branches/%s/"
GetPipelineUrl
=
"/blue/rest/organizations/jenkins/pipelines/%s/%s/"
GetPipelineUrl
=
"/blue/rest/organizations/jenkins/pipelines/%s/
pipelines/
%s/"
SearchPipelineUrl
=
"/blue/rest/search/?"
RunBranchPipelineUrl
=
"/blue/rest/organizations/jenkins/pipelines/%s/%s/branches/%s/runs/"
RunPipelineUrl
=
"/blue/rest/organizations/jenkins/pipelines/%s/%s/runs/"
GetPipelineRunUrl
=
"/blue/rest/organizations/jenkins/pipelines/%s/%s/runs/%s/"
GetPipeBranchRunUrl
=
"/blue/rest/organizations/jenkins/pipelines/%s/%s/branches/%s/runs/%s/"
SearchPipelineRunUrl
=
"/blue/rest/organizations/jenkins/pipelines/%s/%s/runs/?"
GetBranchPipeRunNodesUrl
=
"/blue/rest/organizations/jenkins/pipelines/%s/%s/branches/%s/runs/%s/nodes/?"
GetPipeRunNodesUrl
=
"/blue/rest/organizations/jenkins/pipelines/%s/%s/runs/%s/nodes/?"
GetBranchRunLogUrl
=
"/blue/rest/organizations/jenkins/pipelines/%s/%s/branches/%s/runs/%s/log/?"
GetRunLogUrl
=
"/blue/rest/organizations/jenkins/pipelines/%s/%s/runs/%s/log/?"
GetBranchStepLogUrl
=
"/blue/rest/organizations/jenkins/pipelines/%s/%s/branches/%s/runs/%s/nodes/%s/steps/%s/log/?"
GetStepLogUrl
=
"/blue/rest/organizations/jenkins/pipelines/%s/%s/runs/%s/nodes/%s/steps/%s/log/?"
RunBranchPipelineUrl
=
"/blue/rest/organizations/jenkins/pipelines/%s/
pipelines/
%s/branches/%s/runs/"
RunPipelineUrl
=
"/blue/rest/organizations/jenkins/pipelines/%s/
pipelines/
%s/runs/"
GetPipelineRunUrl
=
"/blue/rest/organizations/jenkins/pipelines/%s/
pipelines/
%s/runs/%s/"
GetPipeBranchRunUrl
=
"/blue/rest/organizations/jenkins/pipelines/%s/
pipelines/
%s/branches/%s/runs/%s/"
SearchPipelineRunUrl
=
"/blue/rest/organizations/jenkins/pipelines/%s/
pipelines/
%s/runs/?"
GetBranchPipeRunNodesUrl
=
"/blue/rest/organizations/jenkins/pipelines/%s/
pipelines/
%s/branches/%s/runs/%s/nodes/?"
GetPipeRunNodesUrl
=
"/blue/rest/organizations/jenkins/pipelines/%s/
pipelines/
%s/runs/%s/nodes/?"
GetBranchRunLogUrl
=
"/blue/rest/organizations/jenkins/pipelines/%s/
pipelines/
%s/branches/%s/runs/%s/log/?"
GetRunLogUrl
=
"/blue/rest/organizations/jenkins/pipelines/%s/
pipelines/
%s/runs/%s/log/?"
GetBranchStepLogUrl
=
"/blue/rest/organizations/jenkins/pipelines/%s/
pipelines/
%s/branches/%s/runs/%s/nodes/%s/steps/%s/log/?"
GetStepLogUrl
=
"/blue/rest/organizations/jenkins/pipelines/%s/
pipelines/
%s/runs/%s/nodes/%s/steps/%s/log/?"
StopBranchPipelineUrl
=
"/blue/rest/organizations/jenkins/pipelines/%s/pipelines/%s/branches/%s/runs/%s/stop/?"
StopPipelineUrl
=
"/blue/rest/organizations/jenkins/pipelines/%s/pipelines/%s/runs/%s/stop/?"
ReplayBranchPipelineUrl
=
"/blue/rest/organizations/jenkins/pipelines/%s/pipelines/%s/branches/%s/runs/%s/replay/"
ReplayPipelineUrl
=
"/blue/rest/organizations/jenkins/pipelines/%s/pipelines/%s/runs/%s/replay/"
GetBranchArtifactsUrl
=
"/blue/rest/organizations/jenkins/pipelines/%s/%s/branches/%s/runs/%s/artifacts/?"
GetArtifactsUrl
=
"/blue/rest/organizations/jenkins/pipelines/%s/%s/runs/%s/artifacts/?"
GetBranchStepsStatusUrl
=
"/blue/rest/organizations/jenkins/pipelines/%s/%s/branches/%s/runs/%s/nodes/%s/steps/?"
GetStepsStatusUrl
=
"/blue/rest/organizations/jenkins/pipelines/%s/%s/runs/%s/nodes/%s/steps/?"
CheckBranchPipelineUrl
=
"/blue/rest/organizations/jenkins/pipelines/%s/pipelines/%s/branches/%s/runs/%s/nodes/%s/steps/%s/"
CheckPipelineUrl
=
"/blue/rest/organizations/jenkins/pipelines/%s/pipelines/%s/runs/%s/nodes/%s/steps/%s/"
GetBranchNodeStepsUrl
=
"/blue/rest/organizations/jenkins/pipelines/%s/%s/branches/%s/runs/%s/nodes/%s/steps/?"
GetNodeStepsUrl
=
"/blue/rest/organizations/jenkins/pipelines/%s/%s/runs/%s/nodes/%s/steps/?"
ValidateUrl
=
"/blue/rest/organizations/jenkins/scm/%s/validate"
GetSCMOrgUrl
=
"/blue/rest/organizations/jenkins/scm/%s/organizations/?"
GetOrgRepoUrl
=
"/blue/rest/organizations/jenkins/scm/%s/organizations/%s/repositories/?"
GetConsoleLogUrl
=
"/job/%s/job/%s/indexing/consoleText"
ScanBranchUrl
=
"/job/%s/job/%s/build?"
GetCrumbUrl
=
"/crumbIssuer/api/json/"
CheckScriptCompileUrl
=
"/job/init-job/descriptorByName/org.jenkinsci.plugins.workflow.cps.CpsFlowDefinition/checkScriptCompile"
CheckCronUrl
=
"/job/init-job/descriptorByName/hudson.triggers.TimerTrigger/checkSpec?"
ToJenkinsfileUrl
=
"/pipeline-model-converter/toJenkinsfile"
ToJsonUrl
=
"/pipeline-model-converter/toJson"
GetNotifyCommitUrl
=
"/git/notifyCommit/?"
GithubWebhookUrl
=
"/github-webhook/"
GetBranchArtifactsUrl
=
"/blue/rest/organizations/jenkins/pipelines/%s/pipelines/%s/branches/%s/runs/%s/artifacts/?"
GetArtifactsUrl
=
"/blue/rest/organizations/jenkins/pipelines/%s/pipelines/%s/runs/%s/artifacts/?"
GetBranchStepsStatusUrl
=
"/blue/rest/organizations/jenkins/pipelines/%s/pipelines/%s/branches/%s/runs/%s/nodes/%s/steps/?"
GetStepsStatusUrl
=
"/blue/rest/organizations/jenkins/pipelines/%s/pipelines/%s/runs/%s/nodes/%s/steps/?"
CheckBranchPipelineUrl
=
"/blue/rest/organizations/jenkins/pipelines/%s/pipelines/%s/branches/%s/runs/%s/nodes/%s/steps/%s/"
CheckPipelineUrl
=
"/blue/rest/organizations/jenkins/pipelines/%s/pipelines/%s/runs/%s/nodes/%s/steps/%s/"
GetBranchNodeStepsUrl
=
"/blue/rest/organizations/jenkins/pipelines/%s/pipelines/%s/branches/%s/runs/%s/nodes/%s/steps/?"
GetNodeStepsUrl
=
"/blue/rest/organizations/jenkins/pipelines/%s/pipelines/%s/runs/%s/nodes/%s/steps/?"
ValidateUrl
=
"/blue/rest/organizations/jenkins/scm/%s/validate"
GetSCMOrgUrl
=
"/blue/rest/organizations/jenkins/scm/%s/organizations/?"
GetOrgRepoUrl
=
"/blue/rest/organizations/jenkins/scm/%s/organizations/%s/repositories/?"
GetConsoleLogUrl
=
"/job/%s/job/%s/indexing/consoleText"
ScanBranchUrl
=
"/job/%s/job/%s/build?"
GetCrumbUrl
=
"/crumbIssuer/api/json/"
CheckScriptCompileUrl
=
"/job/init-job/descriptorByName/org.jenkinsci.plugins.workflow.cps.CpsFlowDefinition/checkScriptCompile"
CheckCronUrl
=
"/job/init-job/descriptorByName/hudson.triggers.TimerTrigger/checkSpec?"
ToJenkinsfileUrl
=
"/pipeline-model-converter/toJenkinsfile"
ToJsonUrl
=
"/pipeline-model-converter/toJson"
GetNotifyCommitUrl
=
"/git/notifyCommit/?"
GithubWebhookUrl
=
"/github-webhook/"
)
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录