如何通过pdpyras库获取所有PagerDuty事件备注?
用pdpyras获取PagerDuty事件备注的解决方案
你调用session.iter_all('incidents')只能拿到事件的基础信息,这是因为PagerDuty API默认不会返回关联的备注数据,得单独调用备注接口来获取。用pdpyras实现的具体方法如下:
具体实现步骤
遍历事件时,通过事件ID单独请求备注接口
每个事件都有唯一的id字段,用它构造备注的API路径,再用session.iter_all获取该事件的所有备注。示例代码:from pdpyras import APISession api_token = 'MY_TOKEN' session = APISession(api_token) # 遍历所有事件并获取对应备注 for incident in session.iter_all('incidents'): incident_id = incident['id'] # 请求当前事件的备注列表 notes = session.iter_all(f'incidents/{incident_id}/notes') print(f"事件{incident_id}的备注:") for note in notes: print(f"作者:{note['user']['summary']} | 内容:{note['content']}")为什么之前看不到备注?
PagerDuty的incidents端点仅返回事件的核心元数据(如状态、标题、创建时间),备注属于事件的关联资源,必须通过专门的incidents/{incident_id}/notes端点获取,这是API的设计逻辑,和你调用session.iter_all的参数无关,只是需要多一步请求。若仅需获取单个特定事件的备注
直接指定事件ID调用即可:target_incident_id = '你的事件ID' notes = list(session.iter_all(f'incidents/{target_incident_id}/notes')) print(notes)
内容的提问来源于stack exchange,提问作者lollerskates
相关产品推荐
相关产品推荐

