From 90843d3c39430e80e049578d8a17fc64492e699d Mon Sep 17 00:00:00 2001 From: Peter Evans Date: Sat, 5 Oct 2019 09:22:43 +0900 Subject: [PATCH] Update README --- README.md | 39 +++++++++++++++++++++++++++++++++++++-- 1 file changed, 37 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 3e19391..5c8a79c 100644 --- a/README.md +++ b/README.md @@ -81,7 +81,7 @@ To use this strategy, set `BRANCH_SUFFIX` to the value `none`. The variable `PUL If there are files or directories you want to ignore you can simply add them to a `.gitignore` file at the root of your repository. The action will respect this file. -## Example +## Examples Here is an example that sets all the main environment variables. @@ -102,10 +102,10 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} COMMIT_MESSAGE: Add report file + PULL_REQUEST_TITLE: '[Example] Add report file' PULL_REQUEST_BODY: > This PR is auto-generated by [create-pull-request](https://github.com/peter-evans/create-pull-request). - PULL_REQUEST_TITLE: '[Example] Add report file' PULL_REQUEST_LABELS: report, automated pr PULL_REQUEST_ASSIGNEES: peter-evans PULL_REQUEST_REVIEWERS: peter-evans @@ -120,6 +120,41 @@ This configuration will create pull requests that look like this: ![Pull Request Example](https://github.com/peter-evans/create-pull-request/blob/master/pull-request-example.png?raw=true) +### Dynamic configuration using variables + +The following examples show how configuration for the action can be dynamically defined in a previous workflow step. + +The recommended method is to use `set-output`. Note that the step where output variables are defined must have an id. + +```yml + - name: Set output variables + id: vars + run: | + echo ::set-output name=pr_title::"[Test] Add report file $(date +%d-%m-%Y)" + echo ::set-output name=pr_body::"This PR was auto-generated on $(date +%d-%m-%Y) \ + by [create-pull-request](https://github.com/peter-evans/create-pull-request)." + - name: Create Pull Request + uses: peter-evans/create-pull-request@v1.5.0 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + PULL_REQUEST_TITLE: ${{ steps.vars.outputs.pr_title }} + PULL_REQUEST_BODY: ${{ steps.vars.outputs.pr_body }} +``` + +Since the action reads environment variables from the system, it's technically not necessary to explicitly pass them as long as they exist in the environment. So the following method using `set-env` *also* works, but explicitly passing the configuration parameters using the previous method is perferred for its clarity. + +```yml + - name: Set environment variables + run: | + echo ::set-env name=PULL_REQUEST_TITLE::"[Test] Add report file $(date +%d-%m-%Y)" + echo ::set-env name=PULL_REQUEST_BODY::"This PR was auto-generated on $(date +%d-%m-%Y) \ + by [create-pull-request](https://github.com/peter-evans/create-pull-request)." + - name: Create Pull Request + uses: peter-evans/create-pull-request@v1.5.0 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} +``` + ## License [MIT](LICENSE)