Skip to content

Commit cd177ac

Browse files
author
欧俊
committed
格式调整
1 parent 632efcd commit cd177ac

3 files changed

Lines changed: 30 additions & 11 deletions

File tree

src/azure.devops.notify.dingtalk.robots/AzureDevOps/PullRequestCreatedResource.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ public class PullRequestCreatedResource : Resource
1919
public Commit LastMergeSourceCommit { get; set; }
2020
public Commit LastMergeTargetCommit { get; set; }
2121
public Commit LastMergeCommit { get; set; }
22-
public List<Reviewer> Reviewers { get; set; }
22+
public List<Reviewer> Reviewers { get; set; } = new List<Reviewer>();
2323
public List<Commit> Commits { get; set; }
2424
public string Url { get; set; }
2525
[JsonProperty("_links")]

src/azure.devops.notify.dingtalk.robots/AzureDevOps/Reviewer.cs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,11 @@
22
{
33
public class Reviewer
44
{
5-
public string reviewerUrl { get; set; }
6-
public int vote { get; set; }
7-
public string displayName { get; set; }
5+
public string ReviewerUrl { get; set; }
6+
public int Vote { get; set; }
7+
public string DisplayName { get; set; }
88
public string Url { get; set; }
9+
public bool? IsRequired { get; set; }
910

1011
}
1112
}

src/azure.devops.notify.dingtalk.robots/Controllers/WebHookController.cs

Lines changed: 25 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)