Alibaba Cloud CLI は、Codeup (コード管理)、Flow (パイプライン)、Packages (アーティファクト管理) などの Apsara DevOps サービスを管理するために OpenAPI をベースに構築されたコマンドラインツールです。このクイックスタートでは、Alibaba Cloud CLI のインストール、Apsara DevOps の認証情報の設定、および Yunxiao OpenAPI の呼び出し方法について説明します。この例では、flow-get-flow-tag-group コマンドを使用して、パイプラインタググループの詳細を取得します。
前提条件
Alibaba Cloud アカウント
Apsara DevOps (Yunxiao) 組織 (Region edition)
Yunxiao コンソールで作成する Yunxiao 個人アクセストークン。手順については、「個人アクセストークンの取得」をご参照ください。
(オプション) Alibaba Cloud CLI を初めてお使いの場合は、Alibaba Cloud CLI とはをご参照ください。
ステップ1:Alibaba Cloud CLI のインストール
お使いのオペレーティングシステムに応じて Alibaba Cloud CLI をインストールします。
Windows: Windows への CLI のインストール
Linux: CLI のインストールまたは更新
macOS: macOS への CLI のインストール
すでに Alibaba Cloud CLI をインストールしている場合は、次のコマンドを実行して、Alibaba Cloud CLI の Yunxiao プラグインを、新しい Yunxiao OpenAPI をサポートするバージョンに更新してください。
aliyun plugin install --names aliyun-cli-devopsまた、Cloud Shell を使用して、ローカルにインストールすることなく Alibaba Cloud CLI コマンドを実行することもできます。詳細については、「Cloud Shell とは」をご参照ください。
ステップ2:Yunxiao CLI の設定
Apsara DevOps のアイデンティティシステムは、他の Alibaba Cloud サービスとは異なります。Yunxiao は、プロファイル (アクセスキーペア) を使用して認証情報を保存しません。代わりに、Yunxiao コンソールで個人アクセストークンを作成し、aliyun configure ではなく、環境変数またはコマンドラインパラメーターで渡します。
個人アクセストークンの取得
個人アクセストークンを使用すると、Yunxiao API にアクセスしたり、HTTP 経由で Git 操作を実行したりできます。詳細については、「個人アクセストークンの取得」をご参照ください。
トークンを作成する際は、必要最小限の API 権限を選択し、適切な有効期間を設定してください。永続的なトークンは作成しないでください。
トークンは最初に作成されたときにのみ表示されます。トークンを再度表示することはできません。トークンは安全な場所に保管してください。
コマンドラインでトークンをプレーンテキストとして渡さないでください。環境変数の使用を推奨します。
トークンが漏洩した場合は、直ちに削除してください。
認証情報の設定
Yunxiao CLI は、環境変数とコマンドラインパラメーターの 2 つの認証情報設定メソッドをサポートしています。
メソッド1:環境変数の使用 (推奨)
Yunxiao CLI は、次の環境変数を使用します。
環境変数 | 説明 | 必須 (Region edition) |
| Yunxiao 個人アクセストークン | はい |
| API エンドポイント | はい |
| 組織 ID | いいえ |
Region edition の例:
export ALIBABA_CLOUD_YUNXIAO_ACCESS_TOKEN=<your-personal-access-token>
export ALIBABA_CLOUD_YUNXIAO_API_BASE_URL=<your-api-base-url>メソッド2:コマンドラインパラメーターの使用
各コマンドで認証情報をパラメーターとして渡すこともできます。
パラメーター | 説明 | 必須 (Region edition) |
| Yunxiao 個人アクセストークン | はい |
| API エンドポイント | はい |
| 組織 ID | いいえ |
Region edition の例:
aliyun devops flow-get-flow-tag-group --id 0 \
--api-base-url=<your-api-base-url> \
--yunxiao-access-token=<your-personal-access-token>設定の確認
次のコマンドを実行して、Yunxiao CLI プラグインが利用できることを確認します。
aliyun devops versionコマンドがエラーなしでバージョン情報を返した場合、環境の準備は完了です。
ステップ3:API の呼び出し
例1:利用できるコマンドの一覧表示
次のコマンドを実行して、すべての Yunxiao CLI コマンドを表示します。
aliyun devops --help次のような出力が返されます (一部)。
Description: Aliyun CLI plugin for yunxiao operations.
Usage: aliyun devops <command> [flags]
Available Commands:
app-stack-create-application Create an application
app-stack-list-applications List applications
codeup-create-repository Create a code repository
codeup-list-repositories List code repositories
flow-create-pipeline Create a pipeline
flow-list-pipelines List pipelines
flow-get-flow-tag-group Get pipeline tag group details
projex-search-projects Search projects
projex-search-workitems Search work items
...Yunxiao CLI は、次のモジュールに対応しています。
モジュールプレフィックス | 説明 |
| AppStack (アプリケーションデリバリー) |
| Base (組織、メンバー、ロール) |
| Codeup (コード管理) |
| Flow (パイプライン) |
| Insight (効率分析) |
| Packages (アーティファクト管理) |
| Projex (プロジェクトコラボレーション) |
| TestHub (テスト管理) |
国際サイト (alibabacloud.com) では、Codeup、Flow、および Packages モジュールのみが利用できます。projex-*、test-hub-*、app-stack-*、および insight-* のプレフィックスが付いたコマンドは、国際サイトではサポートされていません。
例2:パイプラインタググループの詳細の取得
次の例では、flow-get-flow-tag-group コマンドを呼び出して、パイプラインタググループの詳細を取得します。
# Region edition (環境変数)
export ALIBABA_CLOUD_YUNXIAO_ACCESS_TOKEN=<your-personal-access-token>
export ALIBABA_CLOUD_YUNXIAO_API_BASE_URL=<your-api-base-url>
aliyun devops flow-get-flow-tag-group --id 0サンプルレスポンス:
{
"id": 0,
"name": "Environment Tags",
"tags": [
{
"id": 1,
"name": "Production",
"color": "#FF6B6B"
},
{
"id": 2,
"name": "Staging",
"color": "#4ECDC4"
}
]
}Yunxiao OpenAPI の呼び出し時にエラーが返された場合は、次の一般的な原因を確認してください。
無効なトークンまたは期限切れのトークン — 個人アクセストークンが有効で、必要な API 権限を持っていることを確認してください。
不正なエンドポイント — お使いのエディションに適した正しい API エンドポイントを使用していることを確認してください。
必須パラメーターの欠落 — Central エディションには
--organization-idが必要です。 Region エディションには--api-base-urlが必要です。
その他の例
次の例は、一般的な Yunxiao CLI 操作を示しています。
コードリポジトリの一覧表示
aliyun devops codeup-list-repositories --page 1 --per-page 20プロジェクトの検索
aliyun devops projex-search-projects --page 1 --per-page 10パイプラインの一覧表示
aliyun devops flow-list-pipelines --page 1 --per-page 20アプリケーションの一覧表示
aliyun devops app-stack-list-applications --pagination '{"page":1,"perPage":20}' --order-by createdAtJMESPath を使用した出力のフィルタリング
aliyun devops codeup-list-repositories --cli-query 'result[].{name:name,id:id}'