Skip to content

Commit 32d9ed1

Browse files
add header info in api run-log (#1006)
Co-authored-by: jackyu <jackyu@yunify.com>
1 parent fb7ac29 commit 32d9ed1

8 files changed

Lines changed: 23 additions & 18 deletions

File tree

pkg/client/devops/fake/fakedevops.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -198,8 +198,8 @@ func (d *Devops) DownloadArtifact(projectName, pipelineName, runId, filename str
198198
return nil, nil
199199
}
200200

201-
func (d *Devops) GetRunLog(projectName, pipelineName, runId string, httpParameters *devops.HttpParameters) ([]byte, error) {
202-
return nil, nil
201+
func (d *Devops) GetRunLog(projectName, pipelineName, runId string, httpParameters *devops.HttpParameters) ([]byte, http.Header, error) {
202+
return nil, nil, nil
203203
}
204204
func (d *Devops) GetStepLog(projectName, pipelineName, runId, nodeId, stepId string, httpParameters *devops.HttpParameters) ([]byte, http.Header, error) {
205205
return nil, nil, nil

pkg/client/devops/fake/fakedevops_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -193,8 +193,8 @@ func TestNotImplement(t *testing.T) {
193193
assertNils(t, o1, o2)
194194
o1, o2 = client.DownloadArtifact("", "", "", "", false, "")
195195
assertNils(t, o1, o2)
196-
o1, o2 = client.GetRunLog("", "", "", nil)
197-
assertNils(t, o1, o2)
196+
o1, o2, o3 = client.GetRunLog("", "", "", nil)
197+
assertNils(t, o1, o2, o3)
198198
o1, o2, o3 = client.GetStepLog("", "", "", "", "", nil)
199199
assertNils(t, o1, o2, o3)
200200
o1, o2 = client.RunPipeline("", "", nil)

pkg/client/devops/jclient/pipeline.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ func (j *JenkinsClient) DownloadArtifact(projectName, pipelineName, runID, filen
8181
}
8282

8383
// GetRunLog returns the log output of a pipeline run
84-
func (j *JenkinsClient) GetRunLog(projectName, pipelineName, runID string, httpParameters *devops.HttpParameters) ([]byte, error) {
84+
func (j *JenkinsClient) GetRunLog(projectName, pipelineName, runID string, httpParameters *devops.HttpParameters) ([]byte, http.Header, error) {
8585
return j.jenkins.GetRunLog(projectName, pipelineName, runID, httpParameters)
8686
}
8787

pkg/client/devops/jenkins/jenkins.go

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -308,14 +308,13 @@ func (j *Jenkins) GetArtifacts(projectName, pipelineName, runId string, httpPara
308308
return res, err
309309
}
310310

311-
func (j *Jenkins) GetRunLog(projectName, pipelineName, runId string, httpParameters *devops.HttpParameters) ([]byte, error) {
311+
func (j *Jenkins) GetRunLog(projectName, pipelineName, runId string, httpParameters *devops.HttpParameters) ([]byte, http.Header, error) {
312312
PipelineOjb := &Pipeline{
313313
HttpParameters: httpParameters,
314314
Jenkins: j,
315315
Path: fmt.Sprintf(GetRunLogUrl+httpParameters.Url.RawQuery, projectName, pipelineName, runId),
316316
}
317-
res, err := PipelineOjb.GetRunLog()
318-
return res, err
317+
return PipelineOjb.GetRunLog()
319318
}
320319

321320
func (j *Jenkins) GetStepLog(projectName, pipelineName, runId, nodeId, stepId string, httpParameters *devops.HttpParameters) ([]byte, http.Header, error) {

pkg/client/devops/jenkins/pipeline.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -374,13 +374,13 @@ func (p *Pipeline) GetArtifacts() ([]devops.Artifacts, error) {
374374
return artifacts, err
375375
}
376376

377-
func (p *Pipeline) GetRunLog() ([]byte, error) {
378-
res, err := p.Jenkins.SendPureRequest(p.Path, p.HttpParameters)
377+
func (p *Pipeline) GetRunLog() ([]byte, http.Header, error) {
378+
res, header, err := p.Jenkins.SendPureRequestWithHeaderResp(p.Path, p.HttpParameters)
379379
if err != nil {
380380
klog.Error(err)
381381
}
382382

383-
return res, err
383+
return res, header, err
384384
}
385385

386386
func (p *Pipeline) GetStepLog() ([]byte, http.Header, error) {

pkg/client/devops/pipeline.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1137,7 +1137,7 @@ type PipelineOperator interface {
11371137
RunPipeline(projectName, pipelineName string, httpParameters *HttpParameters) (*RunPipeline, error)
11381138
GetArtifacts(projectName, pipelineName, runId string, httpParameters *HttpParameters) ([]Artifacts, error)
11391139
DownloadArtifact(projectName, pipelineName, runId, filename string, isMultiBranch bool, branchName string) (io.ReadCloser, error)
1140-
GetRunLog(projectName, pipelineName, runId string, httpParameters *HttpParameters) ([]byte, error)
1140+
GetRunLog(projectName, pipelineName, runId string, httpParameters *HttpParameters) ([]byte, http.Header, error)
11411141
GetStepLog(projectName, pipelineName, runId, nodeId, stepId string, httpParameters *HttpParameters) ([]byte, http.Header, error)
11421142
GetNodeSteps(projectName, pipelineName, runId, nodeId string, httpParameters *HttpParameters) ([]NodeSteps, error)
11431143
GetPipelineRunNodes(projectName, pipelineName, runId string, httpParameters *HttpParameters) ([]PipelineRunNodes, error)

pkg/kapis/devops/v1alpha2/devops.go

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -278,12 +278,18 @@ func (h *ProjectPipelineHandler) GetRunLog(req *restful.Request, resp *restful.R
278278
pipelineName := req.PathParameter("pipeline")
279279
runId := req.PathParameter("run")
280280

281-
res, err := h.devopsOperator.GetRunLog(projectName, pipelineName, runId, req.Request)
281+
res, header, err := h.devopsOperator.GetRunLog(projectName, pipelineName, runId, req.Request)
282282
if err != nil {
283283
parseErr(err, resp)
284284
return
285285
}
286286

287+
for k, v := range header {
288+
if strings.HasPrefix(k, jenkinsHeaderPre) {
289+
resp.AddHeader(k, v[0])
290+
}
291+
}
292+
287293
resp.Write(res)
288294
}
289295

pkg/models/devops/devops.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ type DevopsOperator interface {
8383
ReplayPipeline(projectName, pipelineName, runId string, req *http.Request) (*devops.ReplayPipeline, error)
8484
RunPipeline(projectName, pipelineName string, req *http.Request) (*devops.RunPipeline, error)
8585
GetArtifacts(projectName, pipelineName, runId string, req *http.Request) ([]devops.Artifacts, error)
86-
GetRunLog(projectName, pipelineName, runId string, req *http.Request) ([]byte, error)
86+
GetRunLog(projectName, pipelineName, runId string, req *http.Request) ([]byte, http.Header, error)
8787
GetStepLog(projectName, pipelineName, runId, nodeId, stepId string, req *http.Request) ([]byte, http.Header, error)
8888
GetNodeSteps(projectName, pipelineName, runId, nodeId string, req *http.Request) ([]devops.NodeSteps, error)
8989
GetPipelineRunNodes(projectName, pipelineName, runId string, req *http.Request) ([]devops.PipelineRunNodes, error)
@@ -550,15 +550,15 @@ func (d devopsOperator) GetArtifacts(projectName, pipelineName, runId string, re
550550
return res, err
551551
}
552552

553-
func (d devopsOperator) GetRunLog(projectName, pipelineName, runId string, req *http.Request) ([]byte, error) {
553+
func (d devopsOperator) GetRunLog(projectName, pipelineName, runId string, req *http.Request) ([]byte, http.Header, error) {
554554

555-
res, err := d.devopsClient.GetRunLog(projectName, pipelineName, runId, convertToHttpParameters(req))
555+
res, header, err := d.devopsClient.GetRunLog(projectName, pipelineName, runId, convertToHttpParameters(req))
556556
if err != nil {
557557
klog.Error(err)
558-
return nil, err
558+
return nil, nil, err
559559
}
560560

561-
return res, err
561+
return res, header, err
562562
}
563563

564564
func (d devopsOperator) GetStepLog(projectName, pipelineName, runId, nodeId, stepId string, req *http.Request) ([]byte, http.Header, error) {

0 commit comments

Comments
 (0)