如何通过Comala API获取审批人姓名及审批Confluence页面的用户
嘿,我来帮你搞定这两个关于Comala API获取审批用户的问题,结合你给出的命令和响应示例,具体操作如下:
1. 审批阶段完成后,通过Comala API获取审批人姓名
当审批阶段结束后,你可以直接调用你提供的GET请求来获取审批相关信息,步骤如下:
- 执行格式化后的curl命令(记得替换占位符为实际值):
curl -k -X GET -u <你的用户名> -H 'Content-Type: application/json' -H 'Accept: application/json' http://<你的Confluence地址>/rest/cw/1/content/<页面ID>/status?expand=state,states,approvals,actions,tasks | python -mjson.tool
- 在返回的JSON响应里,找到
approvals数组——这里面包含了所有已完成的审批记录。每个审批条目里的user对象会包含审批人的姓名和账号信息,比如:
{
"approvals": [
{
"user": {
"displayName": "张三",
"username": "zhangsan"
},
"approvalType": "approve",
"date": "2024-05-20T10:00:00Z"
}
]
}
你只需要提取user.displayName字段,就能拿到审批人的姓名了。
2. 使用Comala Rest API获取通过Simple Comala Workflow审批Confluence页面的用户
要获取已经通过审批的用户,同样基于上面的API请求,重点关注两个关键点:
- 确认页面状态:先检查响应里的
state字段,确认页面处于已批准状态(比如name为"Approved",具体名称取决于你的Workflow配置)。 - 筛选审批记录:在
approvals数组里,筛选出approvalType为approve的条目,对应的user对象就是完成审批通过操作的用户。
如果是在分配审批用户后但还未完成审批的阶段,你可以从响应的actions -> involvedUsers数组里找到被分配的审批人,但这部分是待审批的用户,不是已经完成审批的。
额外注意事项
- 命令里的
-k参数是忽略SSL证书验证,生产环境建议移除这个参数,并确保Confluence的SSL证书配置正确。 python -mjson.tool是用来格式化JSON响应方便阅读的,你也可以用jq等其他JSON处理工具来更高效地提取字段,比如用jq '.approvals[]?.user.displayName'直接输出审批人姓名。
内容的提问来源于stack exchange,提问作者minzey
相关产品推荐
相关产品推荐

