4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

kintoneワークフローでHULFT配信定義を作って自動反映させる話

Last updated at Posted at 2025-12-06

HULFTの集配信定義の管理。誰がする問題?

HULFTの集配信定義の管理。皆さんどうされていますか?
「うちはエクセルで管理しているよ」とか「うちはHULFT-HUBで統合管理している」とかとか
そして、この話を更に進めていくと、HULFTってアプリが管理するんだっけ?インフラだっけ?と、役割の話に発展していきます。
この役割をつなげていくのがワークフローと呼ばれもので、「申請→確認→承認」と実はワークフローとHULFTの連携って密接に絡んできます。

冒頭の誰が管理する問題?の答えは、誰か特定の人が管理するというよりも、役割に応じて横断的に管理するのがわかりやすい。という解決策に落ち着くのかなと個人的に思います。

ワークフローで集配信定義を作ってHULFTへ反映させたい

やりたいことは、アプリの人が起票して、インフラの人が承認、設定反映、集配信定義のマスタ管理を業務フローとしてコントロールしたいです。
ワークフロー.png
絵にするとシンプルなんですが、ワークフローも今どきはSaaSの世界。(インターネット側にある)
できれば、承認したあとの作業も自動化したい。が、常に求められますよね。
実はそれを解決するソリューションが出来たのです!

HULFT10 API Gateway

その名の通り、APIのGatewayとなって、HULFTをRESTで操作管理出来ます。
以下に歩き方がまとまっています。

つまり、以下のようなことがスルスルっと。出来るのかなと、妄想が掻き立てられます。
kintoneワークフロー.png

早速実験してみた!

結論からいうと、作れました!
ちなみに、あくまでも実験なので、HULFT10 API Gateway部分のセキュリティはkintoneからのリクエストを受け付けるIPフィルタを入れています。

1.kintoneでHULFT管理情報の申請アプリを作る

kintoneはホントに直感的に操作でき、30分ぐらいで以下のような、Windows版HULFTを想定した配信管理情報の申請画面が出来ました。
image.png

2.kintoneでワークフロー設定をする

kintoneでワークフロー設定するには「アプリの設定」-「設定」-「一般設定」-「プロセス管理」から設定を行います。
image.png
以下のようなプロセスを設定してみました。
ほぼデフォルトです。ただ、プロセス最後のステータス名は「承認済み」と変更しました。
後ほど、プロセスが「承認済み」となったら、APIを呼び出す。というJavaScriptを書いていきます。
image.png

3.HULFT10 API GatewayのWebAPIリファレンスを確認する

ざっくりHULFT10 API GatewayのWebAPI仕様を解説すると

  1. HULFT10 API Gatewayの管理画面からアクセストークンを取得する
  2. 取得したアクセストークンをリクエスト時のBearerトークンにセットする
  3. 利用するAPIに応じて、[POST]や[GET]する

上記な感じです。一般的なRESTの操作感覚で利用出来ます。
今回は配信管理情報をkintoneアプリで作って、Windows版HULFTに設定反映させたいので、以下のリファレンスを参照します。

上記のリファレンスページにはリクエスト時のヘッダー仕様が記載されていなかったので、以下補足しておきます。
'Content-Type': 'application/json',
'Authorization': 'Bearer {AccessToken}'

4.kintoneアプリにJavaScriptをセットする

kintoneではユーザがJavaScriptを任意にセットすることが出来ます。
今回はインフラの人が承認をすると先ほどのAPIリクエストするJavaScriptを書きました。

kintone_HULFT_sendingsAPI.js
(function() {
  'use strict';

  // レコード詳細画面と一覧画面でステータスチェックを実施
  kintone.events.on(['app.record.detail.show', 'app.record.index.show'], function(event) {
    const record = event.record;
    const status = record['ステータス'].value; // ステータスフィールド名を入力

    if (status === '承認済み') {
      executeHttpRequest(record);
    }

    return event;
  });

  // リクエスト送信先のURL
  function executeHttpRequest(record) {
    const url = 'http://{ControlURL}/api/v1/hulft/{hulft-host-id}/managements/sendings/detail'; // {ControlURL}と{hulft-host-id}は環境を応じて書き換える
    const method = 'POST';
    const headers = {
      'Content-Type': 'application/json',
      'Authorization': 'Bearer {AccessToken}', // {AccessToken}は環境を応じて書き換える
    };

    // 使用するレコードのデータを準備
    const data = {
      "id": record['id'].value, // kintone側のフィールドコードに合わせる
      "file": {
        "name": record['file'].value,
        "type": record['type'].value
      },
      "communication": {
        "transfer_group": record['group'].value
      },
      "code_conversion": {
        "side": record['side'].value
      },
      "compression": {
        "type": record['compression'].value
      }
    };

    // HTTPリクエストをkintone.proxyで送信
    kintone.proxy(
      url,
      method,
      headers,
      JSON.stringify(data),
      function(response) {
        console.log('Success:', response);
      },
      function(error) {
        console.error('Error:', error);
      }
    );
  }

})();

作成したコードをkintone側にセットします。
「アプリの設定」-「設定」-「カスタマイズ/サービス連携」-「JavaScript / CSSでカスタマイズ」から設定を行います。
image.png

コードをアップロードしていきます。
image.png

最後にアプリに対して設定変更を実施します。
image.png

5.kintoneからAPI経由でHULFT配信定義作成をテスト!

いよいよテストです。
まずはアプリの人の気持ちになって、配信定義を記入していきます!
image.png

記入が完了したら、インフラの人へ承認依頼を出します。
image.png

続いて、インフラの人の気持ちになります。アプリ側が出してきたファイルID申請を確認して、よしOKの承認を実行します。
image.png

実行後の様子です。特に画面出力はしていないので、あっさりと事実だけが記録されています。
image.png

Chromeのコンソールを見ると、HULFT10 API Gatewayからのレスポンスが返ってきている様子です。
image.png

本当にHULFTに配信定義が出来ているのか確認

API経由で作成した配信定義がHULFT10 API Gatewayから確認できました。
image (5).png

ちなみにkintone上はどうなっているか?

image.png
上記のように配信管理情報がレコードに記録されています。
そうです。これがまさしく、ファイルI/Fのマスタになっていきます。
アプリの人が申請して、インフラの人が承認して、HULFTへの設定反映が自動で行われて、最後に記録として証跡が残る。手間なくHULFT運用が出来そうですね。

まとめ

今回はkintoneからHULFT10 API Gatewayを経由して、HULFTへ配信定義を作って、その過程のワークフローも考えてみました。
HULFT10 API Gateway自体はREST APIで操作できるので、いろいろなサービスと汎用的に組み合わせることができます。例えばオーケストレーションツールと組み合わせて、インストールから日々の運用まで全部自動化させるなど、夢が広がります!

4
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?