@@ -45,7 +45,14 @@ public WebHookController(IDingTalkService dingTalkService, ILogger<WebHookContro
4545 "abandoned" => "已放弃" ,
4646 _ => status ,
4747 } ;
48-
48+ public string ReviewStatus ( int vote ) => vote switch
49+ {
50+ - 10 => " [拒绝]" ,
51+ - 5 => " [无聊]" ,
52+ 5 => " [会议]" ,
53+ 10 => " [OK]" ,
54+ _ => ""
55+ } ;
4956 /// <summary>
5057 /// 拉取请求
5158 /// </summary>
@@ -59,24 +66,35 @@ public async Task<IActionResult> RequestUpdated([FromBody] WebHooksRequestPullRe
5966 string repository = request . Resource . Repository . Name ;
6067
6168 StringBuilder stringBuilder = new ( ) ;
62- stringBuilder . AppendLine ( $ "#### [#{ request . Resource . CodeReviewId } { createdBy } { request . Resource . SourceRefName . Replace ( "refs/heads/" , "" ) } 到 { request . Resource . TargetRefName . Replace ( "refs/heads/" , "" ) } 分支的拉取请求 ]({ html } )") ;
69+ stringBuilder . AppendLine ( $ "#### [#{ request . Resource . CodeReviewId } { repository } 产生了 { request . Resource . SourceRefName . Replace ( "refs/heads/" , "" ) } 到 { request . Resource . TargetRefName . Replace ( "refs/heads/" , "" ) } 的拉取请求 ]({ html } )") ;
6370 stringBuilder . AppendLine ( ) ;
6471 stringBuilder . AppendLine ( "---" ) ;
6572 stringBuilder . AppendLine ( $ "> 仓储: { repository } ") ;
6673 stringBuilder . AppendLine ( "> " ) ;
74+ stringBuilder . AppendLine ( $ "> 创建: @{ createdBy } ") ;
75+ stringBuilder . AppendLine ( "> " ) ;
6776 stringBuilder . AppendLine ( $ "> 合并: { request . Resource . SourceRefName . Replace ( "refs/heads/" , "" ) } 到 { request . Resource . TargetRefName . Replace ( "refs/heads/" , "" ) } { ( request . Resource . MergeStatus == "conflicts" ? "[打叉]合并冲突" : "" ) } ") ;
6877 stringBuilder . AppendLine ( "> " ) ;
6978
7079
7180 //request.Resource.Status->completed,active,abandoned
7281 stringBuilder . AppendLine ( $ "> 状态: { RequestUpdatedStatus ( request . Resource . Status ) } ") ;
7382 stringBuilder . AppendLine ( "> " ) ;
74-
75- var reviews = request . Resource . Reviewers ? . Select ( t => $ "@{ t . displayName } ") . ToList ( ) ?? new List < string > ( ) ;
76- if ( reviews . Any ( ) )
83+ if ( request . Resource . Reviewers . Any ( ) )
7784 {
78- stringBuilder . AppendLine ( $ "> 审阅: { string . Join ( ' ' , reviews ) } ") ;
79- stringBuilder . AppendLine ( "> " ) ;
85+ stringBuilder . AppendLine ( "---" ) ;
86+ var requiredreviews = request . Resource . Reviewers ? . Where ( t => t . IsRequired == true ) ? . Select ( t => $ "@{ t . DisplayName } { ReviewStatus ( t . Vote ) } ") . ToList ( ) ?? new List < string > ( ) ;
87+ if ( requiredreviews . Any ( ) )
88+ {
89+ stringBuilder . AppendLine ( $ "> 审阅-必须: { string . Join ( " 、" , requiredreviews ) } ") ;
90+ stringBuilder . AppendLine ( "> " ) ;
91+ }
92+ var reviews = request . Resource . Reviewers ? . Where ( t => t . IsRequired != true ) ? . Select ( t => $ "@{ t . DisplayName } { ReviewStatus ( t . Vote ) } ") . ToList ( ) ?? new List < string > ( ) ;
93+ if ( reviews . Any ( ) )
94+ {
95+ stringBuilder . AppendLine ( $ "> 审阅-可选: { string . Join ( " 、" , reviews ) } ") ;
96+ stringBuilder . AppendLine ( "> " ) ;
97+ }
8098 }
8199 stringBuilder . AppendLine ( "---" ) ;
82100 stringBuilder . AppendLine ( ) ;
0 commit comments