Embeddedアクション
embeddedアクションはジョブファイルを1つのステップとして実行します。共通のセットアップやチェックを別ファイルに切り出し、複数のワークフローから再利用できます。
読み込むファイルはワークフローではなくジョブです。name、steps、必要ならdefaultsを持ち、jobsキーはありません。
基本的な構文
auth.yml:
name: Authentication
steps:
- name: Get token
id: get_token
uses: shell
with:
cmd: echo "0123456789"
test: res.code == 0
outputs:
mytoken: replace(res.stdout, '\n', '')workflow.yml:
jobs:
- name: Main
steps:
- name: Authenticate
id: auth
uses: embedded
with:
path: "./auth.yml"
vars:
environment: "{{vars.environment}}"
test: res.code == 0
outputs:
token: res.outputs.mytoken
- name: Call the API
uses: http
with:
method: GET
url: "{{vars.api_url}}/me"
headers:
authorization: "Bearer {{outputs.auth.token}}"
test: res.code == 200パラメータ
| パラメータ | 型 | 必須 | デフォルト | 説明 |
|---|---|---|---|---|
path | String | 必須 | - | ジョブファイルのパス。ワークフローファイルからではなく、カレントディレクトリからの相対パスとして解決されます |
vars | Object | 任意 | {} | 埋め込みジョブに渡す変数。向こう側ではvars.<name>で参照します |
レスポンスオブジェクト
| プロパティ | 型 | 説明 |
|---|---|---|
res.code | Integer | 埋め込みジョブのすべてのステップが成功したとき0 |
res.outputs | Object | 埋め込みジョブのステップが公開したoutputs。出力名がキーになります |
res.report | String | 埋め込みジョブのレポート。親のレポートにもネストして表示されます |
res.error | String | 失敗時のエラーメッセージ |
rt | Object | 埋め込みジョブの実行時間 |
res.outputsのキーは出力名なので、mytokenとして公開した値はres.outputs.mytokenで読みます。
関連項目
更新日時