如何添加多行评论去gerrit审查?

how to add a multiline comment go gerrit review?

我正在尝试使用以下代码添加多行注释,但失败并出现如下所示的错误,是否有关于如何修复它的指导?

message = """PLEASE RESOLVE MERGE CONFLICTS
             WHAT DO I HAVE TO DO IN CASE OF MERGE CONFLICTS:
             htts://confluence.sd.company.com/display/WFI/AUTO+CHERRY-PICK
             """.replace("\n","\n\n")
code_review_minus_two_cmd = "ssh -p 29418 tech-gerrit.sd.company.com gerrit review %s --label Code-Review=-2 --message '%s'"%(propagated_gerrit_commit,message)
code_review_minus_two_cmd_output,code_review_minus_two_cmd_error = runCmd(code_review_minus_two_cmd)

错误:-

fatal: "RESOLVE" is not a valid patch set

似乎与此有关bug

我可以通过查看票证解决问题的方法是:

  1. 使用 -m 而不是 --message
  2. 在消息周围添加双引号

错误评论中的样本 link:

ssh -p 29418 review.example.com gerrit review -m '"Build Successful"'

希望这里有用。我没有 gerrit 帐户来测试自己。

"message" 定义中的双引号 (""") 似乎没有按预期工作。Gerrit 正在接收这样的参数:--message PLEASE RESOLVE MERGE... 所以假设"PLEASE" 是消息,"RESOLVE" 是 gerrit review page at the Gerrit documentation.

中定义的下一个参数(补丁集)

尝试使用反斜杠来转义双引号,如下所示:

消息=“\"PLEASE RESOLVE MERGE...\"”

您可以使用 json 格式的消息。最简单的方法是创建一个包含以下内容的文件:

{
  "labels": {
    "Code-Review": "-2"
  }, 
  "message": "PLEASE RESOLVE MERGE CONFLICTS\nWHAT DO I HAVE TO DO IN CASE OF MERGE CONFLICTS:\nhttps://confluence.sd.company.com/display/WFI/AUTO+CHERRY-PICK"
}

然后 运行 这个 ssh 命令:

cat filename.json | ssh -p 29418 review.example.com gerrit review --json

以下示例适用于 bash。

ssh -p 29418 review.example.com gerrit review -m $'"First line\nSecond line etc."' CHANGE_ID,PATCHSET_ID/COMMIT_SHA