@@ -252,7 +252,7 @@ func (d dashImpl) dealDataIntoFeatureDetail(
252
252
}
253
253
254
254
var (
255
- _milestoneOverviewTblHeader = []string {"🏝Project🏖 " , "🎠MergeRequests🏕 " }
255
+ _milestoneOverviewTblHeader = []string {"🏝Project" , "MR#Action" , "🏕MR#WebURL " }
256
256
)
257
257
258
258
func (d dashImpl ) MilestoneOverview (milestoneName , branchFilter string ) ([]byte , error ) {
@@ -266,24 +266,25 @@ func (d dashImpl) MilestoneOverview(milestoneName, branchFilter string) ([]byte,
266
266
if milestoneName == "" {
267
267
// get milestoneName from feature branchName
268
268
// query milestone name automatically when no milestone name provided.
269
- // TODO(@yeqown): optimize this logic, using repo method.
270
269
featureBranchName , _ := d .gitOperator .CurrentBranch ()
271
270
featureBranchName = genFeatureBranchName (featureBranchName )
272
- branch , err := d .repo .QueryBranch (& repository.BranchDO {
273
- ProjectID : d .ctx .Project .ID ,
274
- BranchName : featureBranchName ,
275
- })
276
- if err == nil && branch != nil {
277
- milestone , _ := d .repo .QueryMilestone (& repository.MilestoneDO {MilestoneID : branch .MilestoneID })
278
- if milestone != nil {
279
- milestoneName = milestone .Title
280
- }
271
+ // DONE(@yeqown): optimize this logic, using repo method.
272
+ milestone , err := d .repo .QueryMilestoneByBranchName (d .ctx .Project .ID , featureBranchName )
273
+ if milestone != nil {
274
+ milestoneName = milestone .Title
281
275
}
276
+
282
277
log .
283
278
WithFields (log.Fields {
284
279
"featureBranchName" : featureBranchName ,
280
+ "error" : err ,
285
281
}).
286
- Debugf ("could not locate branch of current branch: %v" , err )
282
+ Debugf ("locate milestone of current branch" )
283
+ }
284
+
285
+ if milestoneName == "" {
286
+ return nil , errors .New ("you must specify a milestone name or " +
287
+ "sure you are using a branch which could get milestone" )
287
288
}
288
289
289
290
// query milestone by name (milestone-project), so there are many.
@@ -330,16 +331,26 @@ func (d dashImpl) MilestoneOverview(milestoneName, branchFilter string) ([]byte,
330
331
Warnf ("could not locate project merge request: %v" , err )
331
332
}
332
333
333
- uris := make ([] string , 0 , len ( mrs ))
334
+ // insert all merge requests of current project into tblData
334
335
for _ , mr := range mrs {
335
- uris = append (uris , fmt .Sprintf ("%s➡️%s 🧲%s" , mr .SourceBranch , mr .TargetBranch , mr .WebURL ))
336
+ tblData = append (tblData , []string {
337
+ project .ProjectName ,
338
+ fmt .Sprintf ("%s => %s" , mr .SourceBranch , mr .TargetBranch ),
339
+ mr .WebURL ,
340
+ })
336
341
}
337
- tblData = append (tblData , []string {project .ProjectName , strings .Join (uris , "\n " )})
338
342
}
339
343
340
344
buf := bytes .NewBuffer (nil )
341
345
w := tablewriter .NewWriter (buf )
342
346
w .SetHeader (_milestoneOverviewTblHeader )
347
+ w .SetColumnColor (
348
+ tablewriter.Colors {tablewriter .Bold , tablewriter .FgGreenColor },
349
+ tablewriter.Colors {},
350
+ tablewriter.Colors {},
351
+ )
352
+ w .SetRowLine (true )
353
+ w .SetAutoMergeCells (true )
343
354
w .AppendBulk (tblData )
344
355
w .Render ()
345
356
0 commit comments