Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
koderover
zadig
提交
aab08163
zadig
项目概览
koderover
/
zadig
9 个月 前同步成功
通知
10
Star
2407
Fork
754
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
zadig
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
未验证
提交
aab08163
编写于
9月 01, 2023
作者:
S
shendongdong
提交者:
GitHub
9月 01, 2023
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
recover deleted api (#2995)
Signed-off-by:
N
allenshen
<
shendongdong@koderover.com
>
上级
0ad79662
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
198 addition
and
184 deletion
+198
-184
pkg/microservice/aslan/core/workflow/handler/pipeline_task.go
...microservice/aslan/core/workflow/handler/pipeline_task.go
+187
-173
pkg/microservice/aslan/core/workflow/handler/router.go
pkg/microservice/aslan/core/workflow/handler/router.go
+11
-11
未找到文件。
pkg/microservice/aslan/core/workflow/handler/pipeline_task.go
浏览文件 @
aab08163
...
...
@@ -16,179 +16,193 @@ limitations under the License.
package
handler
//func GetProductNameByPipelineTask(c *gin.Context) {
// ctx := internalhandler.NewContext(c)
// args := new(commonmodels.TaskArgs)
// data, err := c.GetRawData()
// if err != nil {
// log.Errorf("c.GetRawData() err : %v", err)
// return
// }
// if err = json.Unmarshal(data, args); err != nil {
// log.Errorf("json.Unmarshal err : %v", err)
// return
// }
//
// pipeline, err := workflow.GetPipeline(ctx.UserID, args.PipelineName, ctx.Logger)
// if err != nil {
// log.Errorf("GetProductNameByPipelineTask err : %v", err)
// return
// }
// c.Set("productName", pipeline.ProductName)
// c.Request.Body = io.NopCloser(bytes.NewBuffer(data))
// c.Next()
//}
//
//// CreatePipelineTask ...
//func CreatePipelineTask(c *gin.Context) {
// ctx := internalhandler.NewContext(c)
// defer func() { internalhandler.JSONResponse(c, ctx) }()
//
// args := new(commonmodels.TaskArgs)
// data, err := c.GetRawData()
// if err != nil {
// log.Errorf("CreatePipelineTask c.GetRawData() err : %v", err)
// }
// if err = json.Unmarshal(data, args); err != nil {
// log.Errorf("CreatePipelineTask json.Unmarshal err : %v", err)
// }
// internalhandler.InsertOperationLog(c, ctx.UserName, c.GetString("productName"), "新增", "单服务-工作流task", args.PipelineName, string(data), ctx.Logger)
// c.Request.Body = io.NopCloser(bytes.NewBuffer(data))
//
// if err := c.BindJSON(args); err != nil {
// ctx.Err = e.ErrInvalidParam.AddDesc("invalid PipelineTaskArgs")
// return
// }
// if args.TaskCreator == "" {
// args.TaskCreator = ctx.UserName
// }
//
// args.ReqID = ctx.RequestID
// ctx.Resp, ctx.Err = workflow.CreatePipelineTask(args, ctx.Logger)
//
// // 发送通知
// if ctx.Err != nil {
// notify.SendFailedTaskMessage(ctx.UserName, args.ProductName, args.PipelineName, ctx.RequestID, config.SingleType, ctx.Err, ctx.Logger)
// }
//
//}
//
//// ListPipelineTasksResult pipelinetask分页信息
//func ListPipelineTasksResult(c *gin.Context) {
// ctx := internalhandler.NewContext(c)
// defer func() { internalhandler.JSONResponse(c, ctx) }()
//
// maxResult, err := strconv.Atoi(c.Param("max"))
// if err != nil {
// ctx.Err = e.ErrInvalidParam.AddDesc("invalid max result number")
// return
// }
// startAt, err := strconv.Atoi(c.Param("start"))
// if err != nil {
// ctx.Err = e.ErrInvalidParam.AddDesc("invalid start at number")
// return
// }
// ctx.Resp, ctx.Err = workflow.ListPipelineTasksV2Result(c.Param("name"), config.SingleType, "", []string{}, maxResult, startAt, ctx.Logger)
//}
//
//func GetPipelineTask(c *gin.Context) {
// ctx := internalhandler.NewContext(c)
// defer func() { internalhandler.JSONResponse(c, ctx) }()
//
// taskID, err := strconv.ParseInt(c.Param("id"), 10, 64)
// if err != nil {
// ctx.Err = e.ErrInvalidParam.AddDesc("invalid task id")
// return
// }
//
// ctx.Resp, ctx.Err = workflow.GetPipelineTaskV2(taskID, c.Param("name"), config.SingleType, ctx.Logger)
//}
//
//func RestartPipelineTask(c *gin.Context) {
// ctx := internalhandler.NewContext(c)
// defer func() { internalhandler.JSONResponse(c, ctx) }()
// internalhandler.InsertOperationLog(c, ctx.UserName, c.Query("projectName"), "重启", "单服务-工作流task", c.Param("name"), "", ctx.Logger)
//
// taskID, err := strconv.ParseInt(c.Param("id"), 10, 64)
// if err != nil {
// ctx.Err = e.ErrInvalidParam.AddDesc("invalid task id")
// return
// }
//
// ctx.Err = workflow.RestartPipelineTaskV2(ctx.UserName, taskID, c.Param("name"), config.SingleType, ctx.Logger)
//}
//
//func CancelTaskV2(c *gin.Context) {
// ctx := internalhandler.NewContext(c)
// defer func() { internalhandler.JSONResponse(c, ctx) }()
// internalhandler.InsertOperationLog(c, ctx.UserName, c.Query("projectName"), "取消", "单服务-工作流task", c.Param("name"), "", ctx.Logger)
//
// taskID, err := strconv.ParseInt(c.Param("id"), 10, 64)
// if err != nil {
// ctx.Err = e.ErrInvalidParam.AddDesc("invalid task id")
// return
// }
// ctx.Err = commonservice.CancelTaskV2(ctx.UserName, c.Param("name"), taskID, config.SingleType, ctx.RequestID, ctx.Logger)
//}
//
//// ListPipelineUpdatableProductNames 启动任务时检查部署环境
//func ListPipelineUpdatableProductNames(c *gin.Context) {
// ctx := internalhandler.NewContext(c)
// defer func() { internalhandler.JSONResponse(c, ctx) }()
//
// ctx.Resp, ctx.Err = workflow.ListPipelineUpdatableProductNames(ctx.UserName, c.Param("name"), ctx.Logger)
//}
//
//func GetPackageFile(c *gin.Context) {
// ctx := internalhandler.NewContext(c)
// defer func() { internalhandler.JSONResponse(c, ctx) }()
//
// pipelineName := c.Query("pipelineName")
// if pipelineName == "" {
// ctx.Err = e.ErrInvalidParam.AddDesc("invalid pipelineName")
// return
// }
//
// taskID, err := strconv.ParseInt(c.Query("taskId"), 10, 64)
// if err != nil {
// ctx.Err = e.ErrInvalidParam.AddDesc("invalid taskId")
// return
// }
import
(
"fmt"
"strconv"
"github.com/gin-gonic/gin"
"github.com/koderover/zadig/pkg/microservice/aslan/core/workflow/service/workflow"
"github.com/koderover/zadig/pkg/setting"
internalhandler
"github.com/koderover/zadig/pkg/shared/handler"
e
"github.com/koderover/zadig/pkg/tool/errors"
)
// func GetProductNameByPipelineTask(c *gin.Context) {
// ctx := internalhandler.NewContext(c)
// args := new(commonmodels.TaskArgs)
// data, err := c.GetRawData()
// if err != nil {
// log.Errorf("c.GetRawData() err : %v", err)
// return
// }
// if err = json.Unmarshal(data, args); err != nil {
// log.Errorf("json.Unmarshal err : %v", err)
// return
// }
//
// pipeline, err := workflow.GetPipeline(ctx.UserID, args.PipelineName, ctx.Logger)
// if err != nil {
// log.Errorf("GetProductNameByPipelineTask err : %v", err)
// return
// }
// c.Set("productName", pipeline.ProductName)
// c.Request.Body = io.NopCloser(bytes.NewBuffer(data))
// c.Next()
// }
//
// // CreatePipelineTask ...
//
// func CreatePipelineTask(c *gin.Context) {
// ctx := internalhandler.NewContext(c)
// defer func() { internalhandler.JSONResponse(c, ctx) }()
//
// args := new(commonmodels.TaskArgs)
// data, err := c.GetRawData()
// if err != nil {
// log.Errorf("CreatePipelineTask c.GetRawData() err : %v", err)
// }
// if err = json.Unmarshal(data, args); err != nil {
// log.Errorf("CreatePipelineTask json.Unmarshal err : %v", err)
// }
// internalhandler.InsertOperationLog(c, ctx.UserName, c.GetString("productName"), "新增", "单服务-工作流task", args.PipelineName, string(data), ctx.Logger)
// c.Request.Body = io.NopCloser(bytes.NewBuffer(data))
//
// if err := c.BindJSON(args); err != nil {
// ctx.Err = e.ErrInvalidParam.AddDesc("invalid PipelineTaskArgs")
// return
// }
// if args.TaskCreator == "" {
// args.TaskCreator = ctx.UserName
// }
//
// args.ReqID = ctx.RequestID
// ctx.Resp, ctx.Err = workflow.CreatePipelineTask(args, ctx.Logger)
//
// // 发送通知
// if ctx.Err != nil {
// notify.SendFailedTaskMessage(ctx.UserName, args.ProductName, args.PipelineName, ctx.RequestID, config.SingleType, ctx.Err, ctx.Logger)
// }
//
// }
//
// // ListPipelineTasksResult pipelinetask分页信息
//
// func ListPipelineTasksResult(c *gin.Context) {
// ctx := internalhandler.NewContext(c)
// defer func() { internalhandler.JSONResponse(c, ctx) }()
//
// maxResult, err := strconv.Atoi(c.Param("max"))
// if err != nil {
// ctx.Err = e.ErrInvalidParam.AddDesc("invalid max result number")
// return
// }
// startAt, err := strconv.Atoi(c.Param("start"))
// if err != nil {
// ctx.Err = e.ErrInvalidParam.AddDesc("invalid start at number")
// return
// }
// ctx.Resp, ctx.Err = workflow.ListPipelineTasksV2Result(c.Param("name"), config.SingleType, "", []string{}, maxResult, startAt, ctx.Logger)
// }
//
// func GetPipelineTask(c *gin.Context) {
// ctx := internalhandler.NewContext(c)
// defer func() { internalhandler.JSONResponse(c, ctx) }()
//
// taskID, err := strconv.ParseInt(c.Param("id"), 10, 64)
// if err != nil {
// ctx.Err = e.ErrInvalidParam.AddDesc("invalid task id")
// return
// }
//
// ctx.Resp, ctx.Err = workflow.GetPipelineTaskV2(taskID, c.Param("name"), config.SingleType, ctx.Logger)
// }
//
// func RestartPipelineTask(c *gin.Context) {
// ctx := internalhandler.NewContext(c)
// defer func() { internalhandler.JSONResponse(c, ctx) }()
// internalhandler.InsertOperationLog(c, ctx.UserName, c.Query("projectName"), "重启", "单服务-工作流task", c.Param("name"), "", ctx.Logger)
//
// taskID, err := strconv.ParseInt(c.Param("id"), 10, 64)
// if err != nil {
// ctx.Err = e.ErrInvalidParam.AddDesc("invalid task id")
// return
// }
//
// ctx.Err = workflow.RestartPipelineTaskV2(ctx.UserName, taskID, c.Param("name"), config.SingleType, ctx.Logger)
// }
//
// func CancelTaskV2(c *gin.Context) {
// ctx := internalhandler.NewContext(c)
// defer func() { internalhandler.JSONResponse(c, ctx) }()
// internalhandler.InsertOperationLog(c, ctx.UserName, c.Query("projectName"), "取消", "单服务-工作流task", c.Param("name"), "", ctx.Logger)
//
// taskID, err := strconv.ParseInt(c.Param("id"), 10, 64)
// if err != nil {
// ctx.Err = e.ErrInvalidParam.AddDesc("invalid task id")
// return
// }
// ctx.Err = commonservice.CancelTaskV2(ctx.UserName, c.Param("name"), taskID, config.SingleType, ctx.RequestID, ctx.Logger)
// }
//
// // ListPipelineUpdatableProductNames 启动任务时检查部署环境
//
// func ListPipelineUpdatableProductNames(c *gin.Context) {
// ctx := internalhandler.NewContext(c)
// defer func() { internalhandler.JSONResponse(c, ctx) }()
//
// ctx.Resp, ctx.Err = workflow.ListPipelineUpdatableProductNames(ctx.UserName, c.Param("name"), ctx.Logger)
// }
//
// func GetPackageFile(c *gin.Context) {
// ctx := internalhandler.NewContext(c)
// defer func() { internalhandler.JSONResponse(c, ctx) }()
//
// pipelineName := c.Query("pipelineName")
// if pipelineName == "" {
// ctx.Err = e.ErrInvalidParam.AddDesc("invalid pipelineName")
// return
// }
//
// resp, pkgFile, err := workflow.GePackageFileContent(pipelineName, taskID, ctx.Logger)
// if err != nil {
// ctx.Err = err
// return
// }
// c.Writer.Header().Set("Content-Disposition", fmt.Sprintf(`attachment; filename="%s"`, pkgFile))
// c.Data(200, "application/octet-stream", resp)
//}
//
//func GetArtifactFile(c *gin.Context) {
// ctx := internalhandler.NewContext(c)
// defer func() { internalhandler.JSONResponse(c, ctx) }()
//
// taskID, err := strconv.ParseInt(c.Param("taskId"), 10, 64)
// if err != nil {
// ctx.Err = e.ErrInvalidParam.AddDesc("invalid task id")
// return
// }
// notHistoryFileFlag, err := strconv.ParseBool(c.DefaultQuery("notHistoryFileFlag", "false"))
// if err != nil {
// ctx.Err = e.ErrInvalidParam.AddDesc("invalid notHistoryFileFlag")
// return
// }
// taskID, err := strconv.ParseInt(c.Query("taskId"), 10, 64)
// if err != nil {
// ctx.Err = e.ErrInvalidParam.AddDesc("invalid taskId")
// return
// }
//
// resp, err := workflow.GetArtifactFileContent(c.Param("pipelineName"), taskID, notHistoryFileFlag, ctx.Logger)
// if err != nil {
// ctx.Err = err
// return
// }
// if notHistoryFileFlag {
// c.Writer.Header().Set("Content-Disposition", fmt.Sprintf(`attachment; filename="%s"`, setting.ArtifactResultOut))
// } else {
// c.Writer.Header().Set("Content-Disposition", `attachment; filename="artifact.tar.gz"`)
// resp, pkgFile, err := workflow.GePackageFileContent(pipelineName, taskID, ctx.Logger)
// if err != nil {
// ctx.Err = err
// return
// }
// c.Writer.Header().Set("Content-Disposition", fmt.Sprintf(`attachment; filename="%s"`, pkgFile))
// c.Data(200, "application/octet-stream", resp)
// }
//
// c.Data(200, "application/octet-stream", resp)
//}
func
GetArtifactFile
(
c
*
gin
.
Context
)
{
ctx
:=
internalhandler
.
NewContext
(
c
)
defer
func
()
{
internalhandler
.
JSONResponse
(
c
,
ctx
)
}()
taskID
,
err
:=
strconv
.
ParseInt
(
c
.
Param
(
"taskId"
),
10
,
64
)
if
err
!=
nil
{
ctx
.
Err
=
e
.
ErrInvalidParam
.
AddDesc
(
"invalid task id"
)
return
}
notHistoryFileFlag
,
err
:=
strconv
.
ParseBool
(
c
.
DefaultQuery
(
"notHistoryFileFlag"
,
"false"
))
if
err
!=
nil
{
ctx
.
Err
=
e
.
ErrInvalidParam
.
AddDesc
(
"invalid notHistoryFileFlag"
)
return
}
resp
,
err
:=
workflow
.
GetArtifactFileContent
(
c
.
Param
(
"pipelineName"
),
taskID
,
notHistoryFileFlag
,
ctx
.
Logger
)
if
err
!=
nil
{
ctx
.
Err
=
err
return
}
if
notHistoryFileFlag
{
c
.
Writer
.
Header
()
.
Set
(
"Content-Disposition"
,
fmt
.
Sprintf
(
`attachment; filename="%s"`
,
setting
.
ArtifactResultOut
))
}
else
{
c
.
Writer
.
Header
()
.
Set
(
"Content-Disposition"
,
`attachment; filename="artifact.tar.gz"`
)
}
c
.
Data
(
200
,
"application/octet-stream"
,
resp
)
}
pkg/microservice/aslan/core/workflow/handler/router.go
浏览文件 @
aab08163
...
...
@@ -75,17 +75,17 @@ func (*Router) Inject(router *gin.RouterGroup) {
// ---------------------------------------------------------------------------------------
// Pipeline 任务管理接口
// ---------------------------------------------------------------------------------------
//
taskV2 := router.Group("v2/tasks")
//
{
// taskV2.POST("", GetProductNameByPipelineTask, CreatePipelineTask)
// taskV2.GET("/max/:max/start/:start/pipelines/:name", ListPipelineTasksResult)
// taskV2.GET("/id/:id/pipelines/:name", GetPipelineTask)
// taskV2.POST("/id/:id/pipelines/:name/restart", GetProductNameByPipeline, RestartPipelineTask)
// taskV2.DELETE("/id/:id/pipelines/:name", GetProductNameByPipeline, CancelTaskV2)
// taskV2.GET("/pipelines/:name/products", ListPipelineUpdatableProductNames)
// taskV2.GET("/file", GetPackageFile)
//
taskV2.GET("/workflow/:pipelineName/taskId/:taskId", GetArtifactFile)
//
}
taskV2
:=
router
.
Group
(
"v2/tasks"
)
{
// taskV2.POST("", GetProductNameByPipelineTask, CreatePipelineTask)
// taskV2.GET("/max/:max/start/:start/pipelines/:name", ListPipelineTasksResult)
// taskV2.GET("/id/:id/pipelines/:name", GetPipelineTask)
// taskV2.POST("/id/:id/pipelines/:name/restart", GetProductNameByPipeline, RestartPipelineTask)
// taskV2.DELETE("/id/:id/pipelines/:name", GetProductNameByPipeline, CancelTaskV2)
// taskV2.GET("/pipelines/:name/products", ListPipelineUpdatableProductNames)
// taskV2.GET("/file", GetPackageFile)
taskV2
.
GET
(
"/workflow/:pipelineName/taskId/:taskId"
,
GetArtifactFile
)
}
// ---------------------------------------------------------------------------------------
// Pipeline Favorite 接口
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录