跳转到主要内容

Nautobot Chatpops Ansible Tower集成

项目描述

nautobot-plugin-chatops-ansible

Nautobot Chatops插件的一个插件

构建状态

分支 状态
main Build Status
develop Build Status

摘要

聊天机器人允许用户通过各种聊天平台直接与Ansible AWX/Tower进行通信。

Nautobot Chatops Ansible插件扩展了Nautobot Chatops插件的功能,为插件提供了一项新命令。这是通过在Nautobot Plugin Chatops中注册Python入口点来实现的,它为编写与Ansible交互的代码提供了功能。此插件向ansible命令引入以下子命令

  • get_dashboard
  • get_inventory
  • get_projects
  • get_job_templates
  • run_job_template
  • get_jobs

获取仪表板

仪表板命令提供了Ansible Tower/AWX状态仪表板。这提供了以下摘要

  • 塔系统上有多少个主机
  • 有多少个失败的主机(最后作业失败)
  • 总库存数量
  • 有多少个库存失败
  • 发生了多少次项目同步失败

获取库存

库存子命令提供了可用的库存及其详细信息。

获取项目

获取项目将收集Ansible Tower/AWX实例中可用的项目信息。提供的信息包括名称、描述、SCM URL和SCM分支。

获取作业模板

此功能汇总了Ansible Tower/AWX实例上定义的工作模板的信息。它将提供工作模板的名称、描述、项目以及关联的清单。

运行工作模板

收集工作模板的自然流程是执行特定的工作模板。执行不需要额外变量或调查即可完成的工作模板。执行的工作模板的作业ID将通过聊天回复提供。

获取作业

获取作业子命令将请求Tower提供最后执行的数量,默认为最后10个作业。这将提供作业的状态,包括

  • 作业ID
  • 作业名称
  • 启动作业的用户
  • 创建时间
  • 完成时间
  • 作业状态

安装

该插件作为PyPI中的Python包可用,可以使用pip进行安装

pip install git+https://github.com/nautobot/nautobot-plugin-chatops-ansible.git

此ChatOps插件到Nautobot ChatOps插件需要在环境中添加以下环境变量列表。

  • NAUTOBOT_TOWER_URI:Ansible Tower HTTP URI
  • NAUTOBOT_TOWER_USERNAME:Ansible Tower用户名
  • NAUTOBOT_TOWER_PASSWORD:Ansible Tower密码

更新完您的环境文件后,请重新启动nautobot和nautobot-worker

$ sudo systemctl restart nautobot nautobot-worker

用法

命令设置

在Slack中添加一个名为/ansible的斜杠命令。有关向您的Slack频道添加斜杠命令的说明,请参阅nautobot-chatops安装指南

您可能需要根据您的安全要求调整Nautobot中的访问权限

贡献

欢迎提交拉取请求,并通过TravisCI自动构建和测试针对多个Python版本和多个Nautobot版本的插件。

该项目基于docker-compose构建了一个轻量级开发环境,以帮助项目的本地开发并在TravisCI中运行测试。

该项目遵循Network to Code软件开发指南,并利用

  • Black、Pylint、Bandit和pydocstyle进行Python代码审查和格式化。
  • Django单元测试以确保插件正常运行。

CLI辅助命令

该项目附带一个基于invoke的CLI辅助工具,以帮助设置开发环境。命令如下所示,分为3个类别:dev environmentutilitytesting

每个命令都可以使用invoke <command>执行。所有命令都支持--nautobot-ver--python-ver参数,如果您想手动定义要使用的Python和Nautobot版本。每个命令也有自己的帮助信息invoke <command> --help

本地开发环境

  build            Build all docker images.
  debug            Start Nautobot and its dependencies in debug mode.
  destroy          Destroy all containers and volumes.
  start            Start Nautobot and its dependencies in detached mode.
  stop             Stop Nautobot and its dependencies.

实用工具

  cli              Launch a bash shell inside the running Nautobot container.
  create-user      Create a new user in django (default: admin), will prompt for password.
  makemigrations   Run Make Migration in Django.
  nbshell          Launch a nbshell session.

测试

  tests            Run all tests.
  pydocstyle       Run pydocstyle to validate docstring formatting adheres to NTC defined standards.
  bandit           Run bandit to validate basic static code security analysis.
  black            Run black to check that Python files adhere to its style standards.
  unittest         Run Django unit tests for the plugin.

问题

对于任何问题或评论,请随时访问Network to Code Slack频道(频道#networktocode)。注册这里

项目详细信息


下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分布

nautobot-chatops-ansible-1.0.3.tar.gz (28.0 kB 查看哈希值)

上传时间

构建发行版

nautobot_chatops_ansible-1.0.3-py3-none-any.whl (31.1 kB 查看哈希值)

上传时间 Python 3

由以下支持