Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
水淹萌龙
kubesphere
提交
f50f30e6
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看板
提交
f50f30e6
编写于
12月 09, 2020
作者:
LinuxSuRen
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Refactory pr discover with Bitbucket, avoid using number to compare
Signed-off-by:
rick
<
rick@jenkins-zh.cn
>
上级
e4782b37
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
75 addition
and
28 deletion
+75
-28
pkg/simple/client/devops/jenkins/internal/bitbucket.go
pkg/simple/client/devops/jenkins/internal/bitbucket.go
+12
-22
pkg/simple/client/devops/jenkins/internal/pull_request.go
pkg/simple/client/devops/jenkins/internal/pull_request.go
+50
-6
pkg/simple/client/devops/jenkins/internal/pull_request_test.go
...imple/client/devops/jenkins/internal/pull_request_test.go
+13
-0
未找到文件。
pkg/simple/client/devops/jenkins/internal/bitbucket.go
浏览文件 @
f50f30e6
...
...
@@ -35,16 +35,13 @@ func AppendBitbucketServerSourceToEtree(source *etree.Element, gitSource *devops
forkTrait
:=
traits
.
CreateElement
(
"com.cloudbees.jenkins.plugins.bitbucket.ForkPullRequestDiscoveryTrait"
)
forkTrait
.
CreateElement
(
"strategyId"
)
.
SetText
(
strconv
.
Itoa
(
gitSource
.
DiscoverPRFromForks
.
Strategy
))
trustClass
:=
"com.cloudbees.jenkins.plugins.bitbucket.ForkPullRequestDiscoveryTrait$"
switch
gitSource
.
DiscoverPRFromForks
.
Trust
{
case
1
:
trustClass
+=
"TrustEveryone"
case
2
:
trustClass
+=
"TrustTeamForks"
case
3
:
trustClass
+=
"TrustNobody"
default
:
trustClass
+=
"TrustEveryone"
if
prTrust
:=
PRDiscoverTrust
(
gitSource
.
DiscoverPRFromForks
.
Trust
);
prTrust
.
IsValid
()
{
trustClass
+=
prTrust
.
String
()
}
else
{
klog
.
Warningf
(
"invalid Bitbucket discover PR trust value: %d"
,
prTrust
.
Value
())
}
forkTrait
.
CreateElement
(
"trust"
)
.
CreateAttr
(
"class"
,
trustClass
)
}
if
gitSource
.
DiscoverTags
{
...
...
@@ -111,23 +108,16 @@ func GetBitbucketServerSourceFromEtree(source *etree.Element) *devopsv1alpha3.Bi
strategyId
,
_
:=
strconv
.
Atoi
(
forkPRDiscoverTrait
.
SelectElement
(
"strategyId"
)
.
Text
())
trustClass
:=
forkPRDiscoverTrait
.
SelectElement
(
"trust"
)
.
SelectAttr
(
"class"
)
.
Value
trust
:=
strings
.
Split
(
trustClass
,
"$"
)
switch
trust
[
1
]
{
case
"TrustEveryone"
:
s
.
DiscoverPRFromForks
=
&
devopsv1alpha3
.
DiscoverPRFromForks
{
Strategy
:
strategyId
,
Trust
:
1
,
}
case
"TrustTeamForks"
:
s
.
DiscoverPRFromForks
=
&
devopsv1alpha3
.
DiscoverPRFromForks
{
Strategy
:
strategyId
,
Trust
:
2
,
}
case
"TrustNobody"
:
if
prTrust
:=
BitbucketPRDiscoverTrust
(
1
)
.
ParseFromString
(
trust
[
1
]);
prTrust
.
IsValid
()
{
s
.
DiscoverPRFromForks
=
&
devopsv1alpha3
.
DiscoverPRFromForks
{
Strategy
:
strategyId
,
Trust
:
3
,
Trust
:
prTrust
.
Value
()
,
}
}
else
{
klog
.
Warningf
(
"invalid Bitbucket discover PR trust value: %s"
,
trust
[
1
])
}
if
cloneTrait
:=
traits
.
SelectElement
(
"jenkins.plugins.git.traits.CloneOptionTrait"
);
cloneTrait
!=
nil
{
if
cloneExtension
:=
cloneTrait
.
SelectElement
(
...
...
pkg/simple/client/devops/jenkins/internal/pull_request.go
浏览文件 @
f50f30e6
...
...
@@ -10,12 +10,6 @@ const (
PRDiscoverUnknown
PRDiscoverTrust
=
-
1
)
type
GitHubPRDiscoverTrust
int
const
(
GitHubPRDiscoverTrustContributors
GitHubPRDiscoverTrust
=
1
)
func
(
p
PRDiscoverTrust
)
Value
()
int
{
return
int
(
p
)
}
...
...
@@ -49,6 +43,13 @@ func (p PRDiscoverTrust) ParseFromString(prTrust string) PRDiscoverTrust {
}
}
// GitHub
type
GitHubPRDiscoverTrust
int
const
(
GitHubPRDiscoverTrustContributors
GitHubPRDiscoverTrust
=
1
)
func
(
p
GitHubPRDiscoverTrust
)
Value
()
int
{
return
int
(
p
)
}
...
...
@@ -78,3 +79,46 @@ func (p GitHubPRDiscoverTrust) ParseFromString(prTrust string) GitHubPRDiscoverT
func
(
p
GitHubPRDiscoverTrust
)
IsValid
()
bool
{
return
PRDiscoverTrust
(
p
)
.
IsValid
()
}
// Bitbucket
type
BitbucketPRDiscoverTrust
int
const
(
BitbucketPRDiscoverTrustEveryone
BitbucketPRDiscoverTrust
=
1
BitbucketPRDiscoverTrustTeamForks
BitbucketPRDiscoverTrust
=
2
BitbucketPRDiscoverTrustNobody
BitbucketPRDiscoverTrust
=
3
)
func
(
p
BitbucketPRDiscoverTrust
)
Value
()
int
{
return
int
(
p
)
}
func
(
p
BitbucketPRDiscoverTrust
)
IsValid
()
bool
{
return
p
.
String
()
!=
""
}
func
(
p
BitbucketPRDiscoverTrust
)
String
()
string
{
switch
p
{
default
:
fallthrough
case
BitbucketPRDiscoverTrustEveryone
:
return
"TrustEveryone"
case
BitbucketPRDiscoverTrustTeamForks
:
return
"TrustTeamForks"
case
BitbucketPRDiscoverTrustNobody
:
return
"TrustNobody"
}
}
func
(
p
BitbucketPRDiscoverTrust
)
ParseFromString
(
prTrust
string
)
BitbucketPRDiscoverTrust
{
switch
prTrust
{
default
:
fallthrough
case
"TrustEveryone"
:
return
BitbucketPRDiscoverTrustEveryone
case
"TrustTeamForks"
:
return
BitbucketPRDiscoverTrustTeamForks
case
"TrustNobody"
:
return
BitbucketPRDiscoverTrustNobody
}
}
pkg/simple/client/devops/jenkins/internal/pull_request_test.go
浏览文件 @
f50f30e6
...
...
@@ -19,10 +19,23 @@ func TestPRDiscoverTrust(t *testing.T) {
assert
.
Equal
(
t
,
PRDiscoverTrust
(
1
)
.
ParseFromString
(
"TrustNobody"
),
PRDiscoverTrustNobody
)
assert
.
Equal
(
t
,
PRDiscoverTrust
(
1
)
.
ParseFromString
(
"fake"
)
.
IsValid
(),
false
)
// GitHub
assert
.
Equal
(
t
,
GitHubPRDiscoverTrust
(
1
)
.
String
(),
"TrustContributors"
)
assert
.
Equal
(
t
,
GitHubPRDiscoverTrust
(
2
)
.
String
(),
PRDiscoverTrust
(
2
)
.
String
())
assert
.
Equal
(
t
,
GitHubPRDiscoverTrust
(
1
)
.
Value
(),
1
)
assert
.
Equal
(
t
,
GitHubPRDiscoverTrust
(
1
)
.
ParseFromString
(
"TrustContributors"
),
GitHubPRDiscoverTrustContributors
)
assert
.
Equal
(
t
,
GitHubPRDiscoverTrust
(
1
)
.
ParseFromString
(
"TrustEveryone"
)
.
String
(),
"TrustEveryone"
)
assert
.
Equal
(
t
,
GitHubPRDiscoverTrust
(
1
)
.
ParseFromString
(
"fake"
)
.
IsValid
(),
false
)
// Bithucket
assert
.
Equal
(
t
,
BitbucketPRDiscoverTrust
(
1
)
.
String
(),
"TrustEveryone"
)
assert
.
Equal
(
t
,
BitbucketPRDiscoverTrust
(
2
)
.
String
(),
"TrustTeamForks"
)
assert
.
Equal
(
t
,
BitbucketPRDiscoverTrust
(
3
)
.
String
(),
"TrustNobody"
)
assert
.
Equal
(
t
,
BitbucketPRDiscoverTrust
(
3
)
.
Value
(),
3
)
assert
.
Equal
(
t
,
BitbucketPRDiscoverTrust
(
-
1
)
.
String
(),
"TrustEveryone"
)
assert
.
Equal
(
t
,
BitbucketPRDiscoverTrust
(
1
)
.
ParseFromString
(
"TrustEveryone"
),
BitbucketPRDiscoverTrustEveryone
)
assert
.
Equal
(
t
,
BitbucketPRDiscoverTrust
(
1
)
.
ParseFromString
(
"TrustTeamForks"
),
BitbucketPRDiscoverTrustTeamForks
)
assert
.
Equal
(
t
,
BitbucketPRDiscoverTrust
(
1
)
.
ParseFromString
(
"TrustNobody"
),
BitbucketPRDiscoverTrustNobody
)
assert
.
Equal
(
t
,
BitbucketPRDiscoverTrust
(
1
)
.
ParseFromString
(
"fake"
),
BitbucketPRDiscoverTrustEveryone
)
assert
.
Equal
(
t
,
BitbucketPRDiscoverTrust
(
1
)
.
ParseFromString
(
"TrustNobody"
)
.
IsValid
(),
true
)
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录