
Pythonで簡単なスラックボットを作成し、Herokuにデプロイし、20分間でTravis CIを接続し、有用なことを開始する方法に関する小さなチュートリアル。
だから、私たちは仕事から気をそらすために、チャットするために挨拶をする
人々を罰するボットを持っています。 自分を同じように、しかしより良くするには?
Heroku + Python Webアプリ
Herokuのインストールは美しく
記述されています;ここでは3つのファイルのみが必要です
-requirements.txt
-Procfile
-runtime.txt
最初に、次のようなすべての依存関係をリストします
httplib2 slacker Flask==0.12
あなたはすぐにそれらを書く必要はありません、スマート
PyCharmは私たちが何かを見逃したことを教えてくれます。
承認のリクエストを送信するには
Httplib2 、Slack APIを使用して便利に作業するには
Slacker 、リクエストを受け入れるには
Flaskが必要です。これは、設定が不要な最も簡単で最も痛みのないWebフレームワークです。
runtime.txtで、使用するPythonのバージョン
を指定します。
Procfileにも正確に1行あります
web: python app.py
これで、最初のアプリケーションを作成する準備ができました。そのようなコンテンツで
app.pyを作成します
from flask import Flask from flask import request from flask import make_response app = Flask(__name__)
すべてをgithubに配置し、herokaに移動して、パブリックリポジトリから新しいアプリケーションを作成します。 Herokuは、コードを個別にダウンロードし、
requirements.txtから依存関係を配置し、
Procfileに従ってアプリケーションを起動します。
たるみ
すべて、これからはバックエンドがあります
https://YOUR_APP_NAME.herokuapp.com/webhook
*何か役に立つ* 独自のスラックアプリケーションを
作成できます 。
イベントAPI (つまり、最も有用なAPI-APIはイベントについてアラートを出します)に対して検証し
ます 。 Slack自体は単にエンドポイント上にある特別なチャレンジリクエストであり、そこからコードを取得して応答する必要があります。 これで、[イベントサブスクリプション]セクションのスラックアプリケーションの設定で、必要なイベントを選択しました。 イベントは同じアドレスにドロップされます。 着信データで必要なことをすべて完了したら、他のユーザーの承認をサポートする必要があります。 これを行うには、新しいユーザーがアプリケーションのインストールを希望するとすぐにslackがリクエストを送信する
/ authなどの別のエンドポイントが必要になります。 そのようなリクエストを受け取ったら
、そのコードからコードを
抽出し、アプリケーションのクレジットとともにPOSTで
slack.com/api/oauth.accessに 送信し、成功したレスポンスでリクエスト自体に応答するか、承認後にユーザーに表示するページにリダイレクトする必要があります。
トラビスci
ボットの準備ができました。 それが機能することを確認するために残っています。 アプリケーションはいつでもローカルで実行でき、curlを介してリクエストをスパムしますが、これはほとんど役に立たないので、すぐに
ユニットテストを作成し、Travisにリポジトリの監視を依頼します。
Travisのプロジェクトは 、Herokaの場合とほぼ同じように直感的に
作成されます。カブのアドレスのみが必要です。残りは、
.travis.ymlのルートに別のファイルを作成する場合、自分で残ります。
language: python python: - "3.6" script: python3 -m unittest discover
スクリプトセクションでは、ソースの最新バージョンがダウンロードされた後の処理をアラームに伝えます。 このコマンド(ローカルでより頻繁に実行する必要があります)は、プロジェクト内のユニットテストを見つけて実行します。
この時点から、TravisとHeroku(設定で有効になっている場合)はリポジトリに従ってアプリケーションをダウンロードし、デプロイしてテストを実行し、実行結果をメールに送信します。 そして、本番の準備がほぼ整いました。すべてが機能したらすぐに、Herokaでの種類の自動インストールを無効にし、テストに成功した場合にのみ展開を行うようにTravisを再構成するだけです。 利益!
ソースへのリンクは
こちら 、ライブトラビスは
こちらです。 ボット自体はネイティブ企業の同僚のみが利用できますが、関心がある場合はボットを公開する可能性を排除しません。
頑張って