パイプラインのパラメーターを使って実行するワークフローを選択する方法

1+ year ago1 min read
Last updated • Read time
クラウド
This document is applicable to CircleCI クラウド
Server v4.x
This document is applicable to CircleCI Server v4.x
Server v3.x
This document is applicable to CircleCI Server v3.x

API を使用して特定のワークフローを手動で実行しながら、プロジェクトへのプッシュごとにワークフローを実行できるようにしたい場合があります。 これを行うには、 パイプラインのパラメーター を使って、実行するワークフローを決定します。

config.yml

以下の例ではデフォルトで build ワークフローを実行し、API を使って他にどのワークフローを実行するかを制御することができます。

version: 2.1

parameters:
  action:
    type: enum
    enum: [build, report]
    default: build

jobs:
  build:
    machine: true
    steps:
      - checkout
      - run: ./run-tests.sh

  report:
    machine: true
    steps:
      - checkout
      - run: ./create-report.sh

workflows:
  build:
    when:
      equal: [ build, << pipeline.parameters.action >> ]
    jobs:
      - build

  report:
    when:
      equal: [ report, << pipeline.parameters.action >> ]
    jobs:
      - report

API を使ってパラメーターを指定する

この action パラメーターは、プロジェクトへのプッシュ時にデフォルトで build されます。 次に、API v2 の 新しいパイプラインのトリガー エンドポイントを使って別のワークフローを選択し、action に別の値を指定する例を示します。

この例では、report という名前のワークフローが実行されます。 project-slug をご自身の値に置き換えてください。

curl -X POST https://circleci.com/api/v2/project/{project-slug}/pipeline \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -H "Circle-Token: API_KEY" \
  -d '{ "parameters": { "action": report } }'

次のステップ

API v2 エンドポイントに使用に関する詳細は、 API Reference Document API Developers Guide Worked Exampleを参照してください。