Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
水淹萌龙
kubesphere
提交
1b3e8051
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看板
未验证
提交
1b3e8051
编写于
6月 05, 2019
作者:
R
runzexia
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update docs
Signed-off-by:
N
runzexia
<
runzexia@yunify.com
>
上级
fd530f4c
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
87 addition
and
59 deletion
+87
-59
pkg/apis/devops/v1alpha2/register.go
pkg/apis/devops/v1alpha2/register.go
+19
-18
pkg/apis/tenant/v1alpha2/register.go
pkg/apis/tenant/v1alpha2/register.go
+29
-1
pkg/gojenkins/credential.go
pkg/gojenkins/credential.go
+8
-8
pkg/models/devops/project_credential.go
pkg/models/devops/project_credential.go
+23
-24
pkg/models/devops/project_credential_handler.go
pkg/models/devops/project_credential_handler.go
+8
-8
未找到文件。
pkg/apis/devops/v1alpha2/register.go
浏览文件 @
1b3e8051
...
...
@@ -50,7 +50,7 @@ func addWebService(c *restful.Container) error {
webservice
.
Route
(
webservice
.
GET
(
"/devops/{devops}"
)
.
To
(
devopsapi
.
GetDevOpsProjectHandler
)
.
Doc
(
"
g
et devops project"
)
.
Doc
(
"
G
et devops project"
)
.
Metadata
(
restfulspec
.
KeyOpenAPITags
,
tags
)
.
Param
(
webservice
.
PathParameter
(
"devops"
,
"devops project's Id"
))
.
Returns
(
http
.
StatusOK
,
RespOK
,
devops
.
DevOpsProject
{})
.
...
...
@@ -58,15 +58,16 @@ func addWebService(c *restful.Container) error {
webservice
.
Route
(
webservice
.
PATCH
(
"/devops/{devops}"
)
.
To
(
devopsapi
.
UpdateProjectHandler
)
.
Doc
(
"
u
pdate devops project"
)
.
Doc
(
"
U
pdate devops project"
)
.
Metadata
(
restfulspec
.
KeyOpenAPITags
,
tags
)
.
Param
(
webservice
.
PathParameter
(
"devops"
,
"devops project's Id"
))
.
Reads
(
devops
.
DevOpsProject
{})
.
Returns
(
http
.
StatusOK
,
RespOK
,
devops
.
DevOpsProject
{})
.
Writes
(
devops
.
DevOpsProject
{}))
webservice
.
Route
(
webservice
.
GET
(
"/devops/{devops}/defaultroles"
)
.
To
(
devopsapi
.
GetDevOpsProjectDefaultRoles
)
.
Doc
(
"
g
et devops project default roles"
)
.
Doc
(
"
G
et devops project default roles"
)
.
Metadata
(
restfulspec
.
KeyOpenAPITags
,
tags
)
.
Param
(
webservice
.
PathParameter
(
"devops"
,
"devops project's Id"
))
.
Returns
(
http
.
StatusOK
,
RespOK
,
[]
devops
.
Role
{})
.
...
...
@@ -74,7 +75,7 @@ func addWebService(c *restful.Container) error {
webservice
.
Route
(
webservice
.
GET
(
"/devops/{devops}/members"
)
.
To
(
devopsapi
.
GetDevOpsProjectMembersHandler
)
.
Doc
(
"
g
et devops project members"
)
.
Doc
(
"
G
et devops project members"
)
.
Metadata
(
restfulspec
.
KeyOpenAPITags
,
tags
)
.
Param
(
webservice
.
PathParameter
(
"devops"
,
"devops project's Id"
))
.
Param
(
webservice
.
QueryParameter
(
params
.
PagingParam
,
"page"
)
.
...
...
@@ -89,7 +90,7 @@ func addWebService(c *restful.Container) error {
webservice
.
Route
(
webservice
.
GET
(
"/devops/{devops}/members/{members}"
)
.
To
(
devopsapi
.
GetDevOpsProjectMemberHandler
)
.
Doc
(
"
g
et devops project member"
)
.
Doc
(
"
G
et devops project member"
)
.
Metadata
(
restfulspec
.
KeyOpenAPITags
,
tags
)
.
Param
(
webservice
.
PathParameter
(
"devops"
,
"devops project's Id"
))
.
Param
(
webservice
.
PathParameter
(
"members"
,
"member's username"
))
.
...
...
@@ -98,7 +99,7 @@ func addWebService(c *restful.Container) error {
webservice
.
Route
(
webservice
.
POST
(
"/devops/{devops}/members"
)
.
To
(
devopsapi
.
AddDevOpsProjectMemberHandler
)
.
Doc
(
"
a
dd devops project members"
)
.
Doc
(
"
A
dd devops project members"
)
.
Metadata
(
restfulspec
.
KeyOpenAPITags
,
tags
)
.
Param
(
webservice
.
PathParameter
(
"devops"
,
"devops project's Id"
))
.
Returns
(
http
.
StatusOK
,
RespOK
,
devops
.
DevOpsProjectMembership
{})
.
...
...
@@ -106,7 +107,7 @@ func addWebService(c *restful.Container) error {
webservice
.
Route
(
webservice
.
PATCH
(
"/devops/{devops}/members/{members}"
)
.
To
(
devopsapi
.
UpdateDevOpsProjectMemberHandler
)
.
Doc
(
"
u
pdate devops project members"
)
.
Doc
(
"
U
pdate devops project members"
)
.
Metadata
(
restfulspec
.
KeyOpenAPITags
,
tags
)
.
Param
(
webservice
.
PathParameter
(
"devops"
,
"devops project's Id"
))
.
Param
(
webservice
.
PathParameter
(
"members"
,
"member's username"
))
.
...
...
@@ -115,7 +116,7 @@ func addWebService(c *restful.Container) error {
webservice
.
Route
(
webservice
.
DELETE
(
"/devops/{devops}/members/{members}"
)
.
To
(
devopsapi
.
DeleteDevOpsProjectMemberHandler
)
.
Doc
(
"
d
elete devops project members"
)
.
Doc
(
"
D
elete devops project members"
)
.
Metadata
(
restfulspec
.
KeyOpenAPITags
,
tags
)
.
Param
(
webservice
.
PathParameter
(
"devops"
,
"devops project's Id"
))
.
Param
(
webservice
.
PathParameter
(
"members"
,
"member's username"
))
.
...
...
@@ -123,7 +124,7 @@ func addWebService(c *restful.Container) error {
webservice
.
Route
(
webservice
.
POST
(
"/devops/{devops}/pipelines"
)
.
To
(
devopsapi
.
CreateDevOpsProjectPipelineHandler
)
.
Doc
(
"
a
dd devops project pipeline"
)
.
Doc
(
"
A
dd devops project pipeline"
)
.
Param
(
webservice
.
PathParameter
(
"devops"
,
"devops project's Id"
))
.
Metadata
(
restfulspec
.
KeyOpenAPITags
,
tags
)
.
Returns
(
http
.
StatusOK
,
RespOK
,
devops
.
ProjectPipeline
{})
.
...
...
@@ -132,7 +133,7 @@ func addWebService(c *restful.Container) error {
webservice
.
Route
(
webservice
.
PUT
(
"/devops/{devops}/pipelines/{pipelines}"
)
.
To
(
devopsapi
.
UpdateDevOpsProjectPipelineHandler
)
.
Doc
(
"
u
pdate devops project pipeline"
)
.
Doc
(
"
U
pdate devops project pipeline"
)
.
Param
(
webservice
.
PathParameter
(
"devops"
,
"devops project's Id"
))
.
Param
(
webservice
.
PathParameter
(
"pipelines"
,
"pipeline name"
))
.
Metadata
(
restfulspec
.
KeyOpenAPITags
,
tags
)
.
...
...
@@ -142,7 +143,7 @@ func addWebService(c *restful.Container) error {
webservice
.
Route
(
webservice
.
GET
(
"/devops/{devops}/pipelines/{pipelines}/config"
)
.
To
(
devopsapi
.
GetDevOpsProjectPipelineHandler
)
.
Doc
(
"
g
et devops project pipeline config"
)
.
Doc
(
"
G
et devops project pipeline config"
)
.
Metadata
(
restfulspec
.
KeyOpenAPITags
,
tags
)
.
Param
(
webservice
.
PathParameter
(
"devops"
,
"devops project's Id"
))
.
Param
(
webservice
.
PathParameter
(
"pipelines"
,
"pipeline name"
))
.
...
...
@@ -151,7 +152,7 @@ func addWebService(c *restful.Container) error {
webservice
.
Route
(
webservice
.
GET
(
"/devops/{devops}/pipelines/{pipelines}/sonarStatus"
)
.
To
(
devopsapi
.
GetPipelineSonarStatusHandler
)
.
Doc
(
"
g
et devops project pipeline sonarStatus"
)
.
Doc
(
"
G
et devops project pipeline sonarStatus"
)
.
Metadata
(
restfulspec
.
KeyOpenAPITags
,
tags
)
.
Param
(
webservice
.
PathParameter
(
"devops"
,
"devops project's Id"
))
.
Param
(
webservice
.
PathParameter
(
"pipelines"
,
"pipeline name"
))
.
...
...
@@ -160,7 +161,7 @@ func addWebService(c *restful.Container) error {
webservice
.
Route
(
webservice
.
GET
(
"/devops/{devops}/pipelines/{pipelines}/branches/{branches}/sonarStatus"
)
.
To
(
devopsapi
.
GetMultiBranchesPipelineSonarStatusHandler
)
.
Doc
(
"
g
et devops project pipeline sonarStatus"
)
.
Doc
(
"
G
et devops project pipeline sonarStatus"
)
.
Metadata
(
restfulspec
.
KeyOpenAPITags
,
tags
)
.
Param
(
webservice
.
PathParameter
(
"devops"
,
"devops project's Id"
))
.
Param
(
webservice
.
PathParameter
(
"pipelines"
,
"pipeline name"
))
.
...
...
@@ -170,21 +171,21 @@ func addWebService(c *restful.Container) error {
webservice
.
Route
(
webservice
.
DELETE
(
"/devops/{devops}/pipelines/{pipelines}"
)
.
To
(
devopsapi
.
DeleteDevOpsProjectPipelineHandler
)
.
Doc
(
"
d
elete devops project pipeline"
)
.
Doc
(
"
D
elete devops project pipeline"
)
.
Metadata
(
restfulspec
.
KeyOpenAPITags
,
tags
)
.
Param
(
webservice
.
PathParameter
(
"devops"
,
"devops project's Id"
))
.
Param
(
webservice
.
PathParameter
(
"pipelines"
,
"pipeline name"
)))
webservice
.
Route
(
webservice
.
POST
(
"/devops/{devops}/credentials"
)
.
To
(
devopsapi
.
CreateDevOpsProjectCredentialHandler
)
.
Doc
(
"
a
dd project credential pipeline"
)
.
Doc
(
"
A
dd project credential pipeline"
)
.
Metadata
(
restfulspec
.
KeyOpenAPITags
,
tags
)
.
Param
(
webservice
.
PathParameter
(
"devops"
,
"devops project's Id"
))
.
Reads
(
devops
.
JenkinsCredential
{}))
webservice
.
Route
(
webservice
.
PUT
(
"/devops/{devops}/credentials/{credentials}"
)
.
To
(
devopsapi
.
UpdateDevOpsProjectCredentialHandler
)
.
Doc
(
"
u
pdate project credential pipeline"
)
.
Doc
(
"
U
pdate project credential pipeline"
)
.
Metadata
(
restfulspec
.
KeyOpenAPITags
,
tags
)
.
Param
(
webservice
.
PathParameter
(
"devops"
,
"devops project's Id"
))
.
Param
(
webservice
.
PathParameter
(
"credentials"
,
"credential's Id"
))
.
...
...
@@ -199,7 +200,7 @@ func addWebService(c *restful.Container) error {
webservice
.
Route
(
webservice
.
GET
(
"/devops/{devops}/credentials/{credentials}"
)
.
To
(
devopsapi
.
GetDevOpsProjectCredentialHandler
)
.
Doc
(
"
g
et project credential pipeline"
)
.
Doc
(
"
G
et project credential pipeline"
)
.
Metadata
(
restfulspec
.
KeyOpenAPITags
,
tags
)
.
Param
(
webservice
.
PathParameter
(
"devops"
,
"devops project's Id"
))
.
Param
(
webservice
.
PathParameter
(
"credentials"
,
"credential's Id"
))
.
...
...
@@ -210,7 +211,7 @@ func addWebService(c *restful.Container) error {
webservice
.
Route
(
webservice
.
GET
(
"/devops/{devops}/credentials"
)
.
To
(
devopsapi
.
GetDevOpsProjectCredentialsHandler
)
.
Doc
(
"
g
et project credential pipeline"
)
.
Doc
(
"
G
et project credential pipeline"
)
.
Metadata
(
restfulspec
.
KeyOpenAPITags
,
tags
)
.
Param
(
webservice
.
PathParameter
(
"devops"
,
"devops project's Id"
))
.
Param
(
webservice
.
PathParameter
(
"credentials"
,
"credential's Id"
))
.
...
...
pkg/apis/tenant/v1alpha2/register.go
浏览文件 @
1b3e8051
...
...
@@ -23,9 +23,15 @@ import (
"k8s.io/apimachinery/pkg/runtime/schema"
"kubesphere.io/kubesphere/pkg/apiserver/runtime"
"kubesphere.io/kubesphere/pkg/apiserver/tenant"
"kubesphere.io/kubesphere/pkg/models/devops"
"kubesphere.io/kubesphere/pkg/params"
"net/http"
)
const
GroupName
=
"tenant.kubesphere.io"
const
(
GroupName
=
"tenant.kubesphere.io"
RespOK
=
"ok"
)
var
GroupVersion
=
schema
.
GroupVersion
{
Group
:
GroupName
,
Version
:
"v1alpha2"
}
...
...
@@ -87,23 +93,45 @@ func addWebService(c *restful.Container) error {
ws
.
Route
(
ws
.
GET
(
"/workspaces/{workspace}/devops"
)
.
To
(
tenant
.
ListDevopsProjects
)
.
Param
(
ws
.
PathParameter
(
"workspace"
,
"workspace name"
))
.
Param
(
ws
.
QueryParameter
(
params
.
PagingParam
,
"page"
)
.
Required
(
false
)
.
DataFormat
(
"limit=%d,page=%d"
)
.
DefaultValue
(
"limit=10,page=1"
))
.
Param
(
ws
.
QueryParameter
(
params
.
ConditionsParam
,
"query conditions"
)
.
Required
(
false
)
.
DataFormat
(
"key=%s,key~%s"
))
.
Doc
(
"List devops projects for the current user"
)
.
Writes
([]
devops
.
DevOpsProject
{})
.
Returns
(
http
.
StatusOK
,
RespOK
,
[]
devops
.
DevOpsProject
{})
.
Metadata
(
restfulspec
.
KeyOpenAPITags
,
tags
))
ws
.
Route
(
ws
.
GET
(
"/workspaces/{workspace}/members/{username}/devops"
)
.
To
(
tenant
.
ListDevopsProjects
)
.
Param
(
ws
.
PathParameter
(
"workspace"
,
"workspace name"
))
.
Param
(
ws
.
PathParameter
(
"username"
,
"workspace member's username"
))
.
Param
(
ws
.
QueryParameter
(
params
.
PagingParam
,
"page"
)
.
Required
(
false
)
.
DataFormat
(
"limit=%d,page=%d"
)
.
DefaultValue
(
"limit=10,page=1"
))
.
Param
(
ws
.
QueryParameter
(
params
.
ConditionsParam
,
"query conditions"
)
.
Required
(
false
)
.
DataFormat
(
"key=%s,key~%s"
))
.
Doc
(
"List the devops projects for the workspace member"
)
.
Writes
([]
devops
.
DevOpsProject
{})
.
Returns
(
http
.
StatusOK
,
RespOK
,
[]
devops
.
DevOpsProject
{})
.
Metadata
(
restfulspec
.
KeyOpenAPITags
,
tags
))
ws
.
Route
(
ws
.
POST
(
"/workspaces/{workspace}/devops"
)
.
To
(
tenant
.
CreateDevopsProject
)
.
Param
(
ws
.
PathParameter
(
"workspace"
,
"workspace name"
))
.
Doc
(
"Create devops project"
)
.
Reads
(
devops
.
DevOpsProject
{})
.
Returns
(
http
.
StatusOK
,
RespOK
,
devops
.
DevOpsProject
{})
.
Metadata
(
restfulspec
.
KeyOpenAPITags
,
tags
))
ws
.
Route
(
ws
.
DELETE
(
"/workspaces/{workspace}/devops/{id}"
)
.
To
(
tenant
.
DeleteDevopsProject
)
.
Param
(
ws
.
PathParameter
(
"workspace"
,
"workspace name"
))
.
Param
(
ws
.
PathParameter
(
"id"
,
"devops project id"
))
.
Doc
(
"Delete devops project"
)
.
Returns
(
http
.
StatusOK
,
RespOK
,
devops
.
DevOpsProject
{})
.
Metadata
(
restfulspec
.
KeyOpenAPITags
,
tags
))
ws
.
Route
(
ws
.
GET
(
"/logging"
)
.
To
(
tenant
.
LogQuery
)
.
...
...
pkg/gojenkins/credential.go
浏览文件 @
1b3e8051
...
...
@@ -87,18 +87,18 @@ type CredentialResponse struct {
TypeName
string
`json:"typeName"`
DisplayName
string
`json:"displayName"`
Fingerprint
*
struct
{
FileName
string
`json:"file
Name,omitempty
"`
Hash
string
`json:"hash,omitempty"`
FileName
string
`json:"file
_name,omitempty" description:"credential's display name and description
"`
Hash
string
`json:"hash,omitempty"
description:"credential's hash'"
`
Usage
[]
*
struct
{
Name
string
`json:"name,omitempty"`
Name
string
`json:"name,omitempty"
description:"jenkins pipeline full name"
`
Ranges
struct
{
Ranges
[]
*
struct
{
Start
int
`json:"start,omitempty"`
End
int
`json:"end,omitempty"`
Start
int
`json:"start,omitempty"
description:"start build number"
`
End
int
`json:"end,omitempty"
description:"end build number"
`
}
`json:"ranges,omitempty"`
}
`json:"ranges,omitempty"`
}
`json:"usage,omitempty"`
}
`json:"fingerprint,omitempty"`
}
`json:"ranges,omitempty"
description:"all build num using credential"
`
}
`json:"usage,omitempty"
description:"all usage of credential"
`
}
`json:"fingerprint,omitempty"
description:"usage of credential"
`
Description
string
`json:"description,omitempty"`
Domain
string
`json:"domain"`
}
...
...
pkg/models/devops/project_credential.go
浏览文件 @
1b3e8051
...
...
@@ -30,46 +30,45 @@ type JenkinsCredential struct {
Type
string
`json:"type" description:"type of credential,such as ssh/kubeconfig"`
DisplayName
string
`json:"display_name,omitempty" description:"credential's display name'"`
Fingerprint
*
struct
{
FileName
string
`json:"file_name,omitempty"`
Hash
string
`json:"hash,omitempty"`
FileName
string
`json:"file_name,omitempty"
description:"credential's display name and description"
`
Hash
string
`json:"hash,omitempty"
description:"credential's hash'"
`
Usage
[]
*
struct
{
Name
string
`json:"name,omitempty"`
Name
string
`json:"name,omitempty"
description:"jenkins pipeline full name"
`
Ranges
struct
{
Ranges
[]
*
struct
{
Start
int
`json:"start,omitempty"`
End
int
`json:"end,omitempty"`
Start
int
`json:"start,omitempty"
description:"start build number"
`
End
int
`json:"end,omitempty"
description:"end build number"
`
}
`json:"ranges,omitempty"`
}
`json:"ranges,omitempty"`
}
`json:"usage,omitempty"`
}
`json:"fingerprint,omitempty" description:""`
Description
string
`json:"description,omitempty"`
Domain
string
`json:"domain,omitempty"`
CreateTime
*
time
.
Time
`json:"create_time,omitempty"`
Creator
string
`json:"creator,omitempty"`
UsernamePasswordCredential
*
UsernamePasswordCredential
`json:"username_password,omitempty"`
SshCredential
*
SshCredential
`json:"ssh,omitempty"`
SecretTextCredential
*
SecretTextCredential
`json:"secret_text,omitempty"`
KubeconfigCredential
*
KubeconfigCredential
`json:"kubeconfig,omitempty"`
}
`json:"ranges,omitempty"
description:"all build num using credential"
`
}
`json:"usage,omitempty"
description:"all usage of credential"
`
}
`json:"fingerprint,omitempty" description:"
usage of credential
"`
Description
string
`json:"description,omitempty"
description:"credential's description'"
`
Domain
string
`json:"domain,omitempty"
description:"credential's domain, default '_''"
`
CreateTime
*
time
.
Time
`json:"create_time,omitempty"
description:"credential's create_time'"
`
Creator
string
`json:"creator,omitempty"
description:"creator's username"
`
UsernamePasswordCredential
*
UsernamePasswordCredential
`json:"username_password,omitempty"
description:"username password credential struct"
`
SshCredential
*
SshCredential
`json:"ssh,omitempty"
description:"ssh credential struct"
`
SecretTextCredential
*
SecretTextCredential
`json:"secret_text,omitempty"
description:"secret_text credential struct"
`
KubeconfigCredential
*
KubeconfigCredential
`json:"kubeconfig,omitempty"
description:"kubeconfig credential struct"
`
}
type
UsernamePasswordCredential
struct
{
Username
string
`json:"username,omitempty"`
Password
string
`json:"password,omitempty"`
Username
string
`json:"username,omitempty"
description:"username of username_password credential"
`
Password
string
`json:"password,omitempty"
description:"password of username_password credential"
`
}
type
SshCredential
struct
{
Username
string
`json:"username,omitempty"`
Passphrase
string
`json:"passphrase,omitempty"`
PrivateKey
string
`json:"private_key,omitempty" mapstructure:"private_key"`
Username
string
`json:"username,omitempty"
description:"username of ssh credential"
`
Passphrase
string
`json:"passphrase,omitempty"
description:"passphrase of ssh credential, password of ssh credential"
`
PrivateKey
string
`json:"private_key,omitempty" mapstructure:"private_key"
description:"private key of ssh credential"
`
}
type
SecretTextCredential
struct
{
Secret
string
`json:"secret,omitempty"`
Description
string
`json:"description,omitempty"`
Secret
string
`json:"secret,omitempty" description:"secret content of credential"`
}
type
KubeconfigCredential
struct
{
Content
string
`json:"content,omitempty"`
Content
string
`json:"content,omitempty"
description:"content of kubeconfig"
`
}
const
(
...
...
pkg/models/devops/project_credential_handler.go
浏览文件 @
1b3e8051
...
...
@@ -205,7 +205,7 @@ func UpdateProjectCredential(projectId, credentialId string, credentialRequest *
credentialId
,
err
:=
jenkinsClient
.
UpdateSecretTextCredentialInFolder
(
credentialRequest
.
Domain
,
credentialId
,
credentialRequest
.
SecretTextCredential
.
Secret
,
credentialRequest
.
SecretTextCredential
.
Description
,
credentialRequest
.
Description
,
projectId
)
if
err
!=
nil
{
glog
.
Errorf
(
"%+v"
,
err
)
...
...
@@ -421,17 +421,17 @@ func formatCredentialResponse(
response
.
DisplayName
=
jenkinsCredentialResponse
.
DisplayName
if
jenkinsCredentialResponse
.
Fingerprint
!=
nil
&&
jenkinsCredentialResponse
.
Fingerprint
.
Hash
!=
""
{
response
.
Fingerprint
=
&
struct
{
FileName
string
`json:"file_name,omitempty"`
Hash
string
`json:"hash,omitempty"`
FileName
string
`json:"file_name,omitempty"
description:"credential's display name and description"
`
Hash
string
`json:"hash,omitempty"
description:"credential's hash'"
`
Usage
[]
*
struct
{
Name
string
`json:"name,omitempty"`
Name
string
`json:"name,omitempty"
description:"jenkins pipeline full name"
`
Ranges
struct
{
Ranges
[]
*
struct
{
Start
int
`json:"start,omitempty"`
End
int
`json:"end,omitempty"`
Start
int
`json:"start,omitempty"
description:"start build number"
`
End
int
`json:"end,omitempty"
description:"end build number"
`
}
`json:"ranges,omitempty"`
}
`json:"ranges,omitempty"`
}
`json:"usage,omitempty"`
}
`json:"ranges,omitempty"
description:"all build num using credential"
`
}
`json:"usage,omitempty"
description:"all usage of credential"
`
}{}
response
.
Fingerprint
.
FileName
=
jenkinsCredentialResponse
.
Fingerprint
.
FileName
response
.
Fingerprint
.
Hash
=
jenkinsCredentialResponse
.
Fingerprint
.
Hash
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录