0
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?

ODC REST API 2: Portfolio API

Posted at

ODC REST APIとは何か、最低限使うための実装については上記記事参照。認証情報の取得方法と利用方法については上記記事に譲り、ここでは記述しない。

まず最初に、上記の記事でも動作確認に使ったPortfolio APIの使い方と、何を取れるのかをみていく。

ドキュメント

Portfolio API v1

環境情報

ODC Studio (Version 1.6.3)
ODC Personal Edition

Consume REST APIを作成する

ODC REST API 1: 認証 > 3. アクセストークンを利用してAPIを呼ぶの手順で、Choose methodsのダイアログで「Select all」を選択し、全メソッドに対するActionを生成する。

後続の手順は同じ。

/environmentsへのGET

要するに

ODC内のStage情報を取得するAPI。
他のAPIでStageのKeyが必要だったりするので、そのための情報取得に使う。
あまり変更される情報ではないから、一定間隔で実行して結果はキャッシュでもいい気がする。

必要な権限

ODC Portal > MANAGE > API clientsページで割り当てる。Stage > View stageを割り当てられたAPI clientを使っている場合に、割り当てられたStageの情報が返ってくると思われる。

image.png

インターフェース

Input ParameterのAccessTokenは手動で追加したもの(詳細は前掲の記事参照)。
image.png

Output Parameter ResponseのresultsはListになっている。
つまりStageのListが返ってくる。

使い方

パラメータがないので、Action Flowに配置するだけで良い。

メモ

Output Parameter Response.resultsの各要素について。

  • keyがStageのキーであり、他のAPIでStageを指定する時にはこのkeyを使う
  • hostnameに入るのは、そのPEのDevelopment Stageのエンドユーザーアプリ配置先のホスト
  • purposeには、Development・NonProduction・Productionという値が入る。これはそのStageの用途を示す。意味としてはそのまま。Developmentは開発用。このStageで作成されたコンテナが次以降のStageに移送される。Productionはいわゆる本番。NonProductionはそれ以外
  • regionとしてはap-southeast-1が返ってきた。おそらくAWSのRegionなのでSingaporeでホストされているようだ
  • hostingはoscloud。おそらくOutSystemsが管理するクラウド環境でホストされているという意味。これからセルフホストのODCがリリースされたら、そのODCはselfhostedを返すはず

/deployed-assetsへのGET

注意

このAPIはPEでは十分な検証が行えないタイプと思われる。
確認はPEで行ったため、通常のODCで実行したら、少し違うところがあるかもしれない。

要するに

Asset(App/Library/Workflow) 別に各Stagehへのリリース情報リストを取得する。

必要な権限

ODC Portal > MANAGE > API clientsページで割り当てる。Stage > View stageを割り当てられたAPI clientを使っている場合に、割り当てられたStageの情報が返ってくると思われる。

インターフェース

Input Parameter

Input ParameterのAccessTokenは手動で追加したもの(詳細は前掲の記事参照)。
image.png

environmentKeyからpermissionFilterまでは検索条件、limit・offset・sortはページング条件。動作確認目的では全て未指定で実行できた。

Output Parameter

項目が多いので横に並べたが、pageとresultsがResponseの直接のAttribute。
image.png

pageについてはページングに使うものなので、一旦置いておく。
resultsの要素は、Asset。AssetはODC PortalのAppsページやODC Portalで作成するトップレベルの開発要素。つまりApp・Library・Workflow。

Assetごとに、そのdeployments Attribute(List)に各Stageへのリリース履歴が載りそうであるが、PEではそこまで確認できなかった。
PEの場合、どのAssetを選んでもdeploymentsには1レコードしか入っておらず、最新のPublish時点の情報が入るようだ。

使い方

AccessTokenだけ渡せば良い。検索条件は必須ではないので絞り込みたい時にだけ指定する。ページング条件は、動作確認程度なら指定しなくても良いが、ページサイズの最大は100のようなので、普通の環境の実用アプリでは指定することになる。

ページングの仕組みについては以下を参照。
Page through lists of resources

メモ

Assetの名前はResonse.results各要素直下でなく、その下のdeploymentsから取ることになる。PEで試した範囲では、名前を変えてPublishしてもdeployments Listには最新の名前が入った1要素しか入らなかった。

environmentKeyでStageを絞り込み、deploymentDateTimeでリリース日時がわかるので、例えば週次や月次でチェックすることで更新されたAssetのリストを作成するのにも使えそう。

0
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
0
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?