変数と式により、パイプライン タスクで入力パラメータと出力パラメータを使用できます。入力するパラメータにより、パイプライン タスクが 1 つ以上の変数、式、または条件にバインドされ、実行時のパイプラインの動作が決定されます。

パイプラインではシンプルなソフトウェア配信ソリューションから複雑なソフトウェア配信ソリューションまで実行可能

パイプライン タスクをバインドするときには、デフォルトの式と複雑な式を含めることができます。このため、パイプラインでは、シンプルなソフトウェア配信ソリューションを実行することも、複雑なソフトウェア配信ソリューションを実行することもできます。

パイプラインにパラメータを作成するには、[入力] または [出力] タブをクリックし、ドル記号 $ と式を入力して変数を追加します。たとえば、このパラメータは、URL を呼び出すタスクの入力として使用されます:${Stage0.Task3.input.URL}

変数のバインドの形式では、SCOPE(範囲)と KEY(キー)と呼ばれる構文コンポーネントを使用します。SCOPE はコンテキストを入力または出力として定義し、KEY は詳細を定義します。パラメータの例 ${Stage0.Task3.input.URL} では、SCOPEinputKEY は URL です。

いずれのタスクの出力プロパティも、任意のレベル数にネストされた変数バインドとして解決できます。

パイプラインで変数のバインドを使用する方法については、Code Stream パイプラインで変数のバインドを使用する方法を参照してください。

範囲とキーを含むドル記号の式を使用したパイプライン タスクのバインド

ドル記号変数の式を使用してパイプライン タスクをバインドできます。式は、${SCOPE.KEY.<PATH>} という形式で入力します。

パイプライン タスクの動作を決定するために、各式の SCOPE Code Stream が使用するコンテキストとなります。この範囲に対して、タスクで実行されるアクションの詳細を定義する KEY が検索されます。KEY の値がネストされたオブジェクトの場合は、オプションの PATH を指定できます。

これらの例では、SCOPEKEY について説明し、パイプラインでこれらを使用する方法を示します。

表 1. SCOPE と KEY の使用
SCOPE 式の目的と例 KEY パイプラインで SCOPE と KEY を使用する方法
[input]

パイプラインの入力プロパティ:

${input.input1}

入力プロパティの名前

タスク内のパイプラインの入力プロパティを参照するには、次の形式を使用します。

tasks:
  mytask:
    type: REST
    input:
      url: ${input.url}
      action: get
input:
  url: https://www.vmware.com
[output]

パイプラインの出力プロパティ:

${output.output1}

出力プロパティの名前

通知を送信するための出力プロパティを参照するには、次の形式を使用します。

notifications:
 email:
 - endpoint: MyEmailEndpoint
   subject: "Deployment Successful"
   event: COMPLETED
   to:
   - [email protected]
   body: |
     Pipeline deployed the service successfully. Refer ${output.serviceURL}
[task input]

タスクへの入力:

${MY_STAGE.MY_TASK.input.SOMETHING}

通知内にタスクの入力を示します

開始された Jenkins ジョブからは、タスクの入力からトリガーされたジョブの名前を参照できます。この場合、次の形式で通知を送信します。

notifications:
  email:
  - endpoint: MyEmailEndpoint
    stage: MY_STAGE
    task: MY_TASK
    subject: "Build Started"
    event: STARTED
    to:
    - [email protected]
    body: |
      Jenkins job ${MY_STAGE.MY_TASK.input.job} started for commit id ${input.COMMITID}.
[task output]

タスクの出力:

${MY_STAGE.MY_TASK.output.SOMETHING}

後続のタスクでのタスクの出力を示します

パイプライン タスク 2 からパイプライン タスク 1 の出力を参照するには、次の形式を使用します。

taskOrder:
  - task1
  - task2
tasks:
 task1:
   type: REST
   input:
     action: get
     url: https://www.example.org/api/status
 task2:
   type: REST
   input:
     action: post
     url: https://status.internal.example.org/api/activity
     payload: ${MY_STAGE.task1.output.responseBody}
[var]

変数:

${var.myVariable}

エンドポイント内の変数の参照

パスワードに関してエンドポイント内のシークレット変数を参照するには、次の形式を使用します。

---
project: MyProject
kind: ENDPOINT
name: MyJenkinsServer
type: jenkins
properties:
 url: https://jenkins.example.com
 username: jenkinsUser
 password: ${var.jenkinsPassword}
[var]

変数:

${var.myVariable}

パイプライン内の変数の参照

パイプライン URL 内の変数を参照するには、次の形式を使用します。

tasks:
 task1:
  type: REST
  input:
   action: get
   url: ${var.MY_SERVER_URL}
[task status]

タスクのステータス:

${MY_STAGE.MY_TASK.status}

${MY_STAGE.MY_TASK.statusMessage}

[stage status]

ステージのステータス:

${MY_STAGE.status}

${MY_STAGE.statusMessage}

デフォルトの式

パイプラインでは、式に変数を使用できます。このサマリに、使用できるデフォルトの式を示します。

説明
${comments} パイプラインの実行要求時に提供されるコメント。
${duration} パイプラインの実行に要した時間。
${endTime} 完了した場合は、パイプライン実行の終了時刻 (UTC)。
${executedOn} 開始時刻と同じ。パイプライン実行が開始された時刻 (UTC)。
${executionId} パイプライン実行の ID。
${executionUrl} ユーザー インターフェイス内のパイプライン実行に移動する URL。
${name} パイプラインの名前。
${requestBy} タスクを申請したユーザーの名前。
${stageName} ステージの範囲で使用される、現在のステージの名前。
${startTime} パイプライン実行の開始時刻 (UTC)。
${status} 実行のステータス。
${statusMessage} パイプライン実行のステータス メッセージ。
${taskName} タスクの入力または通知で使用される、現在のタスクの名前。

パイプライン タスクでの SCOPE と KEY の使用

式は、サポートされているパイプライン タスクのいずれでも使用できます。次の例では、SCOPEKEY の定義方法を示し、構文を確認します。コード例では、パイプライン ステージとタスク名として MY_STAGEMY_TASK を使用しています。

使用可能なタスクの詳細については、Code Stream で使用可能なタスクのタイプを参照してください。

表 2. タスクのゲート
タスク Scope Key タスクでの SCOPE と KEY の使用方法
[ユーザー操作]
Input

summary:ユーザー操作の申請のサマリ

description:ユーザー操作の申請の説明

approvers:承認者のメール アドレスのリスト。各エントリは、カンマを使用した変数にすることができます。また、個々のメール アドレスをセミコロンで区切ることができます

approverGroups:プラットフォームと ID の承認者グループ アドレスのリスト

sendemail:true に設定されている場合、オプションで、申請または応答時に E メール通知を送信します

expirationInDays:申請の有効期限を表す日数

${MY_STAGE.MY_TASK.input.summary}

${MY_STAGE.MY_TASK.input.description}

${MY_STAGE.MY_TASK.input.approvers}

${MY_STAGE.MY_TASK.input.approverGroups}

${MY_STAGE.MY_TASK.input.sendemail}

${MY_STAGE.MY_TASK.input.expirationInDays}

Output

index:申請を表す 6 桁の 16 進数の文字列

respondedBy:ユーザー操作を承認または拒否したユーザーのアカウント名

respondedByEmail:応答者のメール アドレス

comments:応答時に返されるコメント

${MY_STAGE.MY_TASK.output.index}

${MY_STAGE.MY_TASK.output.respondedBy}

${MY_STAGE.MY_TASK.output.respondedByEmail}

${MY_STAGE.MY_TASK.output.comments}

[条件]
Input

condition:評価する条件。条件が true に評価されるとタスクは完了とマークされ、それ以外の応答ではタスクは失敗します

${MY_STAGE.MY_TASK.input.condition}

Output

result:評価による結果

${MY_STAGE.MY_TASK.output.response}

表 3. パイプライン タスク
タスク Scope Key タスクでの SCOPE と KEY の使用方法
[パイプライン]
Input

name:実行するパイプラインの名前

inputProperties:ネストされたパイプライン実行に渡す入力プロパティ

${MY_STAGE.MY_TASK.input.name}

${MY_STAGE.MY_TASK.input.inputProperties} # すべてのプロパティを参照

${MY_STAGE.MY_TASK.input.inputProperties.input1} # input1 の値を参照

Output

executionStatus:パイプライン実行のステータス

executionIndex:パイプライン実行のインデックス

outputProperties:パイプライン実行の出力プロパティ

${MY_STAGE.MY_TASK.output.executionStatus}

${MY_STAGE.MY_TASK.output.executionIndex}

${MY_STAGE.MY_TASK.output.outputProperties} # すべてのプロパティを参照

${MY_STAGE.MY_TASK.output.outputProperties.output1} # output1 の値を参照

表 4. 継続的インテグレーション タスクの自動化
タスク Scope Key タスクでの SCOPE と KEY の使用方法
[CI]
Input

steps:実行するコマンドを表す一連の文字列

export:手順の実行後も保持する環境変数

artifacts:共有パスに保持するアーティファクトのパス

process:JUnit、JaCoCo、Checkstyle、FindBugs 処理の構成要素のセット

${MY_STAGE.MY_TASK.input.steps}

${MY_STAGE.MY_TASK.input.export}

${MY_STAGE.MY_TASK.input.artifacts}

${MY_STAGE.MY_TASK.input.process}

${MY_STAGE.MY_TASK.input.process[0].path} # 最初の構成のパスを参照

Output

export:入力 exports からエクスポートされる環境変数を表すキーと値のペア

artifacts:正常に保存されたアーティファクトへのパス

process:入力 processResponse の処理結果のセット

${MY_STAGE.MY_TASK.output.exports} # すべてのエクスポートを参照

${MY_STAGE.MY_TASK.output.exports.myvar} # myvar の値を参照

${MY_STAGE.MY_TASK.output.artifacts}

${MY_STAGE.MY_TASK.output.processResponse}

${MY_STAGE.MY_TASK.output.processResponse[0].result} # 最初のプロセス構成の結果

[カスタム]
Input

name:カスタム統合の名前

version:カスタム統合のバージョン、リリース済みまたは廃止済み

properties:カスタム統合に送信するプロパティ

${MY_STAGE.MY_TASK.input.name}

${MY_STAGE.MY_TASK.input.version}

${MY_STAGE.MY_TASK.input.properties} # すべてのプロパティを参照

${MY_STAGE.MY_TASK.input.properties.property1} # property1 の値を参照

Output

properties:カスタム統合の応答からの出力プロパティ

${MY_STAGE.MY_TASK.output.properties} # すべてのプロパティを参照

${MY_STAGE.MY_TASK.output.properties.property1} # property1 の値を参照

表 5. 継続的展開タスクの自動化:クラウド テンプレート
タスク Scope Key タスクでの SCOPE と KEY の使用方法
[クラウド テンプレート]
Input

action[createDeployment][updateDeployment][deleteDeployment][rollbackDeployment] のいずれか

blueprintInputParams: [展開の作成] アクションおよび [展開の更新] アクションで使用されます。

allowDestroy:更新の展開プロセスでマシンを破棄できます。

[CREATE_DEPLOYMENT]

  • blueprintName:クラウド テンプレートの名前
  • blueprintVersion:クラウド テンプレートのバージョン

または

  • fileUrl:Git サーバを選択した後の、リモート クラウド テンプレート YAML の URL。

[UPDATE_DEPLOYMENT]

次のいずれかの組み合わせ:

  • blueprintName:クラウド テンプレートの名前
  • blueprintVersion:クラウド テンプレートのバージョン

または

  • fileUrl:Git サーバを選択した後の、リモート クラウド テンプレート YAML の URL。

------

  • deploymentId:展開の ID

または

  • deploymentName:展開の名前

------

[DELETE_DEPLOYMENT]

  • deploymentId:展開の ID

または

  • deploymentName:展開の名前

[ROLLBACK_DEPLOYMENT]

次のいずれかの組み合わせ:

  • deploymentId:展開の ID

または

  • deploymentName:展開の名前

------

  • blueprintName:クラウド テンプレートの名前
  • rollbackVersion:ロールバックするバージョン
Output

他のタスクまたはパイプラインの出力にバインドできるパラメータ:

  • 展開名は、${Stage0.Task0.output.deploymentName} としてアクセスできます。
  • 展開 ID は、${Stage0.Task0.output.deploymentId} としてアクセスできます。
  • 展開の詳細は複雑なオブジェクトです。内部の詳細には、JSON の結果を使用してアクセスできます。

任意のプロパティにアクセスするには、ドット演算子を使用して JSON 階層を指定します。たとえば、Cloud_Machine_1[0] というリソースのアドレスにアクセスする場合、[$] バインディングは次のとおりです。

${Stage0.Task0.output.deploymentDetails.resources['Cloud_Machine_1[0]'].address}

同様に、フレーバーの場合の [$] バインディングは次のとおりです。

${Stage0.Task0.output.deploymentDetails.resources['Cloud_Machine_1[0]'].flavor}

Code Stream のユーザー インターフェイスでは、任意のプロパティについて [$] バインディングを取得できます。

  1. タスクの出力プロパティ領域で、[JSON 出力の表示] をクリックします。
  2. [$] バインディングを見つけるために、任意のプロパティを入力します。
  3. 検索アイコンをクリックすると、対応する [$] バインディングが表示されます。

JSON 出力の例:

JSON 出力には、address などの用語を検索できるパス ファインダが含まれています。 Code Stream には、バインドの詳細な定義が示されます。

展開の詳細オブジェクトの例:

{
	"id": "6a031f92-d0fa-42c8-bc9e-3b260ee2f65b",
	"name": "deployment_6a031f92-d0fa-42c8-bc9e-3b260ee2f65b",
	"description": "Pipeline Service triggered operation",
	"orgId": "434f6917-4e34-4537-b6c0-3bf3638a71bc",
	"blueprintId": "8d1dd801-3a32-4f3b-adde-27f8163dfe6f",
	"blueprintVersion": "1",
	"createdAt": "2020-08-27T13:50:24.546215Z",
	"createdBy": "[email protected]",
	"lastUpdatedAt": "2020-08-27T13:52:50.674957Z",
	"lastUpdatedBy": "[email protected]",
	"inputs": {},
	"simulated": false,
	"projectId": "267f8448-d26f-4b65-b310-9212adb3c455",
	"resources": {
		"Cloud_Machine_1[0]": {
			"id": "/resources/compute/1606fbcd-40e5-4edc-ab85-7b559aa986ad",
			"name": "Cloud_Machine_1[0]",
			"powerState": "ON",
			"address": "10.108.79.33",
			"resourceLink": "/resources/compute/1606fbcd-40e5-4edc-ab85-7b559aa986ad",
			"componentTypeId": "Cloud.vSphere.Machine",
			"endpointType": "vsphere",
			"resourceName": "Cloud_Machine_1-mcm110615-146929827053",
			"resourceId": "1606fbcd-40e5-4edc-ab85-7b559aa986ad",
			"resourceDescLink": "/resources/compute-descriptions/1952d1d3-15f0-4574-ae42-4fbf8a87d4cc",
			"zone": "Automation / Vms",
			"countIndex": "0",
			"image": "ubuntu",
			"count": "1",
			"flavor": "small",
			"region": "MYBU",
			"_clusterAllocationSize": "1",
			"osType": "LINUX",
			"componentType": "Cloud.vSphere.Machine",
			"account": "bha"
		}
	},
	"status": "CREATE_SUCCESSFUL",
	"deploymentURI": "https://api.yourenv.com/automation-ui/#/deployment-ui;ash=/deployment/6a031f92-d0fa-42c8-bc9e-3b260ee2f65b"
}
表 6. 継続的展開タスクの自動化:Kubernetes
タスク Scope Key タスクでの SCOPE と KEY の使用方法
[Kubernetes]
Input

action[GET][CREATE][APPLY][DELETE][ROLLBACK] のいずれか

  • timeout:任意のアクションの全体的なタイムアウト
  • filterByLabel:K8S labelSelector を使用して、アクション GET に対してフィルタを適用する追加ラベル

[GET、CREATE、DELETE、APPLY]

  • yaml:処理して Kubernetes に送信するインライン YAML
  • parameters:KEY と VALUE のペア - インライン YAML 入力領域で $$KEYVALUE に置き換える
  • filePath:YAML の取得元となる、SCM Git エンドポイントからの相対パス(指定されている場合)
  • scmConstants:KEY と VALUE のペア - SCM 経由で取得された YAML で $${KEY}VALUE に置き換える
  • continueOnConflict:true に設定すると、リソースがすでにある場合、タスクは続行される

[ROLLBACK]

  • resourceType:ロールバックするリソース タイプ
  • resourceName:ロールバックするリソース名
  • namespace:ロールバックを実行する必要がある名前空間
  • revision:ロールバックするリビジョン

${MY_STAGE.MY_TASK.input.action} # 実行するアクションを決定します。

${MY_STAGE.MY_TASK.input.timeout}

${MY_STAGE.MY_TASK.input.filterByLabel}

${MY_STAGE.MY_TASK.input.yaml}

${MY_STAGE.MY_TASK.input.parameters}

${MY_STAGE.MY_TASK.input.filePath}

${MY_STAGE.MY_TASK.input.scmConstants}

${MY_STAGE.MY_TASK.input.continueOnConflict}

${MY_STAGE.MY_TASK.input.resourceType}

${MY_STAGE.MY_TASK.input.resourceName}

${MY_STAGE.MY_TASK.input.namespace}

${MY_STAGE.MY_TASK.input.revision}

Output

response:応答全体をキャプチャする

response.<RESOURCE>:リソースは configMaps、deployments、endpoints、ingresses、jobs、namespaces、pods、replicaSets、replicationControllers、secrets、services、statefulSets、nodes、loadBalancers に対応します。

response.<RESOURCE>.<KEY>:キーは apiVersion、kind、metadata、spec のいずれかに対応します。

${MY_STAGE.MY_TASK.output.response}

${MY_STAGE.MY_TASK.output.response.}

表 7. 開発、テスト、展開アプリケーションの統合
タスク Scope Key タスクでの SCOPE と KEY の使用方法
[Bamboo]
Input

plan:プランの名前

planKey:プラン キー

variables:プランに渡される変数

parameters:プランに渡されるパラメータ

${MY_STAGE.MY_TASK.input.plan}

${MY_STAGE.MY_TASK.input.planKey}

${MY_STAGE.MY_TASK.input.variables}

${MY_STAGE.MY_TASK.input.parameters} # すべてのパラメータを参照

${MY_STAGE.MY_TASK.input.parameters.param1} # param1 の値を参照

Output

resultUrl:結果のビルドの URL

buildResultKey:結果のビルドのキー

buildNumber:ビルド番号

buildTestSummary:実行されるテストのサマリ

successfulTestCount:合格したテスト結果

failedTestCount:失敗したテスト結果

skippedTestCount:スキップされたテスト結果

artifacts:ビルドからのアーティファクト

${MY_STAGE.MY_TASK.output.resultUrl}

${MY_STAGE.MY_TASK.output.buildResultKey}

${MY_STAGE.MY_TASK.output.buildNumber}

${MY_STAGE.MY_TASK.output.buildTestSummary} # すべての結果を参照

${MY_STAGE.MY_TASK.output.successfulTestCount} # 特定のテスト カウントを参照

${MY_STAGE.MY_TASK.output.buildNumber}

[Jenkins]
Input

job:Jenkins ジョブの名前

parameters:ジョブに渡されるパラメータ

${MY_STAGE.MY_TASK.input.job}

${MY_STAGE.MY_TASK.input.parameters} # すべてのパラメータを参照

${MY_STAGE.MY_TASK.input.parameters.param1} # パラメータの値を参照

Output

job:Jenkins ジョブの名前

jobId:結果のジョブの ID(1234 など)

jobStatus:Jenkins のステータス

jobResults:テスト/コード カバレッジ結果のコレクション

jobUrl:結果のジョブの実行 URL

${MY_STAGE.MY_TASK.output.job}

${MY_STAGE.MY_TASK.output.jobId}

${MY_STAGE.MY_TASK.output.jobStatus}

${MY_STAGE.MY_TASK.output.jobResults} # すべての結果を参照

${MY_STAGE.MY_TASK.output.jobResults.junitResponse} # JUnit の結果を参照

${MY_STAGE.MY_TASK.output.jobResults.jacocoRespose} # JaCoCo の結果を参照

${MY_STAGE.MY_TASK.output.jobUrl}

[TFS]
Input

projectCollection:TFS からのプロジェクト コレクション

teamProject:使用可能なコレクションから選択したプロジェクト

buildDefinitionId:実行するビルド定義 ID

${MY_STAGE.MY_TASK.input.projectCollection}

${MY_STAGE.MY_TASK.input.teamProject}

${MY_STAGE.MY_TASK.input.buildDefinitionId}

Output

buildId:結果のビルド ID

buildUrl:ビルドのサマリへのアクセス URL

logUrl:ログの参照 URL

dropLocation:アーティファクトのドロップ場所(ある場合)

${MY_STAGE.MY_TASK.output.buildId}

${MY_STAGE.MY_TASK.output.buildUrl}

${MY_STAGE.MY_TASK.output.logUrl}

${MY_STAGE.MY_TASK.output.dropLocation}

[vRO]
Input

workflowId:実行するワークフローの ID

parameters:ワークフローに渡されるパラメータ

${MY_STAGE.MY_TASK.input.workflowId}

${MY_STAGE.MY_TASK.input.parameters}

Output

workflowExecutionId:ワークフロー実行の ID

properties:ワークフロー実行からの出力プロパティ

${MY_STAGE.MY_TASK.output.workflowExecutionId}

${MY_STAGE.MY_TASK.output.properties}

表 8. API を使用した他のアプリケーションの統合
タスク Scope Key タスクでの SCOPE と KEY の使用方法
[REST]
Input

url:呼び出す URL

action:使用する HTTP メソッド

headers:渡される HTTP ヘッダー

payload:要求ペイロード

fingerprint:https の URL と照合するフィンガープリント

allowAllCerts:true に設定されている場合、URL が https のすべての証明書を使用できます。

${MY_STAGE.MY_TASK.input.url}

${MY_STAGE.MY_TASK.input.action}

${MY_STAGE.MY_TASK.input.headers}

${MY_STAGE.MY_TASK.input.payload}

${MY_STAGE.MY_TASK.input.fingerprint}

${MY_STAGE.MY_TASK.input.allowAllCerts}

Output

responseCode:HTTP 応答コード

responseHeaders:HTTP 応答ヘッダー

responseBody:受信する応答の文字列形式

responseJson:コンテンツ タイプが [application/json] の場合のトラバーサブル応答

${MY_STAGE.MY_TASK.output.responseCode}

${MY_STAGE.MY_TASK.output.responseHeaders}

${MY_STAGE.MY_TASK.output.responseHeaders.header1} # 応答ヘッダー header1 を参照

${MY_STAGE.MY_TASK.output.responseBody}

${MY_STAGE.MY_TASK.output.responseJson} # JSON としての応答を参照

${MY_STAGE.MY_TASK.output.responseJson.a.b.c} # 応答に含まれる a.b.c JSON パスの後にネストされたオブジェクトを参照

[ポーリング]
Input

url:呼び出す URL

headers:渡される HTTP ヘッダー

exitCriteria:タスクが成功または失敗するために満たす必要がある基準。キーと値のペア。「成功」の場合の式、「失敗」の場合の式

pollCount:実行する反復回数。 Code Stream 管理者は、ポーリング数を最大 10,000 に設定できます。

pollIntervalSeconds:各反復処理の間に待機する秒数。ポーリング間隔は 60 秒以上にする必要があります。

ignoreFailure:true に設定すると、途中の応答での失敗を無視

fingerprint:https の URL と照合するフィンガープリント

allowAllCerts:true に設定されている場合、URL が https のすべての証明書を使用できます。

${MY_STAGE.MY_TASK.input.url}

${MY_STAGE.MY_TASK.input.headers}

${MY_STAGE.MY_TASK.input.exitCriteria}

${MY_STAGE.MY_TASK.input.pollCount}

${MY_STAGE.MY_TASK.input.pollIntervalSeconds}

${MY_STAGE.MY_TASK.input.ignoreFailure}

${MY_STAGE.MY_TASK.input.fingerprint}

${MY_STAGE.MY_TASK.input.allowAllCerts}

Output

responseCode:HTTP 応答コード

responseBody:受信する応答の文字列形式

responseJson:コンテンツ タイプが [application/json] の場合のトラバーサブル応答

${MY_STAGE.MY_TASK.output.responseCode}

${MY_STAGE.MY_TASK.output.responseBody}

${MY_STAGE.MY_TASK.output.responseJson} # Refer to response as JSON

表 9. リモートおよびユーザー定義のスクリプトの実行
タスク Scope Key タスクでの SCOPE と KEY の使用方法
[PowerShell]

PowerShell タスクを実行するには、次の手順を実行する必要があります。

  • リモート Windows ホストに対するセッションをアクティブにします。
  • base64 PowerShell コマンドを入力する場合は、最初にコマンド全体の長さを計算します。詳細については、Code Stream で使用可能なタスクのタイプを参照してください。
入力

host:マシンの IP アドレスまたはホスト名

username:接続に使用するユーザー名

password:接続に使用するパスワード

useTLS:https 接続の試行

trustCert:true に設定すると、自己署名証明書を信頼

script:実行するスクリプト

workingDirectory:スクリプトを実行する前にディレクトリを切り替える先のパス

environmentVariables:設定する環境変数のキーと値のペア

arguments:スクリプトに渡す引数

${MY_STAGE.MY_TASK.input.host}

${MY_STAGE.MY_TASK.input.username}

${MY_STAGE.MY_TASK.input.password}

${MY_STAGE.MY_TASK.input.useTLS}

${MY_STAGE.MY_TASK.input.trustCert}

${MY_STAGE.MY_TASK.input.script}

${MY_STAGE.MY_TASK.input.workingDirectory}

${MY_STAGE.MY_TASK.input.environmentVariables}

${MY_STAGE.MY_TASK.input.arguments}

出力

:ファイル $SCRIPT_RESPONSE_FILE response の内容

responseFilePath$SCRIPT_RESPONSE_FILE の値

exitCode:プロセス終了コード

logFilePath:stdout を含むファイルへのパス

errorFilePath:stderr を含むファイルへのパス

${MY_STAGE.MY_TASK.output.response}

${MY_STAGE.MY_TASK.output.responseFilePath}

${MY_STAGE.MY_TASK.output.exitCode}

${MY_STAGE.MY_TASK.output.logFilePath}

${MY_STAGE.MY_TASK.output.errorFilePath}

[SSH]
Input

host:マシンの IP アドレスまたはホスト名

username:接続に使用するユーザー名

password:接続に使用するパスワード(オプションで privateKey を使用可能)

privateKey:接続に使用する PrivateKey

passphrase:privateKey のロックを解除するためのオプションのパスフレーズ

script:実行するスクリプト

workingDirectory:スクリプトを実行する前にディレクトリを切り替える先のパス

environmentVariables:設定する環境変数のキーと値のペア

${MY_STAGE.MY_TASK.input.host}

${MY_STAGE.MY_TASK.input.username}

${MY_STAGE.MY_TASK.input.password}

${MY_STAGE.MY_TASK.input.privateKey}

${MY_STAGE.MY_TASK.input.passphrase}

${MY_STAGE.MY_TASK.input.script}

${MY_STAGE.MY_TASK.input.workingDirectory}

${MY_STAGE.MY_TASK.input.environmentVariables}

Output

:ファイル $SCRIPT_RESPONSE_FILE response の内容

responseFilePath$SCRIPT_RESPONSE_FILE の値

exitCode:プロセス終了コード

logFilePath:stdout を含むファイルへのパス

errorFilePath:stderr を含むファイルへのパス

${MY_STAGE.MY_TASK.output.response}

${MY_STAGE.MY_TASK.output.responseFilePath}

${MY_STAGE.MY_TASK.output.exitCode}

${MY_STAGE.MY_TASK.output.logFilePath}

${MY_STAGE.MY_TASK.output.errorFilePath}

タスク間で変数のバインドを使用する方法

次の例は、パイプライン タスクで変数のバインドを使用する方法を示しています。

表 10. 構文形式のサンプル
構文
パイプライン通知およびパイプライン出力プロパティにタスク出力値を使用する ${<Stage Key>.<Task Key>.output.<Task output key>}
現在のタスクの入力として前のタスク出力値を参照する ${<Previous/Current Stage key>.<Previous task key not in current Task group>.output.<task output key>}

詳細

タスクのバインド変数の詳細については、次を参照してください。