如何用C#给Azure DevOps工作项评论插入换行以正确显示
Azure DevOps API 工作项评论换行解决方案
在通过Azure DevOps API更新工作项评论(System.History字段)时,普通换行符或HTML标签无法生效,因为该字段支持Markdown语法,需使用Markdown的换行规则:
- 同段落内换行:在每行末尾添加两个空格后再加换行符(
\n) - 段落分隔:使用两个连续的换行符(
\n\n)
修改后的代码示例
调整评论内容的格式化逻辑,将原换行转换为Markdown支持的格式:
private async Task<WorkItem> updateWorkItemDetails(VssConnection connection, int workItemId, string buildnumber, string comment) { // 格式化评论:将普通换行转为Markdown同段落换行(两个空格+换行) string formattedComment = comment.Replace("\n", " \n"); // 若需段落分隔,可替换为:comment.Replace("\n", "\n\n"); JsonPatchDocument patchDocument = CreateUpdatePatchDocument(buildnumber, formattedComment); WorkItemTrackingHttpClient witClient = connection.GetClient<WorkItemTrackingHttpClient>(); return await witClient.UpdateWorkItemAsync(patchDocument, workItemId); } private JsonPatchDocument CreateUpdatePatchDocument(string buildNumber, string comment) { var patchDocument = DevOpsHelper.CreateJsonPatchDocument( new JsonPatchOperation { Operation = Operation.Add, Path = "/fields/System.History", Value = comment } ); return patchDocument; }
效果验证
提交格式化后的评论后,Azure DevOps工作项评论区会正确渲染换行:
\n会在同段落内实现换行\n\n会创建独立段落,段落间自动添加空行
内容的提问来源于stack exchange,提问作者Chris Dunaway
相关产品推荐
相关产品推荐

