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

如何通过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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 05:57:08