IBM webMethods Integration SaaSのREST APIを使って、プロジェクトを自動的に作成する
IBM webMethodsでは、REST APIを使って、Workflow、Flow Service、Projectなど様々なリソースを管理することができます。
https://www.ibm.com/docs/en/wm-integration/11.0.11?topic=reference-webmethods-integration-apis
本Blogでは、webMethodsに対して、REST APIを使って、機械的にプロジェクトを作る方法を説明します。
- 上記URLを参照し、Projectの作成に関するREST APIを確認します。
二つのURLが記載されていますが、左側のURLはDeprecated URLとなっており、非推奨であることがわかります。
右側のURLは、New URLという事で、こちらを使うことになります。
- 次に、Project APIsのセクションを確認していきます。
注意事項として、プロジェクトを作成するには、管理者の権限が必要であると書かれていますので、管理者のユーザーでなければ、プロジェクトの作成は出来ません。
- 次に、認証とプロジェクト名の指定について説明があります
Headersに認証の情報として、BasicAuthと書かれているので、Basic認証の情報を設定する必要があることがわかります。
これは、webMethodsにログインするときに使うユーザーIDとパスワードの情報を指定します。パスワードは、Base64でエンコードしたものを指定します。
BodyにJSON形式で、作成したいプロジェクトの名前を指定します。
- 次に、URLの指定方法についての説明があります。
DeprecatedのURLは使用しないので、<domain>/apis/v1/rest/projectsのURLを使います。メソッドについては、POSTを使います。
<domain>の所については、下記のようにwebMethodsにログインしたときのテナントのサーバーの名前になります。
したがって、下記のサイトの場合、指定するURLは、https://env923548.int-aws-de.webmethods.io/apis/v1/rest/projectsになります。

- 実際にプロジェクトをREST APIを使って作ってみる
REST APIを投入するために、curlを使って作成してみます。(本ブログでは、Windows環境となります)
curl -X POST -H "Content-Type: application/json;charset=UTF-8" -u UserID:Password https://env923548.int-aws-de.webmethods.io/apis/v1/rest/projects -d "{\"name\":\"TestProj\"}"
実行した結果(パスワードはマスキングしています)

- webMethodsにログインしてプロジェクトが作成されているか確認すると下記のように作成されていました

このように、REST APIを使う事で、自動的にwebMethodsの操作を行うことが可能であることがわかります。