Skip to content

cssnr/update-json-value-action

Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Repository files navigation

GitHub Tag Major GitHub Tag Minor GitHub Release Version GitHub Dist Size Workflow Release Workflow Test Workflow Lint Quality Gate Status GitHub Last Commit Codeberg Last Commit GitHub Contributors GitHub Repo Size GitHub Top Language GitHub Discussions GitHub Forks GitHub Repo Stars GitHub Org Stars Discord Ko-fi

Update JSON Value Action

Update JSON file Key Values for Building or Publishing.

Zero configuration action to update a manifest.json file version value to a release tag. Allows setting multiple key/value pairs and setting nested keys. Currently only supports string values.

- name: 'Update JSON'
  uses: cssnr/update-json-value-action@v1

Or set the file, keys, and values.

- name: 'Update JSON'
  uses: cssnr/update-json-value-action@v1
  with:
    file: package.json
    keys: version
    values: v1.0.0

See the Inputs and Examples for more options.

Note

Please submit a Feature Request for new features or Open an Issue if you find any bugs.

Inputs

Input Default Value Description of Input
file manifest.json JSON File Path
keys version JSON Keys to Update
values github.ref_name Values to Update
write true Write Updates to file
seperator . Nested Key Seperator
summary true Add Summary to Job

keys/values: A newline delimited | list of keys/values to update, one per line. See Examples for more details.

summary: Write a Summary for the job. To disable this set to false.

To view a workflow run, click on a recent Test job (requires login).

👀 View Example Summary

💾 ✔️ package.json

Keys/Values
KeyValue
nametest
scripts.linttest
Results
{
  "name": "test",
  "scripts": {
    "build": "ncc build src/index.js",
    "build:watch": "npm run build -- --watch",
    "lint": "test"
  },
  "dependencies": {
    "@actions/core": "^1.11.1"
  },
  "devDependencies": {
    "@eslint/js": "^9.20.0",
    "@vercel/ncc": "^0.38.3",
    "eslint": "^9.20.1",
    "eslint-config-prettier": "^10.0.1",
    "eslint-plugin-prettier": "^5.2.3",
    "prettier": "^3.5.1"
  }
}
Inputs
InputValue
filepackage.json
keysname,scripts.lint
valuestest,test
writetrue
seperator.

If no options are passed, the manifest.json file's version key is updated to the ${{ github.ref_name }}.

- name: 'Update JSON'
  uses: cssnr/update-json-value-action@v1

Outputs

Output Output Description
result Updated JSON String
- name: 'Update JSON'
  id: json
  uses: cssnr/update-json-value-action@v1

- name: 'Echo Result'
  run: echo '${{ steps.json.outputs.result }}'

Examples

💡 Click on an example heading to expand or collapse the example.

Manually setting values and only running on release events
- name: 'Update JSON'
  uses: cssnr/update-json-value-action@v1
  if: ${{ github.event_name == 'release' }}
  with:
    file: manifest.json
    keys: version
    values: ${{ github.ref_name }}
Setting an additional key value pair
- name: 'Update JSON'
  uses: cssnr/update-json-value-action@v1
  if: ${{ github.event_name == 'release' }}
  with:
    file: manifest.json
    keys: |
      version
      version_name
    values: |
      ${{ github.ref_name }}
      "Release ${{ github.ref_name }}"
Set a nested key and use file from different directory
- name: 'Update JSON'
  uses: cssnr/update-json-value-action@v1
  if: ${{ github.event_name == 'release' }}
  with:
    file: src/manifest.json
    keys: |
      meta.version
    values: |
      "Release ${{ github.ref_name }}"

For more examples, you can check out other projects using this action:
https://github.com/cssnr/update-json-value-action/network/dependents

Tags

The following rolling tags are maintained.

Version Tag Rolling Bugs Feat. Name Target Example
GitHub Tag Major Major vN.x.x vN
GitHub Tag Minor Minor vN.N.x vN.N
GitHub Release Micro vN.N.N vN.N.N

You can view the release notes for each version on the releases page.

The Major tag is recommended. It is the most up-to-date and always backwards compatible. Breaking changes would result in a Major version bump. At a minimum you should use a Minor tag.

Support

For general help or to request a feature, see:

If you are experiencing an issue/bug or getting unexpected results, you can:

For more information, see the CSSNR SUPPORT.md.

Contributing

Please consider making a donation to support the development of this project and additional open source projects.

Ko-fi

If you would like to submit a PR, please review the CONTRIBUTING.md.

Additionally, you can support other GitHub Actions I have published:

❔ Unpublished Actions

These actions are not published on the Marketplace, but may be useful.


📝 Template Actions

These are basic action templates that I use for creating new actions.

Note: The docker-test-action builds, runs and pushes images to GitHub Container Registry.


For a full list of current projects visit: https://cssnr.github.io/

About

Update JSON Value Action

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Sponsor this project