链接到python-gerrit-api包的文档:
https://python-gerrit-api.readthedocs.io/en/latest/gerrit.changes.html?highlight=get_edit gerrit.changes.change.GerritChange.set_commit_message
代码:
input_ = {message": "New Commit message nnChange-Id: xxxxxxxxxn"}
change = gerrit.changes.get('xxxxxxxxx')
result = change.set_commit_message(input_)
错误:
我得到"gerrit.utils.exceptions。客户端错误:Not Found"当我尝试使用上面的包设置提交消息时,出现错误。
这与您在另一个问题中提出的问题相同。如果您有一个子父项目,它将尝试以父/子而不是父%2Fchild的方式访问该项目。这将导致错误404
修复参见pull request。参见:https://github.com/shijl0925/python-gerrit-api/pull/5
一个父子关系的例子是gerrit上的代码所有者插件。插件库不包含任何代码,它更像是一个包含子库的文件夹,这些子库通常会继承父库的访问权限。如果你看一下下面的url,你可以看到url使用了%2F而不是正斜杠。这就是在gerrit-python-api
中不起作用的地方。https://gerrit-review.googlesource.com/q/project插件% 252 fcode-owners +状态:打开
这个例子适用于我上面的拉请求
input_ = {"message" : "New commit messagennChange-Id: I46554af336396ecb57d0c270c114a686439b5a66n"}
c1 = gerrit.changes.get("12321")
print (c1)
c1.set_commit_message(input_)