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.
Note
Please submit a Feature Request for new features or Open an Issue if you find any bugs.
Input | Req. | Default | Description |
---|---|---|---|
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
Key | Value |
---|---|
name | test |
scripts.lint | test |
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
Input | Value |
---|---|
file | package.json |
keys | name,scripts.lint |
values | test,test |
write | true |
seperator | . |
If no options are passed, it will update the manifest.json
file's key version
to the value of GITHUB_REF_NAME
.
For multiple keys
and values
use new lines with a yaml |
.
- name: 'Update JSON'
uses: cssnr/update-json-value-action@v1
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 }}'
💡 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 }}"
The following rolling tags are maintained.
You can view the release notes for each version on the releases page.
For general help or to request a feature, see:
- Q&A Discussion: https://github.com/cssnr/update-json-value-action/discussions/categories/q-a
- Request a Feature: https://github.com/cssnr/update-json-value-action/discussions/categories/feature-requests
If you are experiencing an issue/bug or getting unexpected results, you can:
- Report an Issue: https://github.com/cssnr/update-json-value-action/issues
- Chat with us on Discord: https://discord.gg/wXy6m2X8wY
- Provide General Feedback: https://cssnr.github.io/feedback/
For more information, see the CSSNR SUPPORT.md.
Currently, the best way to contribute to this project is to star this project on GitHub.
For more information, see the CSSNR SUPPORT.md.
Additionally, you can support other GitHub Actions I have published:
- Stack Deploy Action
- Portainer Stack Deploy
- VirusTotal Action
- Mirror Repository Action
- Update Version Tags Action
- Update JSON Value Action
- Parse Issue Form Action
- Cloudflare Purge Cache Action
- Mozilla Addon Update Action
- Docker Tags Action
For a full list of current projects to support visit: https://cssnr.github.io/