{"id":13478552,"url":"https://github.com/uicrooks/shopify-settings-control","last_synced_at":"2025-03-27T07:31:19.384Z","repository":{"id":54299699,"uuid":"337780061","full_name":"uicrooks/shopify-settings-control","owner":"uicrooks","description":"Automatic Git version control for Shopify settings_data.json via CI/CD","archived":true,"fork":false,"pushed_at":"2021-08-16T12:28:26.000Z","size":48,"stargazers_count":9,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-10-30T11:42:20.676Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/uicrooks.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-02-10T16:17:40.000Z","updated_at":"2023-01-28T07:12:27.000Z","dependencies_parsed_at":"2022-08-13T11:20:46.841Z","dependency_job_id":null,"html_url":"https://github.com/uicrooks/shopify-settings-control","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uicrooks%2Fshopify-settings-control","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uicrooks%2Fshopify-settings-control/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uicrooks%2Fshopify-settings-control/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uicrooks%2Fshopify-settings-control/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/uicrooks","download_url":"https://codeload.github.com/uicrooks/shopify-settings-control/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245802528,"owners_count":20674692,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-31T16:01:58.621Z","updated_at":"2025-03-27T07:31:18.045Z","avatar_url":"https://github.com/uicrooks.png","language":null,"readme":"\u003c!-- logo (start) --\u003e\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\".github/img/logo.svg\" width=\"300px\"\u003e\n\u003c/p\u003e\n\u003c!-- logo (end) --\u003e\n\n\u003c!-- badges (start) --\u003e\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://img.shields.io/github/package-json/v/uicrooks/shopify-settings-control?color=%236e78ff\"\u003e\n\u003c/p\u003e\n\u003c!-- badges (end) --\u003e\n\n\u003c!-- title / description (start) --\u003e\n\u003ch2 align=\"center\"\u003eShopify Settings Control\u003c/h2\u003e\n\nAutomatic Git version control for Shopify `settings_data.json` via CI/CD. Create a dedicated repo to backup `settings_data.json` for a Shopify store.\n\u003e Designed to work with [Shopify Theme Lab](https://github.com/uicrooks/shopify-theme-lab).\n\u003c!-- title / description (end) --\u003e\n\n\u003c!-- how it works (start) --\u003e\n## How it works\nA GitHub action runs automatically once during the specified interval. It downloads the `settings_data.json` file from the provided Shopify store. If the remote file has changed, it's committed and then pushed to this repo, if not, nothing happens. This project has a similar directory structure to Shopify Theme Lab, you will find the settings file in `shopify/config/settings_data.json` once it's added to this repo.\n\u003c!-- how it works (end) --\u003e\n\n\u003c!-- getting started (start) --\u003e\n## Getting started\n\n### GitHub actions\n\n\u003e First, make sure the theme is already initialized on the Shopify store in question\n\n1. “Use this template” to create a new repository on GitHub\n2. Add the following four secrets to your Shopify Theme Lab repo in `settings` → `secrets`:\n```sh\nSHOPIFY_API_PASSWORD # your-api-password\nSHOPIFY_STORE_URL # your-store.myshopify.com\nSHOPIFY_ENV # dev or live\nSHOPIFY_THEME_ID # theme-id (without quotation marks) - find the id either in shopify.[env].config.yml or with shopify:themes task in your Shopify Theme Lab project\n```\n3. Test the action by going to `actions` → `Shopify Settings Control` and click on `Run workflow`\n\u003c!-- getting started (end) --\u003e\n\n\u003c!-- published theme (start) --\u003e\n## Published theme\nIf you want to back up the settings for the published/main theme, pass the `--main` flag (shorthand `-m`) instead of the `--id` / `-i` option when initializing the config:\n\n```yml\nnpx themelab shopify:init -p ${{ secrets.SHOPIFY_API_PASSWORD }} -s ${{ secrets.SHOPIFY_STORE_URL }} -e ${{ secrets.SHOPIFY_ENV }} -m\n```\n\u003c!-- published theme (end) --\u003e\n\n\u003c!-- adjusting schedule (start) --\u003e\n## Adjusting schedule\nBy default, the action is set to run once every hour. You can adjust the `cron` schedule inside [shopify-settings-control.yml](.github/workflows/shopify-settings-control.yml) to change the interval.\n\n```yml\non:\n  schedule:\n    - cron: \"*/60 * * * *\"\n```\n\n```\n┌───────────── minute (0 - 59)\n│ ┌───────────── hour (0 - 23)\n│ │ ┌───────────── day of the month (1 - 31)\n│ │ │ ┌───────────── month (1 - 12)\n│ │ │ │ ┌───────────── day of the week (0 - 6)\n│ │ │ │ │\n│ │ │ │ │\n│ │ │ │ │\n* * * * *\n```\n\nAn asterisk `*` means that the field is considered “any time” - so `* * * * *` means every minute of every day. Note that, at least on GitHub, times are based in UTC so you may have to do some timezone conversion!\n\nTo visualize chron expressions you can use [crontab.guru](https://crontab.guru).\n\u003c!-- adjusting schedule (end) --\u003e","funding_links":[],"categories":["Others"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fuicrooks%2Fshopify-settings-control","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fuicrooks%2Fshopify-settings-control","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fuicrooks%2Fshopify-settings-control/lists"}