一个简单的框架/cli工具,用于设置和同步(webex团队)api webhook

webhooksimple的Python项目详细描述


webhooksimple

https://img.shields.io/pypi/v/webhooksimple.svghttps://img.shields.io/travis/squ4rks/webhooksimple.svgDocumentation StatusUpdates

一个简单的框架/cli工具,用于设置和同步(webex团队)api webhook

功能

  • 从yaml文件中创建、更新和删除(webex团队)webhook
  • 模块化体系结构使它也适用于其他api

如何使用

webhooksimple是一个简单的(开源的)python框架/命令行工具,它允许您快速描述所需的webex团队web钩子,然后为您创建或同步它们。

webhooksimple需要您提供两个文件。vars.ymlhooks.yml

vars.yml指定不同的变量,而hooks.yml允许指定web钩子本身。

web钩子总是这样(inhooks.yml

---hooks:-name:test hook 1resource:"messages"event:"created"target_url:"https://your_url_here"

确保web钩子的name始终是唯一的,因为这是webhooksimple用来标识和同步web钩子的功能。您的::vars.yml::必须包含一个适配器,该适配器指定我们正在与之交互的api类型以及身份验证详细信息。暂时将其留给提供的parser.WebexTeamsWebhookManager,并在正确的位置添加访问令牌。

vars.yml

# vars file. The adapter section **needs** to be hereadapter:name:WebexTeamsWebhookManagerauthentication:access_token:your access token hereparameters:# Add your variables from here onurls:-https://www.cisco.com-https://www.google.com

您现在可以setuppurgelistexportsync您的webhook。

  • setup删除此bot当前存在的所有webhook,并基于hooks.yml文件创建新的webhooks。
  • {TT7}$将基于^ {Tt1}$属性更新所有现有Web挂钩,并创建那些不存在的Web挂钩。它将删除在服务器上注册的webhook。
  • purge将删除所有webhook而不创建新的webhook
  • list将列出当前注册的所有webhook
  • export将把所有当前活动的webhook保存到一个.yml文件中

通过运行调用模块

$ ls
hooks.yml vars.yml
$ python3 -m webhooksimple setup

更进一步

从命令行和基于配置文件设置web钩子已经非常酷和方便了。但是如果我们有十个webhook,需要更新所有这些web hook的目标url怎么办?我们必须手动编辑::hooks.yml::中的所有web钩子条目。这就是::vars.yml::文件发挥作用的地方。:hooks.yml::不是一个简单的配置文件,而是配置文件的Jinja2模板。您可以这样做:

vars.yml

---# Note: Adapter part (see above) omited for bravityurl_prefix:https://my_url_base

hooks.yml

---hooks:-name:test hook 1resource:"messages"event:"created"target_url:"https://{{url_prefix}}/messages"

但这并不是全部。以前和Jinja2合作过的人可能已经知道接下来会发生什么。您也可以在这里添加一些(生成器)逻辑。假设我们要创建web钩子的调试和生产版本。我们可以执行以下操作:

vars.yml

---# Note: Adapter part (see above) omited for bravityenvs:-name:productionurl:https://my_production_prefix-name:developmenturl:https://my_development_prefix

hooks.yml

---hooks:{%for env in envs %}-name:{{env.name}}message hookresource:"message"event:"created"target_url:{{env.url}}/messages{%endfor %}

或者您想为不同的url设置相同的web钩子。这看起来像这样

vars.yml

---# Note: Adapter part (see above) omited for bravityurls:-https://url_number_1-https://url_number_2-https://url_number_3

hooks.yml

---hooks:{%for url in urls %}-name:"hookfor{{url}}"resource:"message"event:"created"target_url:{{url}}{%endfor %}

编程愉快!您可以通过运行获得webhooksimple

$ pip3 install webhooksimple

你有问题还是发现了虫子?你可以在twitter上打给我。

学分

这个包是用Cookiecutteraudreyr/cookiecutter-pypackage项目模板创建的。

历史记录

0.1.0(2019-07-12)

  • pypi上的第一个版本。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java搜索文本中的字符串模式   SecurityManager引发异常的java Mockito模拟   java(仅限Netbeans)未找到适合jdbc的驱动程序:mysql://localhost   java计算给定字符串所有前缀的哈希值的子字符串的哈希值   java如何避免每次访问REST认证API以使用实际服务   用于HTML的java Jsoup选择器组合   可以复制或引用的java构造函数   Java中的HashMap。搞砸containsKey返回意外值   java数组平均值计算   java是检查字符串是否包含特定字符的最有效方法   java反序列化对象类已更改   java典型的EJB3/JPA/JSF中的事务范围是什么?   Install4j的java错误代码20   java:compileJava在本地项目()依赖项上的多模块项目上持续失败“错误:包x.y.z不存在”   java有一种生成Suppression的方法。现有代码库中checkstyle的xml文件?