You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 02:32:49