大規模組織変更にも安心!自動リリース実現方法

「アプリの開発中バージョンを[リリース]する」APIを用い、指定されたアプリ群の自動リリースを実現します。 自動リリース部分は、自動処理工程(アドオンXML)で実装。

こんにちは、古久保です。

働き方改革!」が取り沙汰されていますね。

「働き方改革」の実現に向けて(厚生労働省)
「働き方改革」の目指すもの
● 我が国は、「少子高齢化に伴う生産年齢人口の減少」「育児や介護との両立など、働く方のニーズの多様化」などの状況に直面しています。
● こうした中、投資やイノベーションによる生産性向上とともに、就業機会の拡大や意欲・能力を存分に発揮できる環境を作ることが重要な課題になっています。
「働き方改革」は、この課題の解決のため、働く方の置かれた個々の事情に応じ、多様な働き方を選択できる社会を実現し、働く方一人ひとりがより良い将来の展望を持てるようにすることを目指しています。

http://www.mhlw.go.jp/stf/seisakunitsuite/bunya/0000148322.html

何だか難しいですね。うちの業界(IT業界)も多分に漏れず中々、改革が進まないようです。

Questetra を利用することで、業務効率向上し、「働き方改革!」に寄与したいと考えております。ハイ。
しかしながら、業務管理に使用するものでありますので、四半期や年度末に発生する組織変更や業務変更の影響を受ける可能性が高くございます。
業務での利用で効率向上できましても運用面が大変ですと本末転倒です。
例えば、

* 4月1日 00:00 に組織変更に対応して設定を切り替えないと!
(=業務プロセス定義(アプリ)をリリース)

なんてことになりますと、夜間作業必須となってしまいます。大変です!徹夜であります。シンドイです。

* 事前に業務プロセス定義を変更し、切り替え時間になると業務プロセス定義が自動的に更新される

ようになりますと、御社の「働き方改革!」の一助になるのではないかと考えています。

ナント!Ver.11.6 にて実現できるようになりました!

Ver.11.6 リクエストボディをそのまま受信できる HTTP 開始に対応 (2018年3月12日)
◆ システムエンジニア向け機能の変更
(中略)
アプリ一覧を取得する API (/API/Admin/ProcessModel/list) を追加
アプリの開発中バージョンを[リリース]する API (/API/PMM/ProcessModel/{processModelInfoId}/release) を追加

http://www.questetra.com/ja/info/version-1160/

これらのAPIを活用して自動リリースアプリ 解説します。

◆バージョン 11.6 新APIの詳細

◆◆「アプリの開発中バージョンを[リリース]する API 」の詳細

APIの URL の一部としては、(例)「/API/PMM/ProcessModel/4/release」となります。
(以降、「リリースAPI」)”4″ は、アプリIDとなります。

APIの詳細については、ご利用環境の右メニューにあります「APIマニュアル」より参照が可能です。
簡単にアクセスしたい場合は、

<APIリファレンス簡単アクセス方法>
https://hoge-hoge-999.questetra.net/s/swagger/index.html?urls.primaryName=Workflow%20API&validatorUrl=#/ProcessModel/releaseProcessModel

の形式でアクセス可能です。テスト実行も可能です!
※「https://hoge-hoge-999.questetra.net」は、ご利用環境に合わせて変更して下さい。

◆◆「アプリ一覧を取得する API 」の詳細

APIの URL の一部としては、「/API/Admin/ProcessModel/list」となります。

<APIリファレンス簡単アクセス方法>
https://hoge-hoge-999.questetra.net/s/swagger/index.html?urls.primaryName=Workflow%20API&validatorUrl=#/ProcessModel/listProcessModel

◆時間指定で自動リリースするアプリ

前述のAPIを活用し、リリース日時/対象のアプリを選択することで自動リリースを可能にします。

◆◆フロー図例

「リリース承認」工程にて承認を得ると指定日時に自動でリリース処理が行われます。

◆◆「リリース申請」工程

本工程のポイントは、自動リリース対象のアプリを指定することにあります。
通常の仕組みだけでは実現できませんので(クライアント側) JavaScript にて実現しています。

(動画になっています。動かない場合は画像をクリックして下さい)

<タスク実行画面(JavaScript部分)の動作解説>
1.アプリ一覧を取得する 「/API/Admin/ProcessModel/list 」を実行
2.1.で取得した情報を元にチェックボックスの選択肢(HTML)を作成
(value:アプリID display:アプリ名やバージョン、既リリース有無)
3.タスク実行画面の「処理完了」ボタンを押されたタイミングで選択されたアプリの情報を文字列型複数行データにセット(本内容を用いてリリースAPIを実行)

◆◆「自動リリースサービス」工程(アドオンXML)

この(自動)工程では、

1.指定されたアプリリストからアプリIDを1件づつ読み出し
2.HttpRequest API を用いて1.のアプリIDを用いて実行
3.実行結果をログにセット

を行っています。

※「API実行ユーザパスワード」は、Basic 認証のパスワードになります。

◆◆関係する権限設定

このアプリを実行するにあたり、大きなポイントの一つが権限になります。

* アプリ一覧を取得するAPI 「/API/Admin/ProcessModel/list 」の実行は、システム権限:システム管理権限である必要が有ります。
→ 申請ユーザは、システム権限:システム管理権限を保有する必要有
* アプリの開発中バージョンを[リリース]するAPI「/API/PMM/ProcessModel/{processModelInfoId}/release」の実行は、個別対象アプリ:アプリ管理権限である必要があります。
→ 「自動リリースサービス」工程で指定するユーザは、個別対象アプリ:アプリ管理権限を保有する必要有

上記が実行条件となります。

◆あとがき

比較的容易な実装です。一度、お試し頂ければと思います。

ダウンロード:自動リリースアプリ
※サービスタスクの定義ファイル(アドオンXML)は、アプリ固有の管理ですので
「アプリ詳細」→「▼アプリ」→「アドオンの管理」より参照して下さい。

前述の「関係する権限設定」に記載している通り、APIを実行する上で権限設定に注意する必要があります。
「システム権限:システム管理権限を保有」ユーザは、厳密に限定されており、業務設計を担当する人とは別人である可能性もあろうかと思います。
例えば、申請〜承認ルートを

1.申請(業務設計者)※アプリ一覧からの選択はできません
2.チェック&設定(システム権限:システム管理権限保有者)※実現例の「リリース申請」工程
3.承認(業務設計者上司)

とする方法も考えられます。

また、「自動リリースサービス」工程で指定するユーザは、全てのアプリの「アプリ管理権限」を保有しておくよう権限をグループで登録しておく等の工夫も良いと考えます。

細かい工夫については、色々と対処は可能と考えますので遠慮無くご相談を頂ければと思います。

2018-03-27

Masato Furukubo の紹介

Questetra, Inc. Sales Department
Masato Furukubo の投稿をすべて表示

あわせて読みたい
50.Questetra Tips の前の記事 chatwork とクラウドワークフローとの連携方法
50.Questetra Tips の次の記事 大規模組織変更にも安心!自動リリース実現方法(改)
Masato Furukubo の他の記事 案件削除ができないゾ!対策

アーカイブ

 RSS