Snow JSON API访问
pyfnalsnow的Python项目详细描述
Pyfnalsnow
此模块提供了与之交互的python库和脚本 Service Now。这是为了配合 Snow(fnal)的一个特定实例,但是这些脚本和库将 可能与其他网站合作,因此值得分享。
脚本
创建:雪地事件创建,雪地RITM创建
恭敬地创建事件和请求/请求项。这些工作 直接使用rest api。
阅读:雪事件列表、雪RITM列表、雪TKT、雪TKT列表
搜索和列出事件和请求项的脚本。 雪地tkt列表调用两者。
Snow TKT会取一张票的名字并在上面打印有关该票的信息 标准输出。
更新:许多脚本
他们中的大多数人都是照他们在罐头上说的做的:
- Snow TKT Assign-将票证分配给用户和/或组
- Snow TKT日志-记录日志条目或对票据的注释
- Snow TKT Pending-将票证设置为状态Pending(主要用于RITM)
- Snow Tkt Resolve-解决问题
- Snow TKT Unassign-将票分配回服务台
删除:没有这样的东西
数据通常不会从雪地上移除,至少不会被用户移除。
库
pyfnalsnow
创建并缓存与Snow的连接;缓存搜索;提供
各种脚本所依赖的crud接口;为
用户/组搜索;抽象出各种票据类型(事件,
请求、任务、请求项等);并与中心
配置文件(/etc/snow/config.yaml
),以便我们可以抽象
远离用户的服务器/身份验证数据。
Pyfnalsnow.票
这主要为
子表(例如Incident
):打印函数,映射某些函数
字段名等。
Pyfnalsnow.incident,Pyfnalsnow.request,Pyfnalsnow.ritm
必须为每个表定制的函数存储在这里;例如, ritms必须多次更改状态才能进入挂起或已解决状态 国家
要求
此脚本需要pysnow。我会的 可能只是直接更新,除了我不知道 我们在本地所做的更改不适用于“默认”实例。
要在RHEL6和现代的pysnow
上实现这一点,您可能需要
安装oauthlib 2.0.7:pip install oauthlib==2.0.7
。
配置文件
/etc/snow/config.yaml
看起来像:
servicenow:
username: '(USERNAME)'
url: 'https://(SITENAME).service-now.com/'
password: '(PASSWORD)'
instance: '(INSTANCE)'
ritm_template:
priority: '3'
u_categorization: 'Hardware -- Worker Node -- No Item Available'
urgency: '3'