🚧 JobsArtifacts 作业产物 API

This commit is contained in:
徐晓伟 2023-10-05 01:16:43 +08:00
parent a9e01dbfdf
commit eb81cd4ca3
3 changed files with 74 additions and 0 deletions

View File

@ -3,8 +3,10 @@ package constant
const (
Token = "token"
BaseUrl = "baseUrl"
Request = "request"
BaseUrlDefault = "https://gitlab.com/api/v4"
Id = "id"
JobId = "jobId"
Sort = "sort"
SortDefault = "desc"
)

View File

@ -0,0 +1,70 @@
package job_artifacts
import (
"fmt"
"github.com/urfave/cli/v2"
"github.com/xanzy/go-gitlab"
"github.com/xuxiaowei-com-cn/gitlab-go/constant"
)
// JobsArtifacts 作业产物 API https://docs.gitlab.cn/jh/api/job_artifacts.html
func JobsArtifacts() *cli.Command {
return &cli.Command{
Name: "job-artifacts",
Aliases: []string{"ja"},
Usage: "作业产物 API中文文档https://docs.gitlab.cn/jh/api/job_artifacts.html",
Action: func(context *cli.Context) error {
var baseUrl = context.String(constant.BaseUrl)
if baseUrl == "" {
baseUrl = constant.BaseUrlDefault
}
var token = context.String(constant.Token)
var id = context.String(constant.Id)
var jobId = context.Int(constant.JobId)
gitClient, err := gitlab.NewClient(token, gitlab.WithBaseURL(baseUrl))
if err != nil {
return err
}
fmt.Printf("Delete JobId: %d Artifacts\n", jobId)
response, err := gitClient.Jobs.DeleteArtifacts(id, jobId)
fmt.Printf("Response StatusCode: %d\n", response.Response.StatusCode)
if err != nil {
return err
}
return nil
},
Flags: []cli.Flag{
&cli.StringFlag{
Name: constant.BaseUrl,
EnvVars: []string{"CI_API_V4_URL"},
Usage: "实例地址例如https://gitlab.xuxiaowei.com.cn/api/v4",
},
&cli.StringFlag{
Name: constant.Token,
Usage: "your_access_token",
},
&cli.StringFlag{
Name: constant.Request,
Usage: "请求方式",
},
&cli.StringFlag{
Name: constant.Sort,
Value: constant.SortDefault,
//Usage: "按照 asc 或者 desc默认desc对流水线排序",
},
&cli.StringFlag{
Name: constant.Id,
Usage: "项目 ID 或 URL 编码的路径",
Required: true,
},
&cli.StringFlag{
Name: constant.JobId,
Usage: "作业 ID",
Required: true,
},
},
}
}

View File

@ -3,6 +3,7 @@ package main
import (
"fmt"
"github.com/xuxiaowei-com-cn/git-go/buildinfo"
"github.com/xuxiaowei-com-cn/gitlab-go/job_artifacts"
"github.com/xuxiaowei-com-cn/gitlab-go/jobs"
"github.com/xuxiaowei-com-cn/gitlab-go/pipelines"
"github.com/xuxiaowei-com-cn/gitlab-go/projects"
@ -57,6 +58,7 @@ func main() {
projects.Projects(),
pipelines.Pipelines(),
jobs.Jobs(),
job_artifacts.JobsArtifacts(),
},
}