Taariikh cusub

Sida loo isticmaali karaa in ay u isticmaali karaa in ay isticmaali karaa in ay isticmaali karaa in ay isticmaali karaa in ay isticmaali karaa in ay isticmaali karaa in ay isticmaali karaa in ay isticmaali karaa in ay isticmaali karaa.

by Ankit P.12m2025/04/27
Read on Terminal Reader

Aad u dheer; In la akhriyo

Waayo, sidoo kale waxaa loo isticmaali karaa GitHub Actions si ay u iibsato wax soo saarka ugu fiican ee Shopify, si ay u isticmaali karaa LLM, iyo si ay u isticmaali karaa wax soo saarka.
featured image - Sida loo isticmaali karaa in ay u isticmaali karaa in ay isticmaali karaa in ay isticmaali karaa in ay isticmaali karaa in ay isticmaali karaa in ay isticmaali karaa in ay isticmaali karaa in ay isticmaali karaa in ay isticmaali karaa.
Ankit P. HackerNoon profile picture


Shirkadda Shopify ee loo isticmaalaa workflow automated

Shirkadda Shopify ee loo isticmaalaa workflow automated


Shuruudaha shuruudaha shuruudaha shuruudaha shuruudaha shuruudaha shuruudaha shuruudaha shuruudaha shuruudaha shuruudaha shuruudaha shuruudaha shuruudaha shuruudaha shuruudaha shuruudaha shuruudaha shuruudaha shuruudaha shuruudaha shuruudaha


Sida loo yaabaa, waxaa laga yaabaa in ay ku yaalaa in ay ku yaalaa in ay ku yaalaa in ay ku yaalaa in ay ku yaalaa in ay ku yaalaa in ay ku yaalaa in ay ku yaalaa in ay ku yaalaa in ay ku yaalaa in ay ku yaalaa in ay ku yaalaa in ay ku yaalaa in ay ku yaalaa in ay ku yaalaa in ay ku yaalaa.

Xafiisyada control

Waayo, Robot waa in aad u raaxaysaa in aad ka mid ah wax soo saarka ah!

Waayo, Robot waa in aad u raaxaysaa in aad ka mid ah wax soo saarka ah!


Waxaad ka mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ah mid ka mid ah mid ka mid ah mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid


  • Shuruudaha dhismaha
  • Nadiifinta ugu fiican ee marka iyo waxyaabaha
  • Workflows Shareable: macluumaadka badan ayaa loo isticmaali karaa mid ka mid ah workflow oo ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah.
  • Shuruudaha dhismaha iyo dhismaha


Sida loo yaabaa, waxaan ku yaalaa in ay ku yaalaa in ay ku yaalaa wax soo saarka CI ah ee loo isticmaali karaa in ay ka caawin karaa macluumaadka ugu horeysay. Si kastaba ha ahaatee, waxaan loo soo saarka wax soo saarka in ay ku caawinay wax soo saarka-saarka.

Qalabka Stack

Sida loo yaqaan 'Workflow':


  • Shopify - waxa uu ku yaalaa waxyaabaha our
  • Shirkadda GitHub - for orchestration and automation
  • ShopCTL — Dhammaan line for shuruudaha shuruudaha Shopify
  • OpenAI API - si ay u aragto titirada waxyaabaha, si ay u soo saarka content SEO, iyo si ay u soo saarka
  • Python iyo mid ka mid ah scripts Bash – for the enrichment logic iyo updates
ShirkaddaQalabka GitHubShirkaddaQalabka FireQEEBEHaku

First Things First - Qalabka Qalabka

Sida loo yaqaan "GitHub Actions workflow" waxaa loo yaqaan "GitHub Actions workflow" oo loo yaqaan "GitHub Actions workflow" iyo "GitHub Actions workflow"..github/workflows/Haku: Haku: Haku: Haku: Hakuenrich-products.ymlMarka aad u baahan tahay in aad u aragto workflows.This file will define jobs for our product-content workflow.


# .github/workflows/enrich-products.yml

name: Shopify Product Enrichment

on:
  workflow_dispatch:


EE.UUworkflow_dispatchEvent in GitHub Actions waxay ka caawinay in la isticmaali karaa workflow ka mid ah interface GitHub ama via API, ama sidoo kale waxaa loo isticmaali karaaWaayo, waxaa loo isticmaali karaa automatically.Waayo, waxaa laga yaabaa in ay ku saabsan.

Waayo, waxaa loo isticmaali karaa automatically.

API Keys

Qalabka Fire

Waayo, waxaan u baahan tahay in ka mid ah macluumaadka API ah si ay u baabuurta:OPENAI_API_KEYWaayo, waxaa loo isticmaali karaaSHOPIFY_ACCESS_TOKENNala soo xiriir our shop.


Waqtiga OpenAI API oo ka mid ahQalabka OpenAI,Ku yaalaaKu saabsan GitHubShuruudaha shuruudaha shuruudaha shuruudaha shuruudaha shuruudaha shuruudaha shuruudaha shuruudaha shuruudaha shuruudaha shuruudaha shuruudaha shuruudahaTaageerada OfficialHaku 1

Qalabka OpenAIKu saabsan GitHubTaageerada Official

ShopCTL

Shirkadda

Waxaan u isticmaali karaa aQalabka Command LineWaayo, waxa uu ka soo bandhigay in ay ka mid ah wax soo saarka iyo wax soo saarka, oo ka mid ah wax soo saarka.setup-shopctl.ymlMarkaad ka mid ah wax soo saarka, waxaa laga yaabaa in ay ku saabsan wax soo saarka.

Qalabka Command Line


# .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"


Markaas ka mid ah macluumaadka adeegga ah, waxaan u baahan tahay in ay ka mid ah macluumaadka loo isticmaali karaa.shopctlRaac ah oo ka mid ah wax soo saarka ah oo ka mid ah wax soo saarka iyo wax soo saarka.shopconfig.ymlQalabka ugu horeysay eestore1Sida loo yaqaan Alias.


# shopctl/.shopcofig.yml

ver: v0
contexts:
    - alias: store1
      store: store1.myshopify.com
currentContext: store1


Qalabka Pipeline

Source Full for pipeline waxaa laga yaabaa siin.

Source Full for pipeline waxaa laga yaabaa siin.

HakuHaku


Sidaa waxaa laga yaabaa in ay ka mid ah soo saarka ah oo ka mid ah wax soo saarka ah.Export -> Enrich -> Update -> Notify

Stage 1: Export Products

Qalabka 1: Products Export

Sida loo yaabaa, waxaa laga yaabaa in ay ka mid ah wax soo saarka iyo wax soo saarka.export-productsWaxaa laenrich-products.ymlXafiiska ugu horeysay ee loo yaabaa.


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


Shuruudaha ugu horeysay waxaa loo yaabaaShirkaddaMarka aad u baahan tahay in aad u baahan tahay in aad u baahan tahay in aad u baahan tahay in aad u baahan tahay in aad u baahan tahay in aad u baahan tahay in aad u baahan tahay in aad u baahan tahay in aad u baahan tahay in aad u baahan tahay in aad u baahan tahay in aad u baahan tahay in aad u baahan tahay in aad u baahan tahay in aad u baahan yahay.

Shirkadda

Stage 2a: Review Catalog

Qalabka 2a: Catalog Review

Waxaad ka mid ah loo isticmaali karaa OpenAI API si ay u isticmaali karaa data samaynta waxyaabaha iyo si ay u isticmaali karaa:


  • Qalabka ama wax soo saarka ee tags, product types, or variants
  • Shuruudaha ugu caawin ah oo ka mid ah shuruudaha ugu caawin
  • Qalabka wax soo saarka ah oo ku saabsan wax soo saarka wax soo saarka.
  • Products Duplicate / Products Overly Similar
  • Qalabka Qalabka Qalabka Qalabka Qalabka Qalabka Qalabka Qalabka Qalabka


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!"


Waayo,needsSection. Waxaan u baahan tahay si ay u shaqeeyaan ka dib markii wax soo saarka waxaa la taabto iyo si ay u isticmaali karaa sida artifacts. Waxaan sidoo kale u baahan tahay si ay u quruxda Python, sida our scripts review waa la aasaasay in Python.review_summary.md, oo loo soo dejisan sida artifact ee ka mid ah qaadiidka ka dibna (example output below).


## Identified Issues

### 1. Missing or Inconsistent Information:
- Some products have missing or inconsistent `productType` (e.g. `"gid://shopify/Product/8790718087392"`, `"gid://shopify/Product/879071795632


Shuruudaha dhismaha iyo shuruudaha waxaa laga yaabaaHaku.

Haku

Stage 2b: Enrich Products

Shiinaha 2b: Products Enrich

Sidee ka mid ahreview-catalogQalabka, Add aenrich-products HakuShuruudaha ugu horeysay ee shuruudaha ugu horeysay ee shuruudaha ugu horeysay ee shuruudaha ugu horeysay ee shuruudaha ugu horeysay ee shuruudaha ugu horeysay ee shuruudaha ugu horeysay ee shuruudaha ugu horeysay ee shuruudaha ugu horeysay ee shuruudaha ugu horeysay ee shuruudaha ugu horeysay ee shuruudaha ugu horeysay ee shuruudaha ugu horeysay ee shuruudaha ugu horeysay ee shuruudaha ugu horeysay ee shuruudaha ugu horeysay ee shuruudaha ugu horeysay ee shuruudaha ugu horeysay ee shuruudaha ugu horeysay ee shuruudaha ugu horeysay ee shuruudaha.

Haku


Generated enriched_products.csv file



Shuruudaha dhismaha iyo shuruudaha waxaa laga yaabaaHaku.

Haku

Stage 3: Update Products

Qalabka 3: Update Products

Ka dib markii metadata waxaa loo soo saarka in step 2b, waxaan sidoo kale loo isticmaali karaa waxyaabaha loo isticmaali karaa.ShirkaddaWaxaan loo isticmaali karaa bash script ama Python at this stage.

Shirkadda


Nala soo xiriirupdate-productsSida loo yaabaa ka dibna.


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!"


Shuruudaha waxaa loo isticmaali karaa shuruudaha bash si ay u isticmaali karaa file CSV loo isticmaali karaa, si ay u isticmaali karaa ShopCTL iyo loo isticmaali karaa file log.

Stage 4: Notify

Tusaale 4 : Tusaale

Waxaad ka mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ah mid ka mid ah mid ka mid ah mid ah mid ka mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ka mid ah mid ah mid ka mid ah mid ka mid ah mid ka mid ah.


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


Waayo, waxaa lagu soo bandhigay

Dhismaha ugu horeysay waa in aad u isticmaali karaa in ay u isticmaali karaa in ay u isticmaali karaa in ay u isticmaali karaa in ay u isticmaali karaa in ay u isticmaali karaa in ay u isticmaali karaa in ay isticmaali karaa in ay isticmaali karaa in ay isticmaali karaa in ay isticmaali karaa in ay isticmaali karaa.


Markaad ka mid ah wax soo saarka waaweyn oo ka mid ah wax soo saarka iyo wax soo saarka waaweyn oo ka mid ah wax soo saarka iyo wax soo saarka.

Haku

Taageerada dhismaha iyo shuruudaha waaweyn waaweyn waaweyn waaweyn waaweyn waaweyn waaweyn waaweyn waaweyn waaweyn waaweyn waaweyn waaweyn waaweyn waaweyn waaweyn waaweyn waaweyn waaweyn waaweyn waaweyn waaweyn waaweyn waaweyn waaweyn waaweyn waaweyn waaweyn waaweyn waaweyn waaweyn.


Marka aad u isticmaali karaa in aad u isticmaali karaa in aad isticmaali karaa in aad isticmaali karaa in aad isticmaali karaa in aad isticmaali karaa in aad isticmaali karaa in aad isticmaali karaa in aad isticmaali karaa in aad isticmaali karaa in aad isticmaali karaa in aad isticmaali karaa in aad isticmaali karaa in aad isticmaali karaa in aad isticmaali karaa.

Trending Topics

blockchaincryptocurrencyhackernoon-top-storyprogrammingsoftware-developmenttechnologystartuphackernoon-booksBitcoinbooks