このページを共有

# CIサーバー、パイプライン、ビルドの操作

APIリソースを使用して、CIサーバーから情報を収集し、それを挿入してALM Octaneで使用できます。

以下は、REST APIを使用してCIサーバー、パイプライン、ビルドを操作するための基本的な方法です。

ヒント: REST APIを使用して、CIサーバー、パイプライン、ビルドを操作する方法はたくさんあります。インタラクティブAPIクライアントを使用して、他のオプションの構文を調べることをお勧めします。詳細については、インタラクティブAPIクライアントを参照してください。

このトピックの内容:

## 概要

完全な機能を得るには、ALM Octane UIとそれに関連するプラグインを使用してCIサーバーとパイプラインを操作します。リリースと製品の品質の測定やビルドの進行状況の追跡など、プロセス全体の詳細については、DevOps CIサーバー統合のフローを参照してください。

REST APIで利用できる制限された機能は、ALM Octane CIおよびアプリケーション自動化ツールプラグインを使用できない人に役立ちます。

## Ciサーバーの追加 (POST)

送信されたCIデータのトップレベルコンテキストとしてCIサーバーエンティティを作成します。これは一度行われます。

- nameは必須であり、共有スペースで一意である必要があります。

- instance_idはオプションです。指定しない場合、ALM Octaneが生成します。このインスタンスIDは一意の文字列であり、ALM Octaneが使用する内部番号付きIDと混同しないでください。この値は、APIのコンシューマーによって完全に維持され、任意の一意の文字列にすることができ、以降のすべてのAPIの使用法 (パイプライン、ビルド、テスト結果) でプライマリCIコンテキスト識別子として一貫して使用する必要があります。

- urlはオプションです。URLが指定されていない場合、REST APIはユーザーをCIサーバー自体にリダイレクトできないため、CIサーバーのベースURLを指定することを強くお勧めします。

- server_typeはオプションです。指定しない場合、「不明」が使用されます。

    *** Request ***

    POST .../api/shared_spaces/<space_id>/workspaces/<workspace_id>/ci_servers

    Accepts:        application/json

    Produces:       application/json

    	{
    		"data": [{
    		    "name": "The server name, for display purposes",
    		    "instance_id": "12345-123",
    		    "url": "http://some.url:8383",
    		    "server_type": "teamcity"
    		}]
    	}

    *** Response ***

    	{
    	    "total_count": 1,
    	    "data": [
    	        {
    	            "type": "ci_server",
    	            "id": "6005"
    	        }
    	    ]

    }

ALM Octaneで結果を確認する

CIサーバーを投稿した後、それがALM Octane UIに存在することを確認できます。

注: ALM Octane UI内から直接CIサーバーを作成する場合、プラグインはCIサーバーが「接続」されていることを確認します。このCIサーバーはRESTAPIを使用して作成されているため、NAと表示されます。機能が制限されているRESTAPIを使用する場合、これは問題ではありません。いつものように作業を続けます。

トップに戻る

例

CIサーバーの操作の他の例

- ID番号1001の特定のCIサーバーに関する情報を取得します。

  `GET .../api/shared_spaces/<space_id>/workspaces/<workspace_id>/ci_servers/1001`

- Retrieve all CI servers:

  `GET .../api/shared_spaces/<space_id>/workspaces/<workspace_id>/ci_servers`

- Delete a CI server with ID number 1001:

  `DELETE .../api/shared_spaces/<space_id>/workspaces/<workspace_id>/ci_servers/1001`

- Update a CI server with ID number 1001:

  `PUT .../api/shared_spaces/<space_id>/workspaces/<workspace_id>/ci_servers/1001`

      *** Request***

      	{
      		   "name": "Your server name, for display purposes",
      		   "url": "http://some.other.url:8383",
      		   "server_type": "custom_ci"
      	}

      *** Response ***

      	{
      	       "type": "ci_server",

      	       "id": "6005"
      	}

トップに戻る

## パイプラインの追加 (POST)

追跡および視覚化するビルドフローを反映するパイプラインを作成します。このパイプラインは、送信されるテストの基本的なコンテキストになります。これは一度行われます。

- nameが必要です。パイプライン名は、共有スペース内で一意である必要があります。

  各パイプラインはCIサーバーにリンクされており、CIサーバーはCI内部インスタンスIDによって識別されます。

- server_ci_idが必要です。これは、以前にinstance_idとして提供された値と同じである必要があります。この値はAPIのコンシューマーによって完全に維持され、CIサーバーおよびパイプラインAPIで定義されているとおりに使用する必要があります。パイプラインを作成してパイプラインにリンクする前に、CIサーバーがすでに存在している必要があります。詳細については、CIサーバーの追加 (POST)を参照してください。

- キーワードjobsは必須であり、パイプライン内のジョブの配列の前にあります。ジョブには、少なくとも、root_job_ci_id属性で参照されるルートジョブが含まれている必要があります。

  仕事の属性:

  - ジョブごとに、jobCiIdが必要です。この値はAPIのコンシューマーによって完全に維持され、CIサーバーおよびパイプラインAPIで定義されているとおりに使用する必要があります。

  - jobCIIdは、このCIサーバーのコンテキストで (つまり、このserver_ci_idの下で) 提供されるすべてのジョブで一意である必要があります。これは、このAPI呼び出しだけでなく、このCIサーバー内でこれまでに作成されたすべてのパイプラインにも当てはまります。

  - 各ジョブには名前があります。名前はオプションです。指定しない場合、jobCiIdが使用されます。

  - 各ジョブはパラメーターを持つことができます。パラメーターはオプションです。

    パラメーター属性:

    - パラメーターのtypeはオプションです。許可されるタイプは次のとおりです。 "boolean", "string", "number", "axis", "file", "password", "unknown"

    - パラメーターのnameは必須です。

    - description、defaultValue、およびvalue属性はオプションです。

- root_job_ci_idが必要です。root_job_ci_idは、jobs配列で提供されるジョブの1つのjobCiIdプロパティに対応します。

トップに戻る

    POST .../api/shared_spaces/<space_id>/workspaces/<workspace_id>/pipelines

    Accept:     application/json
    Produces:   application/json

    *** Request ***

    {
      "data": [
        {
          "jobs": [
            {
              "jobCiId": "MyRootJob",
              "name": "The name of the root job"
            },
            {
              "jobCiId": "MyNextJob",
              "name": "The name of the next job"
            }
          ],
          "name": "MyPipelineIDName",
          "root_job_ci_id": "MyRootJob",
          "server_ci_id": "MyInstanceID"
        }
      ]
    }

    *** Response ***

    {
      "total_count": 1,
      "data": [
        {
          "type": "pipeline",
          "id": "1007"
        }
      ],
      "exceeds_total_count": false
    }

ALM Octaneで結果を確認する

パイプラインとそのジョブを投稿した後、それらがALM Octane UIに存在することを確認できます。

トップに戻る

例

パイプラインの操作の他の例

- ID番号1001の特定のパイプラインに関する情報を取得します。

- すべてのパイプラインを取得します。

  `GET .../api/shared_spaces/<space_id>/workspaces/<workspace_id>/pipelines`

- ID番号1008のパイプラインを削除します。

  `DELETE .../api/shared_spaces/<space_id>/workspaces/<workspace_id>/pipeline/1008`

- ID番号1007のパイプラインのリリースを更新します。

      PUT .../api/shared_spaces/<space_id>/workspaces/<workspace_id>/pipelines/1007

      *** Request***

      {
        "name": "MyPipelineIDName",
        "current_release": {
          "id": "1035,"
          "type": "release"
        }
      }

      *** Response ***

      {
        "type": "pipeline",
        "id": "1007"
      }

トップに戻る

## ビルドステータスの更新 (PUT)

パイプラインにビルドを追加し、パイプラインジョブのステータスを更新します。各ビルドは、パイプライン内のイベントに相当します。これは継続的に行われます。

- CIサーバーIDserverCiIdとジョブIDjobCiIdは必須です。

- ビルドIDbuildCiIdは必須であり、テスト結果を表示するために使用されます。この値はAPIのコンシューマーによって完全に維持され、パイプラインAPIで定義されているとおりに使用する必要があります。

- buildNameはオプションです。指定しない場合、buildCiIdが使用されます。

- statusはオプションです。指定しない場合、finishedが使用されます。

- parametersおよびcausesはオプションです。

- startTime、duration、およびresultは必須です。

- ビルドイベントのstatusはオプションです。許可されるステータスは次のとおりです。”完了", "実行中", "利用不可"

- ビルドイベントのresultsはオプションです。推奨される結果は次のとおりです。"成功", "失敗", "不安定", "中止", "利用不可"

- 各ビルドは、2つのリクエストを介して更新されます。1つ目はステータスが実行中で、2つ目はステータスが終了済みです。

- 階層ジョブの場合、子ジョブはcauseを使用する必要があり、親の実行後、親が終了する前に実行する必要があります。

ルートジョブビルドを開始します

    PUT .../api/shared_spaces/<space_id>/workspaces/<workspace_id>/analytics/ci/builds

    *** Request ***

    {
        "serverCiId": "12345-123",
        "jobCiId": "MyRootJob",
        "buildCiId": "MyRootJob-1",
        "buildName": "Short name for build",
        "startTime": 1456679398786,
        "duration": 120490,
        "status": "running",
        "result": "unavailable"
    }

サブジョブのビルドを開始します

    PUT .../api/shared_spaces/<space_id>/workspaces/<workspace_id>/analytics/ci/builds

    *** Request ***

    {
        "serverCiId": "12345-123",
        "jobCiId": "MyNextJob",
        "buildCiId": "MyNextJob-1",
        "buildName": "Short name for build",
        "startTime": 1456679398786,
        "duration": 120490,
        "status": "running",
        "result": "unavailable",
        "causes": [{
            "jobCiId": "MyRootJob",
            "buildCiId": "MyRootJob-1"
        }]
    }

End sub job build

    PUT .../api/shared_spaces/<space_id>/workspaces/<workspace_id>/analytics/ci/builds

    *** Request ***

    {
        "serverCiId": "12345-123",
        "jobCiId": "MyNextJob",
        "buildCiId": "MyNextJob-1",
        "buildName": "Short name for build",
        "startTime": 1456679398786,
        "duration": 120490,
        "status": "finished",
        "result": "success",
        "causes": [{
            "jobCiId": "MyRootJob",
            "buildCiId": "MyRootJob-1"
        }]
    }

ルートジョブビルドを終了します

    PUT .../api/shared_spaces/<space_id>/workspaces/<workspace_id>/analytics/ci/builds

    *** Request ***

    {
        "serverCiId": "12345-123",
        "jobCiId": "MyRootJob",
        "buildCiId": "MyRootJob-1",
        "buildName": "Short name for build",
        "startTime": 1456679398786,
        "duration": 120490,
        "status": "finished",
        "result": "success"
    }

ALM Octaneで結果を確認する

ビルドを更新した後、ALM Octane UIで確認できます。

トップに戻る

## テスト結果の表示 (test_resultsリソース)

CIサーバー、パイプライン、ビルドのコンテキストでテスト結果を表示します。これは継続的に行われます。詳細については、自動テスト結果をALM Octaneに追加するを参照してください。

トップに戻る

参照情報:

- test-results
- パイプラインからの結果をALM Octaneに報告する
- DevOps CIサーバー統合のフロー

https://admhelp.microfocus.com ALM Octane 8942
検索結果を改善するためのヒント... ALM Octaneヘルプセンター ALM Octaneヘルプ 15.1.90 すべて ローカルヘルプセンターを表示 オンラインヘルプセンターを表示 戻る ブラウザーの履歴内を戻る 進む ブラウザーの履歴内を進む 検索のハイライトを削除する 次のトピック 次のトピックに進む 前のトピック 前のトピックに戻る 現在のトピックを印刷 バージョン: