跳转到主要内容

PagerDuty的REST API的Python客户端库

项目描述

https://travis-ci.org/dropbox/pygerduty.svg?branch=master

Pygerduty

Pygerduty是为PagerDuty的v1 REST API提供的Python库。

该库目前正在发展,无法保证始终保证向后兼容性。

安装

您可以使用 pip install pygerduty 进行安装。

如果您想从源代码安装,则可以使用 python setup.py install

需求

Pygerduty针对 >= Python 2.5 进行了测试

Python2.5需要 simplejson

文档

Pygerduty是围绕PagerDuty API的一个薄层封装。您需要参考PagerDuty文档来了解所有可用的参数和响应中所有可用的属性。

资源的主要方法有列表、显示、创建、更新和删除。并非所有资源都有上述所有方法的端点。再次,请参考PagerDuty文档以查看所有可用的端点。

顶级资源将通过PagerDuty对象访问,嵌套资源将通过其父资源返回的容器中提供。

示例

实例化客户端

import pygerduty
pager = pygerduty.PagerDuty("foobar", "SOMEAPIKEY123456")

列出资源

for schedule in pager.schedules.list():
    print schedule.id, schedule.name

# PX7F8S3 Primary
# PJ48C0S Tertiary
# PCJ94SK Secondary

通过ID获取资源

schedule = pager.schedules.show("PX7F8S3")

创建资源

user = next(pager.users.list(query="gary", limit=1))
override = schedule.overrides.create(
    start="2012-12-16", end="2012-12-17", user_id=user.id)

删除资源

schedule.overrides.delete(override.id)

更新资源

pagerduty.users.update(user.id, name="Gary Example")

通过事件承认组

me = next(pager.users.list(query="me@you.com", limit=1))
for incident in pagerduty.incidents.list(status='triggered'):
    incident.acknowledge(requester_id=me.id)

由以下提供支持