Shopify වෙළඳසැල සඳහා සම්පූර්ණයෙන්ම ස්වයංක්රීය වැඩපිළිවෙළ ඉංජිනේරු කිරීම
Shopify වෙළඳසැල සඳහා සම්පූර්ණයෙන්ම ස්වයංක්රීය වැඩපිළිවෙළ ඉංජිනේරු කිරීම
සාර්ථක e-commerce වෙළඳසැල් තබා ගැනීම එහි අභියෝගවලට සාධාරණ කොටසක් සමග පැමිණෙනු ඇත. එය සෑම විටම වෙනස් වන විස්තර, පාරිභෝගික අත්දැකීම් සහ වේදිකාව යාවත්කාලීන කිරීම සඳහා නිශ්චිත අවධානය අවශ්ය වේ.
ඒ නිසාම ස්වයංක්රියාකාරීත්වය ක්රියා කරයි – පහසුකම් පමණක් නොව, ඔබේ වෙළඳසැල ක්රියාත්මකව හා ප්රමාණවත්ව ක්රියාත්මක කිරීම සඳහා අවශ් යතාවයක් ලෙස.Shopify යෙදුම් හා drag-and-drop පරිගණකයේ ධනවත් පරිසරයක් ලබා දෙන අතර, එය බොහෝ විට පහසුකම් සඳහා විවෘතත්වය හා පාලනය වෙළඳාම් කිරීමට අවශ්ය වේ.
පාලනය ආපසු ගන්න
කම්මැලි දේවල් ගැන රොබෝව බය කරන්න!
කම්මැලි දේවල් ගැන රොබෝව බය කරන්න!
උදාහරණයක් ලෙස, ඔබ ඉක්මනින් හෝ පරක්කු වේලාවක, ඔබ අමුත්තන් යෙදුම් සහ මැනවිලි වැඩපිළිවෙළ සමඟ සීමා හා විකල්ප සොයන්න පටන් ගනු ඇත. එවැනි විකල්පයක් වන්නේ GUI මධ්යම මෙවලම් සිට සම්පූර්ණ මෘදුකාංගය සහ පාලනය ලබා දීම සඳහා වැඩසටහන් කළ හැකි පයිප්ලයින් වෙත ගමන් කිරීමයි.
- ඔබේ දත්ත සම්පූර්ණ අයිතිවාසිකම්
- ඔබගේ වෙළඳ නාමය සහ නිෂ්පාදන වලට ගැලපෙන වැඩි දියුණු කිරීම්
- Shareable Workflows: multiple stores could use the same workflow with little to no tweaks (නිර්මානුකූලව බෙදාහැරෙන රැකියාව ක්රියාත්මක කිරීම)
- ක් රියාවලියේ සෑම පියවරකම විශ්වාසය
දැන්, අප ඉහත සඳහන් ප්රශ්න අවම කිරීමට උදව් කිරීමට ස්වයංක්රීය CI pipeline ගොඩනඟා ගත හැකි ආකාරය පරීක්ෂා කරමු. ව්යාපෘති සාක්ෂි සාක්ෂි ලෙස, අපි අපගේ නිෂ්පාදන අන්තර්ගත වැඩ ක්රියාවලිය සංකීර්ණ කිරීම සඳහා pipeline නිර්මාණය කරමු.
ස්ටැක්
මෙන්න මේ workflow වලට බලපාන දේ:
- Shopify - අපගේ නිෂ්පාදන ජීවත් වන තැන
- GitHub ක්රියාකාරකම් - ඇසුරුම් කිරීම සහ වාහන සඳහා
- ShopCTL — Shopify වෙළඳසැල කළමනාකරණය සඳහා මෙහෙයුම් රේඛාව ආකෘතිය
- OpenAI API – නිෂ්පාදන මාතෘකාව වෙනස් කිරීම, SEO අන්තර්ගතය නිර්මාණය කිරීම සහ යෝජනා ලබා ගැනීම
- Python සහ සමහර Bash ස්ක් රිප්ටර - ධනවත් කිරීමේ ලෝහය සහ යාවත්කාලීන කිරීම සඳහා
පළමුවැනි දේ පළමුවැනි දේ - Stack Up
GitHub Actions workflow එකෙන් පටන් ගමු.We will store pipeline configs in the GitHub Actions workflow.We will store pipeline configs in the.github/workflows/
ෆයිල් එකක් නිර්මාණය කරන්නenrich-products.yml
මෙම ගොනුව අපේ නිෂ්පාදන අන්තර්ගතය රැකියාව ක්රියාත්මක කරයි.This file will define jobs for our product content workflow.
# .github/workflows/enrich-products.yml
name: Shopify Product Enrichment
on:
workflow_dispatch:
ඒworkflow_dispatch
GitHub මෙහෙයුම් වල සිදුවීම් ඔබට GitHub පරිශීලකයෙන් හෝ API හරහා රැකියාව ක්රියාත්මක කිරීමට ඉඩ සලසයි.
API Keys
ගිනි යතුරුඅපගේ සැකසුම් සම්පූර්ණ කිරීම සඳහා අපගේ API යතුරු කිහිපයක් අවශ්ය වනු ඇත:OPENAI_API_KEY
AI මෙහෙයුම් සහSHOPIFY_ACCESS_TOKEN
අපගේ වෙළඳසැල සමඟ සන්නිවේදනය කිරීම.
OpenAI API Key ලබා ගන්න
ShopCTL
කඩේඅපි පාවිච්චි කරන්නෙ Asetup-shopctl.yml
ක්රියා ලිපිනය ඇතුළත සහ ඊළඟ config එකතු කරන්න.
# .github/workflows/actions/setup-shopctl.yml
name: Setup ShopCTL
description: Installs Go and ShopCTL CLI
runs:
using: "composite"
steps:
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: "1.24"
- name: Install ShopCTL
shell: bash
run: |
sudo apt-get update
sudo apt-get install -y libx11-dev
go install github.com/ankitpokhrel/shopctl/cmd/shopctl@main
echo "$HOME/go/bin" >> "$GITHUB_PATH"
Custom actions වලට අමතරව, we need to add a configuration for the store we are operating.අපි ක්රියා කරන වෙළඳසැල සඳහා සැකසුම් එකතු කරන්න.shopctl
repo හි root එක මත සහ ඊළඟ config එක අමතන්න.shopconfig.yml
සෑම සිදුවීමකටම මාරු කිරීමstore1
ඔබේ වෙළඳසැල Alias
# shopctl/.shopcofig.yml
ver: v0
contexts:
- alias: store1
store: store1.myshopify.com
currentContext: store1
pipeline අවසන් කිරීම
Pipeline සඳහා සම්පූර්ණ මූලාශ්රය මෙතැනින් සොයා ගත හැකිය.
Pipeline සඳහා සම්පූර්ණ මූලාශ්රය මෙතැනින් සොයා ගත හැකිය.
අපගේ තෙල් පද්ධතිය 4 පියවර ඇත, viz:Export -> Enrich -> Update -> Notify
Stage 1: Export Products
පියවර 1: ආනයන නිෂ්පාදනඅපගේ pipeline හි පළමු පියවර වන්නේ අපගේ වෙළඳසැලෙන් නවතම නිෂ්පාදන ප්රවාහන කිරීමයි.export-products
ඒ අතරේenrich-products.yml
කලින් හදපු ෆයිල් එක.
jobs:
export-products:
runs-on: ubuntu-latest
env:
SHOPIFY_ACCESS_TOKEN: ${{ secrets.SHOPIFY_ACCESS_TOKEN }} # The secret we set earlier
SHOPIFY_CONFIG_HOME: ${{ github.workspace }} # This will tell shopctl to use current dir to look for .shopconfig
outputs:
has-data: ${{ steps.check.outputs.has_data }}
steps:
- name: Checkout repo
uses: actions/checkout@v3
- name: Setup ShopCTL
uses: ./.github/workflows/actions/setup-shopctl
- name: Export products
run: |
mkdir -p data
# Export latest data (last 7 days) using the shopctl tool as latest_products.tar.gz
shopctl export -r product="created_at:>=$(date -v -7d +%Y-%m-%d)" -o data/ -n latest_products -vvv
- name: Check if export has data
id: check
run: |
if [ -s data/latest_products.tar.gz ]; then
echo "has_data=true" >> "$GITHUB_OUTPUT"
else
echo "has_data=false" >> "$GITHUB_OUTPUT"
echo "No products found to process"
fi
- name: Upload exported products
if: steps.check.outputs.has_data == 'true'
uses: actions/upload-artifact@v4
with:
name: exported-products
path: data/latest_products.tar.gz
ඉහත වැඩපිළිවෙළ ඉදිකරනු ඇත
Stage 2a: Review Catalog
පියවර 2a: සමාලෝචන ලැයිස්තුවඊළඟ දේ අපි කිරීමට අවශ්ය වන්නේ අපගේ ලියාපදිංචිය පරීක්ෂා කිරීමයි.We will use the OpenAI API to review product data samples and identify the following:
- ටැග, නිෂ්පාදන වර්ග, හෝ විකල්පවල ගැටළු හෝ අසාර්ථකතා
- අතුරුදහන් හෝ අසාමාන්ය inventory information
- නිෂ්පාදන සැකසීම හෝ විකල්ප ව්යුහය තුළ දෝෂ
- සමාන හෝ අතිශයින් සමාන නිෂ්පාදන
- ලැයිස්තුවේ ගුණාත්මකභාවය සහ සම්පූර්ණත්වය වැඩි දියුණු කිරීම සඳහා පොදු නිර්දේශ
review-catalog:
needs: export-products
runs-on: ubuntu-latest
env:
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
steps:
- name: Checkout repo
uses: actions/checkout@v3
- name: Download product export
uses: actions/download-artifact@v4
with:
name: exported-products
path: data/
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.13"
- name: Install dependencies
run: pip install openai
- name: Run catalog review script
run: |
# Assuming your script is saved in scripts/review_catalog.py
python scripts/review_catalog.py \
data/latest_products.tar.gz \
data/review_summary.md
- name: Upload catalog summary
uses: actions/upload-artifact@v4
with:
name: catalog-review-summary
path: data/review_summary.md
- name: Final summary
run: echo "✅ Shopify product catalog review completed!"
සටහන් කරන්න Theneeds
section.We want to run it after products are exported and made available as artifacts.We also need to set up Python, as our review script is written in Python.You can use any language of your choice here.The script generatesreview_summary.md
ඊළඟ පියවරේ ආදර්ශයක් ලෙස උඩුගත කරනු ලැබේ (උදාහරණයක් පහත).
## Identified Issues
### 1. Missing or Inconsistent Information:
- Some products have missing or inconsistent `productType` (e.g. `"gid://shopify/Product/8790718087392"`, `"gid://shopify/Product/879071795632
උදාහරණයක් script සහ prompt විය හැක
Stage 2b: Enrich Products
පියවර 2b: Enrich Productsසමාන වන්නේreview-catalog
රැකියාවක් - Add anenrich-products
උදාහරණයක් script සහ prompt විය හැක
Stage 3: Update Products
පියවර 3: නිෂ්පාදන යාවත්කාලීන කිරීමපියවර 2b දී මෙටා දත්ත නිෂ්පාදනය කරන විට, අපි භාවිතා කරන නිෂ්පාදන යාවත්කාලීන කළ හැකිය.
නමැති රැකියාවක් Add a job calledupdate-products
පහත දැක්වෙන පරිදි
update-products:
needs: enrich-products
runs-on: ubuntu-latest
env:
SHOPIFY_ACCESS_TOKEN: ${{ secrets.SHOPIFY_ACCESS_TOKEN }}
SHOPIFY_CONFIG_HOME: ${{ github.workspace }}
steps:
- name: Checkout repo
uses: actions/checkout@v3
- name: Setup ShopCTL
uses: ./.github/workflows/actions/setup-shopctl
- name: Download enriched products
uses: actions/download-artifact@v4
with:
name: enriched-products
path: data/
- name: Apply updates using shopctl
run: |
mkdir -p logs
touch logs/audit.txt
while IFS=, read -r pid new_title seo_title seo_desc; do
# Strip leading/trailing quotes
seo_desc="${seo_desc%\"}"
seo_desc="${seo_desc#\"}"
# Use shopctl to update product details
if output=$(shopctl product update "$pid" \
--title "$new_title" \
--seo-title "$seo_title" \
--seo-desc "$seo_desc" 2>&1); then
echo "$pid,success" >> logs/audit.txt
else
sanitized_error=$(echo "$output" | tr '\n' ' ' | sed 's/,/ /g')
echo "$pid,failure,$sanitized_error" >> logs/audit.txt
fi
done < <(tail -n +2 data/enriched_products.csv)
- name: Upload audit log
uses: actions/upload-artifact@v4
with:
name: product-audit-log
path: logs/audit.txt
- name: Final summary
run: echo "✅ Shopify product enrichment and updates completed!"
මෙම කාර්යය සාපේක්ෂව සරල ය; එය පෙර පියවර තුළ නිර්මාණය කරන ලද CSV ගොනුවෙන් කියවීම සඳහා bash script භාවිතා කරයි, ShopCTL භාවිතා කරමින් නිෂ්පාදන යාවත්කාලීන කිරීම සහ ලැයිස්තුව ගොනුවක් නිර්මාණය කිරීම.
Stage 4: Notify
පියවර 4: දැනුම් දීමදැන් ඉතිරි එකම දෙය වන්නේ රැකියා සම්පූර්ණ වී ඇති බව (හෝ අසාර්ථක වී ඇති බව) සහ වෙනස් වී ඇති දේ ගැන උනන්දුවන්ට දැනුම් දීමයි.ඔබට Slack දැනුම් දීම හෝ විස්තර ඊ-තැපැල් යැවිය හැකිය.
notify:
needs: [review-catalog, update-products]
runs-on: ubuntu-latest
steps:
- name: Download audit log
uses: actions/download-artifact@v4
with:
name: product-audit-log
path: logs/
- name: Download catalog review
uses: actions/download-artifact@v4
with:
name: catalog-review-summary
path: data/
- name: Print audit summary
run: |
ls -lah logs/
ls -lah data/
echo "🧾 Shopify Product Update Audit"
echo "-------------------------------"
total=$(wc -l < logs/audit.txt)
updated=$(grep -c ',success' logs/audit.txt || true)
failed=$(grep -c ',failure' logs/audit.txt || true)
echo "✅ Success: $updated"
echo "❌ Failed: $failed"
echo "📦 Total Processed: $total"
echo ""
echo "📋 Detailed Audit:"
cat logs/audit.txt
- name: Print catalog review summary
run: |
echo ""
echo "🧠 Catalog Review Summary"
echo "-------------------------"
cat data/review_summary.md
ඔක්කොම එකට දාන්න
ඉහත උදාහරණය ඔබට ලබා ගත හැකි මෙවලම් භාවිතා කළ හැකි ආකාරය ඔබගේ භාවිතය සඳහා අනුකූලව සුවිශේෂී හා බලවත් දෙයක් නිර්මාණය කිරීම සඳහා ඔබට පෙන්වනු ලැබේ, අමුත්තන් යෙදුම් වලට සංවේදී ගබඩා දත්ත අතපසු කිරීමකින් තොරව.
අපගේ ව්යාපෘති සාක්ෂි සාක්ෂි නිෂ්පාදන මට්ටමේ ප්රධාන කරුණු කිහිපයක් අතහැර දමන්නේ කෙසේද - අත්හදා බැලීම් සහ නිවැරදි වැරදි කළමනාකරණය සඳහා වේදිකාවක් භාවිතා කිරීම වැනි - එය ඔබට ආරම්භ කිරීමට ආකාරය පිළිබඳ පොදු අදහසක් ලබා දෙයි.
ගන්නවා
මෙම මට්ටමේ මෘදුකාංගය සහ පාලනය සීමිත හැකියාවන් විවෘත කරයි - නිෂ්පාදන පිටපත් මත ස්වයංක්රීය A / B පරීක්ෂණ, භාෂා ගණනාවක් පුළුල් කිරීම වැඩපිළිවෙළ, දෛනික මිල ගණන් අත්හදා බැලීම්, සහ ස්වයංක්රීය සම්පත් පිරිසිදු කිරීම, පෞද්ගලික නිර්දේශ හා ඊට වඩා.
ඔබ පාලනය කරන සෑම පියවරක්ම සමඟ, ඔබ නව අදහස් අත්හදා බැලීමට, වෙළෙඳපොළ වෙනස්වීම් සඳහා වේගයෙන් අනුකූල විය හැකි අතර, ඔබේ ව්යාපාරය වර්ධනය වන විට ක්රියාකාරකම් පහසුවෙන් පුළුල් කළ හැකිය.