RoboWebへ登録したスケジュールをAPIで実行することができます。
1.ROBOWEBの起動を確認
APIを投げるまえにRoboServerが起動していることを確認しておきましょう。
※ブラウザでRoboWebが開けばOKです
2.概要
APIの投げる先のURLは以下です。
url = u’http://localhost:8080/api/run_schedule’
RoboWebからもどすメッセージは「success」か「error」です。
「localhost」の部分はRoboServerが起動しているPCのIPアドレスを設定してください。
たとえばPCのIPアドレスが「192.168.100.1」であれば、URLは「http://192.168.100.1:8080/api/run_schedule」です。
0.10.14から引数を渡して実行できるようになりました。
その場合、APIで即時実行するスケジュールには1つのロボットだけしか設定できないです。
3.以下サンプルとなります。
登録したスケジュールを実行し、RoboWebからもどってきたメッセージを表示しています。
3-1.APIの投げ先のURLを指定
url = http://localhost:8080/api/run_schedule
3-2.APIで投げる内容を作成
data={
‘username’: u’ユーザー名’,
‘password’: u’パスワード’,
‘project_name’: u’テスト’,
‘schedule_name’: u’サンプルスケ’,
}
headers = {“content-type”: “application/json”}
#APIを投げてもどりをうけとる
res=requests.post(url=url, headers=headers, json=data)
#エンコード
js = json.loads(res.text)
#もどってきたメッセージを表示
print js[‘status’],js[‘message’]
※対象のスケジュールが実行中だった場合は、エラーが返ってきます。0.10.13からスケジュールが実行中だったのでエラーになった場合は、そのようなメッセージが返ります
3-3.コマンドで実行
windowsのコマンドで実行することもできます。以下のようなコマンドを作り、バッチファイルへ保存、スタートメニューへ登録し、PCへログインしたときに自動実行される、という使い方もできます。
curl -X POST http://localhost:8080/api/run_schedule ^
-H "Content-Type: application/json" ^
-d "{\"username\":\"ユーザー名\",\"password\":\"パスワード\",\"project_name\":\"サンプル\",\"schedule_name\":\"API\"}"
3-4.コマンドで実行(引数付き)
以下のようなJsonファイルを作成して保存してください。
body.json{
"username": "admin",
"password": "admin",
"project_name": "サンプル",
"schedule_name": "テスト",
"parameters": "引数1=こんにちは\n引数2=世界"
}
以下のようなコマンドを作り、バッチファイルへ保存して実行します。
body.jsonファイルはCドライブの中のtempフォルダへ保存しました。
cd C:\temp
curl -X POST http://localhost:8080/api/run_schedule ^
-H "Content-Type: application/json" ^
-d "@body.json"
