Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Q
qa-platform-ui
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
QA
qa-platform-ui
Commits
79b79f46
Commit
79b79f46
authored
Jun 09, 2021
by
晓彤
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
添加pipeline功能
parent
28c7f231
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
129 additions
and
110 deletions
+129
-110
jira.js
src/api/jira.js
+10
-2
Notify.vue
src/views/jira/Notify.vue
+119
-108
No files found.
src/api/jira.js
View file @
79b79f46
...
...
@@ -86,10 +86,10 @@ export function addPipeline(data) {
data
})
}
//
添加
pipeline接口
//
编辑
pipeline接口
export
function
editPipeline
(
data
)
{
return
request
({
url
:
'
/pipeli
st
/modify
'
,
url
:
'
/pipeli
ne
/modify
'
,
method
:
'
post
'
,
data
})
...
...
@@ -102,3 +102,11 @@ export function getJiraIssueList(data) {
params
:
data
})
}
// 删除pipeline功能
export
function
delPipeline
(
queryInfo
)
{
return
request
({
url
:
'
/pipeline/delete
'
,
method
:
'
get
'
,
params
:
queryInfo
})
}
src/views/jira/Notify.vue
View file @
79b79f46
...
...
@@ -3,7 +3,7 @@
<el-card>
<!-- 顶部搜索栏 -->
<div
class=
"top"
>
<el-button
type=
"primary"
icon=
"el-icon-circle-plus-outline"
@
click=
"add
DialogVisible = tru
e"
>
新增
</el-button>
<el-button
type=
"primary"
icon=
"el-icon-circle-plus-outline"
@
click=
"add
Pipelin
e"
>
新增
</el-button>
</div>
<el-table
:data=
"dingRobotList"
border
style=
"width: 100%"
>
...
...
@@ -16,53 +16,48 @@
<div
v-for=
"item in scope.row.pipelineList"
:key=
"item.id"
><b>
{{
item
.
serviceName
}}
</b>
->
{{
item
.
serviceBranch
}}
</div>
</
template
>
</el-table-column>
<el-table-column
prop=
"dingRobot.namespace"
label=
"环 境"
width=
"100px"
></el-table-column>
<el-table-column
prop=
"dingRobot.creator"
label=
"创建人"
width=
"100px"
>
</el-table-column>
<el-table-column
prop=
"dingRobot.createTime"
label=
"创建时间"
width=
"180px"
></el-table-column>
<el-table-column
label=
"操作"
width=
"400px"
>
<el-table-column
label=
"操作"
>
<slot
slot-scope=
"scope"
>
<el-button
type=
"primary"
size=
"small"
@
click=
"openEditDialog(scope.row)"
>
编辑
</el-button>
<el-button
type=
"danger"
size=
"small"
@
click=
"delProjectRobot(scope.row.id)"
>
删除
</el-button>
<el-button
type=
"danger"
size=
"small"
@
click=
"delProjectRobot(scope.row.
dingRobot.
id)"
>
删除
</el-button>
<el-button
type=
"warning"
size=
"small"
@
click=
"openSendSmokingDialog(scope.row)"
>
冒烟测试
</el-button>
<el-button
type=
"success"
size=
"small"
@
click=
"openSendDialog(scope.row)"
>
发送进度
</el-button>
</slot>
</el-table-column>
<!-- <el-table-column prop="updateTime" label="更新时间"></el-table-column> -->
</el-table>
</el-card>
<!-- 分页 -->
<el-pagination
background
@
size-change=
"handleSizeChange"
@
current-change=
"handleCurrentChange"
:current-page.sync=
"queryInfo.pageNum"
:page-size=
"queryInfo.pageSize"
layout=
"total, prev, pager, next"
:total=
"totalNum"
></el-pagination>
<!-- 新增对话框 -->
<el-dialog
title=
"新增robot"
:visible.sync=
"addDialogVisible"
width=
"60%"
@
close=
"closeAddDialog"
>
<el-form
ref=
"addRobotFormRef"
:rules=
"formRules"
:model=
"pipelineFrom"
label-width=
"150px"
>
<el-form-item
label=
"jira项目"
prop=
"
pipelineFrom.
dingRobot.jiraProjectKey"
>
<el-form-item
label=
"jira项目"
prop=
"dingRobot.jiraProjectKey"
>
<el-select
v-model=
"pipelineFrom.dingRobot.jiraProjectKey"
placeholder=
"请选择Jira项目"
>
<el-option
v-for=
"item in jiraProjectList"
:key=
"item.key"
:label=
"item.name"
:value=
"item.key"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"项目名称"
prop=
"
pipelineFrom.
dingRobot.projectName"
>
<el-form-item
label=
"项目名称"
prop=
"dingRobot.projectName"
>
<el-input
v-model=
"pipelineFrom.dingRobot.projectName"
placeholder=
"请输入项目名称"
></el-input>
</el-form-item>
<el-form-item
label=
"钉钉通知地址"
prop=
"
pipelineFrom.
dingRobot.dingUrl"
>
<el-form-item
label=
"钉钉通知地址"
prop=
"dingRobot.dingUrl"
>
<el-input
v-model=
"pipelineFrom.dingRobot.dingUrl"
placeholder=
"请输入钉钉通知地址"
type=
"textarea"
></el-input>
</el-form-item>
<el-form-item
label=
"创建人"
prop=
"
pipelineFrom.
dingRobot.creator"
>
<el-form-item
label=
"创建人"
prop=
"dingRobot.creator"
>
<el-input
v-model=
"pipelineFrom.dingRobot.creator"
placeholder=
"请输入创建人"
></el-input>
</el-form-item>
<el-form-item
label=
"环 境"
prop=
"
pipelineFrom.
dingRobot.namespace"
>
<el-form-item
label=
"环 境"
prop=
"dingRobot.namespace"
>
<el-select
v-model=
"pipelineFrom.dingRobot.namespace"
placeholder=
"请选择环境"
>
<el-option
v-for=
"item in namespaceList"
:key=
"item.key"
:label=
"item.desc"
:value=
"item.key"
>
</el-option>
</el-select>
</el-form-item>
<!-- 添加 Pipeline -->
<el-form-item
label=
"Pipeline"
prop=
"pip
elineFrom.pip
lineList"
>
<el-form-item
label=
"Pipeline"
prop=
"piplineList"
>
<el-row>
<el-col
:span=
"6"
>
<div
style=
"text-align: center"
>
...
...
@@ -111,7 +106,7 @@
</div>
</el-col>
</el-row>
<el-button
size=
"mini"
plain
@
click=
"AddPipelineListRow()"
style=
"mragin-top: 10px"
class=
"el-icon-circle-plus
"
>
添加
</el-button>
<el-button
size=
"mini"
type=
"primary"
@
click=
"AddPipelineListRow()"
style=
"mragin-top: 10px;width:500px
"
>
添加
</el-button>
</el-form-item>
</el-form>
<span
slot=
"footer"
class=
"dialog-footer"
>
...
...
@@ -122,25 +117,25 @@
<!-- 编辑对话框 -->
<el-dialog
title=
"编辑"
:visible.sync=
"editDialogVisible"
width=
"60%"
@
close=
"closeEditDialog"
>
<el-form
ref=
"editRobotFormRef"
:rules=
"formRules"
:model=
"edit
Robot
Form"
label-width=
"150px"
>
<el-form-item
label=
"jira项目"
prop=
"jiraProjectKey"
>
<el-select
v-model=
"edit
RobotForm
.jiraProjectKey"
placeholder=
"请选择Jira项目"
>
<el-form
ref=
"editRobotFormRef"
:rules=
"formRules"
:model=
"edit
Pipeline
Form"
label-width=
"150px"
>
<el-form-item
label=
"jira项目"
prop=
"
dingRobot.
jiraProjectKey"
>
<el-select
v-model=
"edit
PipelineForm.dingRobot
.jiraProjectKey"
placeholder=
"请选择Jira项目"
>
<el-option
v-for=
"item in jiraProjectList"
:key=
"item.key"
:label=
"item.name"
:value=
"item.key"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"项目名称"
prop=
"projectName"
>
<el-input
v-model=
"edit
RobotForm
.projectName"
placeholder=
"请输入项目名称"
></el-input>
<el-form-item
label=
"项目名称"
prop=
"
dingRobot.
projectName"
>
<el-input
v-model=
"edit
PipelineForm.dingRobot
.projectName"
placeholder=
"请输入项目名称"
></el-input>
</el-form-item>
<el-form-item
label=
"钉钉通知地址"
prop=
"dingUrl"
>
<el-input
v-model=
"edit
RobotForm
.dingUrl"
placeholder=
"请输入钉钉通知地址"
type=
"textarea"
></el-input>
<el-form-item
label=
"钉钉通知地址"
prop=
"ding
Robot.ding
Url"
>
<el-input
v-model=
"edit
PipelineForm.dingRobot
.dingUrl"
placeholder=
"请输入钉钉通知地址"
type=
"textarea"
></el-input>
</el-form-item>
<el-form-item
label=
"创建人"
prop=
"creator"
>
<el-input
v-model=
"edit
RobotForm
.creator"
></el-input>
<el-form-item
label=
"创建人"
prop=
"
dingRobot.
creator"
>
<el-input
v-model=
"edit
PipelineForm.dingRobot
.creator"
></el-input>
</el-form-item>
<el-form-item
label=
"环 境"
prop=
"namespace"
>
<el-select
v-model=
"edit
RobotForm.env
"
placeholder=
"请选择环境"
>
<el-form-item
label=
"环 境"
prop=
"
dingRobot.
namespace"
>
<el-select
v-model=
"edit
PipelineForm.dingRobot.namespace
"
placeholder=
"请选择环境"
>
<el-option
v-for=
"item in namespaceList"
:key=
"item.key"
:label=
"item.desc"
:value=
"item.key"
>
</el-option>
</el-select>
...
...
@@ -169,18 +164,18 @@
</div>
</el-col>
</el-row>
<el-row
v-for=
"(item, index) in editPipelineList"
:key=
"index"
>
<el-row
v-for=
"(item, index) in editPipeline
Form.pipeline
List"
:key=
"index"
>
<el-col
:span=
"6"
>
<div
style=
"text-align: center;margin-top:5px"
>
<el-select
v-model=
"item.serviceName"
placeholder=
"请选择服务"
@
change=
"selectServiceModel(item.serviceName)"
clearable
>
<el-option
v-for=
"item
in serviceList"
:key=
"item.name"
:label=
"item.name"
:value=
"item
.name"
></el-option>
<el-option
v-for=
"item
2 in serviceList"
:key=
"item2.name"
:label=
"item2.name"
:value=
"item2
.name"
></el-option>
</el-select>
</div>
</el-col>
<el-col
:span=
"6"
>
<div
style=
"text-align: center;margin-top:5px"
>
<el-select
v-model=
"item.serviceBranch"
placeholder=
"请选择分支"
clearable
>
<el-option
v-for=
"item
in serviceBranchList"
:key=
"item"
:label=
"item"
:value=
"item
"
></el-option>
<el-option
v-for=
"item
2 in serviceBranchList"
:key=
"item2.name"
:label=
"item2.name"
:value=
"item2.name
"
></el-option>
</el-select>
</div>
</el-col>
...
...
@@ -274,13 +269,13 @@ import {
getJiraProjectList
,
getPipelineList
,
addPipeline
,
modifyProjectRobot
,
delProjectRobot
,
editPipeline
,
sendScheduleReport
,
sendSmokingResult
,
getGitProjectList
,
getGitBranchList
,
getJiraIssueList
getJiraIssueList
,
delPipeline
}
from
'
@/api/jira
'
import
{
getNamespaceList
}
from
'
@/api/getXyqbData
'
// import { getGitlabProject } from '@/api/qaApi'
...
...
@@ -316,7 +311,28 @@ export default {
}
]
},
// 编辑数据对象
editPipelineForm
:
{
dingRobot
:
{
id
:
''
,
projectName
:
''
,
dingUrl
:
''
,
creator
:
''
,
jiraProjectKey
:
''
,
namespace
:
''
},
pipelineList
:
[
{
id
:
''
,
ding_robot_id
:
''
,
serviceName
:
''
,
serviceBranch
:
''
,
serviceType
:
''
,
namespace
:
''
,
enable
:
1
}
]
},
editRobotForm
:
{},
sendProjectRobot
:
{},
// 冒烟未解决BUG列表
...
...
@@ -328,7 +344,7 @@ export default {
// 发送冒烟结果参数
sendSmokingData
:
{},
delRobotParams
:
{
project
RobotId
:
''
ding
RobotId
:
''
},
sendScheduleForm
:
{},
smokingResult
:
[
...
...
@@ -342,6 +358,7 @@ export default {
}
],
formRules
:
{
dingRobot
:
{
projectName
:
[
{
required
:
true
,
...
...
@@ -363,10 +380,13 @@ export default {
trigger
:
'
blur
'
}
],
creator
:
[{
required
:
true
,
message
:
'
请输入创建人
'
,
trigger
:
'
blur
'
}],
creator
:
[
{
required
:
true
,
message
:
'
请输入创建人
'
,
trigger
:
'
blur
'
}
],
namespace
:
[
{
required
:
true
,
message
:
'
请输入创建人
'
,
trigger
:
'
blur
'
}
]
}
},
sendFormRules
:
{
progress
:
[
...
...
@@ -387,17 +407,7 @@ export default {
}
]
},
// 添加pipeline
newPipelineList
:
[
{
serviceName
:
''
,
serviceBranch
:
''
,
serviceType
:
''
,
namespace
:
''
,
enable
:
1
,
serviceModel
:
''
}
],
serviceName
:
''
,
serviceType
:
''
,
...
...
@@ -442,14 +452,8 @@ export default {
return
false
}
else
{
// 循环数组
// for (var i = 0; i
<
this
.
pipelineFrom
.
pipelineList
.
length
;
i
++
)
{
// // this.pipelineFrom.pipelineList[i].serviceName = this.serviceName
// // this.pipelineFrom.pipelineList[i].serviceType = this.serviceType
// this.pipelineFrom.pipelineList[i].namespace =
// this.pipelineFrom.dingRobot.namespace
// }
this
.
pipelineFrom
.
pipelineList
.
forEach
(
pipeline
=>
{
this
.
serviceList
.
forEach
(
service
=>
{
this
.
pipelineFrom
.
pipelineList
.
forEach
((
pipeline
)
=>
{
this
.
serviceList
.
forEach
((
service
)
=>
{
if
(
service
.
name
===
pipeline
.
serviceName
)
{
pipeline
.
serviceType
=
service
.
type
}
...
...
@@ -457,9 +461,14 @@ export default {
})
})
addPipeline
(
this
.
pipelineFrom
).
then
((
resp
)
=>
{
console
.
log
(
'
新增信息
'
,
this
.
pipelineFrom
)
if
(
resp
.
data
.
data
===
true
)
{
this
.
addDialogVisible
=
false
this
.
pipelineFrom
.
pipelineList
=
[]
this
.
pipelineFrom
.
pipelineList
.
push
({
serviceName
:
''
,
serviceBranch
:
''
,
enable
:
1
})
this
.
getProjectRobotList
()
return
this
.
$message
.
success
(
'
新增成功!
'
)
}
else
if
(
resp
.
data
.
data
===
false
)
{
...
...
@@ -475,7 +484,16 @@ export default {
if
(
!
valid
)
{
return
false
}
else
{
modifyProjectRobot
(
this
.
editRobotForm
).
then
((
resp
)
=>
{
this
.
editPipelineForm
.
pipelineList
.
forEach
((
pipeline
)
=>
{
this
.
serviceList
.
forEach
((
service
)
=>
{
if
(
service
.
name
===
pipeline
.
serviceName
)
{
pipeline
.
serviceType
=
service
.
type
}
pipeline
.
namespace
=
this
.
editPipelineForm
.
dingRobot
.
namespace
})
})
editPipeline
(
this
.
editPipelineForm
).
then
((
resp
)
=>
{
if
(
resp
.
data
.
data
===
true
)
{
this
.
editDialogVisible
=
false
this
.
getProjectRobotList
()
...
...
@@ -489,7 +507,7 @@ export default {
},
// 删除
delProjectRobot
(
robotId
)
{
this
.
delRobotParams
.
project
RobotId
=
robotId
this
.
delRobotParams
.
ding
RobotId
=
robotId
this
.
$messageBox
.
confirm
(
'
此操作将永久删除, 是否继续?
'
,
'
提示
'
,
{
confirmButtonText
:
'
确定
'
,
...
...
@@ -497,7 +515,7 @@ export default {
type
:
'
warning
'
})
.
then
(()
=>
{
delP
rojectRobot
(
this
.
delRobotParams
).
then
((
resp
)
=>
{
delP
ipeline
(
this
.
delRobotParams
).
then
((
resp
)
=>
{
if
(
resp
.
data
.
data
===
true
)
{
this
.
$message
.
success
(
'
删除成功!
'
)
return
this
.
getProjectRobotList
()
...
...
@@ -567,9 +585,13 @@ export default {
this
.
queryInfo
.
pageNum
=
newPage
this
.
getProjectRobotList
()
},
// 点击编辑按钮
openEditDialog
(
projectRobot
)
{
this
.
editDialogVisible
=
true
this
.
editRobotForm
=
projectRobot
.
dingRobot
this
.
getServiceList
()
this
.
getNamespaceList
()
this
.
editPipelineForm
.
dingRobot
=
projectRobot
.
dingRobot
this
.
editPipelineForm
.
pipelineList
=
projectRobot
.
pipelineList
},
// 打开发送进度对话框
openSendDialog
(
projectRobot
)
{
...
...
@@ -607,26 +629,11 @@ export default {
closeSmokingDialog
()
{
this
.
$refs
.
smokingFormRef
.
resetFields
()
},
// 获取服务名称
// getServiceList() {
// getGitlabProject({
// is_active: true,
// deploy_to_testenv: true
// }).then((resp) => {
// console.log('22', resp)
// this.serviceList = resp.data
// })
// },
changeState
()
{},
// 选择服务下拉框触发事件
selectServiceModel
(
item
)
{
// this.serviceName = item.name
// this.serviceType = item.type
console
.
log
(
'
3333
'
,
item
)
getGitBranchList
({
projectName
:
item
}).
then
((
resp
)
=>
{
this
.
serviceBranchList
=
resp
.
data
.
data
.
data
console
.
log
(
'
55
'
,
this
.
serviceBranchList
)
})
},
// 添加行方法
...
...
@@ -634,7 +641,7 @@ export default {
this
.
pipelineFrom
.
pipelineList
.
push
({
serviceName
:
''
,
serviceBranch
:
''
,
enable
:
true
enable
:
1
})
},
// 删除行
...
...
@@ -643,15 +650,15 @@ export default {
},
// 编辑pipeline添加按钮
EditPipelineListRow
()
{
this
.
editPipelineList
.
push
({
this
.
editPipeline
Form
.
pipeline
List
.
push
({
serviceName
:
''
,
serviceBranch
:
''
,
enable
:
true
enable
:
1
})
},
// 编辑删除pipeline按钮
editPipelineDelete
(
index
)
{
this
.
editPipelineList
.
splice
(
index
,
1
)
this
.
editPipeline
Form
.
pipeline
List
.
splice
(
index
,
1
)
},
// 环境列表
getNamespaceList
()
{
...
...
@@ -664,14 +671,18 @@ export default {
getGitProjectList
().
then
((
resp
)
=>
{
this
.
serviceList
=
resp
.
data
.
data
})
},
// 添加按钮
addPipeline
()
{
this
.
addDialogVisible
=
true
// 获取服务列表
this
.
getServiceList
()
this
.
getNamespaceList
()
}
},
created
()
{
this
.
getJiraProjectList
()
this
.
getProjectRobotList
()
// 获取服务列表
this
.
getServiceList
()
this
.
getNamespaceList
()
}
}
</
script
>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment