一个简单的框架/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应该考虑使用DTO来代替Spring控制器层吗?   java为什么要将Maven与Git结合起来?   java试图将CSV转换为XLSX,但使用了错误的逗号拆分列   mysql Spring 3+Hibernate:java。sql。BatchUpdateException:无法添加或更新子行(ManyToMany)   java基本字符串反转器   java无法使用RestControllerAdvice为身份验证失败生成自定义错误消息   java当只允许SQLException时,如何抛出EOFEException?   java如何创建播放模块?   Android中匿名类的java实例化异常问题   java两个停靠组件,其中第二个组件填充剩余空间   java如何在按钮延迟时启用它   Java中正在运行的应用程序中的后台进程   java我正试图从一个字符串打印出这个字符输出   如何使用java socket通过两个不同的wifi连接两台电脑?   javaapachecamel:如何将分层数据从数据库转换为pojo   java Webrtc:OniconConnectionChange和onConnectionChange之间有什么区别   java如何重写已经创建的JTable方法   爪哇扫雷机堆垛机   雅加达ee Java ee EJB 3.0 Glassfish