Put and get values from Cloudflare KV.
Cloudflare needs a little time to build the preview, you can check the average
build time in your deployments and add the seconds plus a little to a sleep
action, to wait until the deployment is ready. The action only works on
branches, so make sure you exclude the main
branch from the trigger:
on:
push:
branches:
- '**'
- '!main'
Here are the steps for an example job:
- run: sleep 30
- name: cloudflare-kv-action
uses: zentered/[email protected]
id: cloudflare_kv
env:
CLOUDFLARE_API_KEY: ${{ secrets.CLOUDFLARE_API_KEY }}
CLOUDFLARE_ACCOUNT_EMAIL: ${{ secrets.CLOUDFLARE_ACCOUNT_EMAIL }}
CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
with:
namespace_identifier: '123'
key_name: 'hello'
value: 'world'
expiration_ttl: 120
- name: Value
run: echo "${{ steps.cloudflare_kv.outputs.value }}"
In the repository, go to "Settings", then "Secrets" and add "CLOUDFLARE_API_TOKEN", the value you can retrieve on your Cloudflare account. You also need to add:
CLOUDFLARE_ACCOUNT_EMAIL
(your login email, optional)CLOUDFLARE_ACCOUNT_ID
(from the URL:https://dash.cloudflare.com/123abc....
)CLOUDFLARE_API_KEY
(from the URL:https://dash.cloudflare.com/profile/api-tokens
)
Name | Requirement | Description |
---|---|---|
namespace_identifier |
required | Cloudflare namespace ID |
key_name |
required | KV key name |
value |
optional | Optional: Use "value" to set a key, otherwise it will be retrieved |
expiration |
optional | Optional: expiration |
expiration_ttl |
optional | Optional: If neither expiration nor expiration_ttl is specified, the key-value pair will never expire. If both are set, expiration_ttl is used and expiration is ignored. |
Name | Description |
---|---|
value |
KV value |
See CONTRIBUTING.
See LICENSE.