REST APIからパラメータ有りのジョブフローを実行する方法

回答済み

コメント

1件のコメント

  • 正式なコメント
    Kompiraサポートチーム

    お問い合わせいただきありがとうございます。

     

    コードを拝見したところ、パラメータの渡し方に問題があるようです。

    > #ジョブフローのパラメータ
    > parameters = {'p1':'B', 'p2':8}
    > payload={
    >     'monitoring_mode': 'ABORT_MAIL',
    >     'parameters': parameters
    > }

    このようにパラメータを渡した場合、ジョブフローのパラメータ p1 には B という文字列が渡されますが、これはジョブフロー上での B という表記そのものに該当します。

    ちょうど下記のようなイメージです。

    [p1 = B]

    という名前の変数は未定義であるため、上記を含むジョブフローは実行してもエラー終了してしまいます。

    Variable "B" is not defined

     

    今回の場合、変数Bではなく文字列リテラルとしての 「"B"」 をパラメータに渡したい場面だと思いますので、リクエストを送信するpythonコードのパラメータ指定部分を下記のようにしてみていただけますでしょうか。

    parameters = {'p1':'"B"', 'p2':8}
    payload={
        'monitoring_mode': 'ABORT_MAIL',
        'parameters': parameters
    }

     

    なお、同じリクエストをcurlコマンドで行う場合は下記のようになります。

    $ curl -H "Authorization: Token <APIToken> \
    -H "Accept: application/json" -H "Content-Type: application/json" \
    -k -d '{"parameters":{"p1":"\"B\"","p2":"8"}}' \
    -XPOST <jobflowのURL>.execute

     

    参考になさってみてください。

    以上、よろしくお願いいたします。

    コメントアクション Permalink

サインインしてコメントを残してください。