Build JavaScript SDK #96
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Build JavaScript SDK | |
| on: | |
| workflow_dispatch: | |
| repository_dispatch: | |
| types: [trigger-build] | |
| permissions: | |
| pull-requests: write | |
| contents: write | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| path: selling-partner-api-sdk | |
| - uses: actions/checkout@v4 | |
| with: | |
| repository: amzn/selling-partner-api-models | |
| path: selling-partner-api-models | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: '22' | |
| - name: Install openapi generator | |
| run: npm install -g @openapitools/openapi-generator-cli | |
| - name: Remove old sdk files | |
| working-directory: ./selling-partner-api-sdk/javascript | |
| run: | | |
| echo "Remove all files under sdk except .openapi-generator-ignore, sample-node-app, package.json, helper and readme" | |
| find sdk -mindepth 1 -maxdepth 1 \ | |
| ! -name '.openapi-generator-ignore' \ | |
| ! -name 'sample-node-app' \ | |
| ! -name 'package.json' \ | |
| ! -name 'package-lock.json' \ | |
| ! -name 'README.md' \ | |
| ! -name 'helper' \ | |
| ! -name 'tsconfig.json' \ | |
| -exec rm -rf {} + | |
| - name: Create DefaultRateLimitMap.mjs file | |
| working-directory: ./selling-partner-api-sdk/javascript | |
| run: | | |
| chmod +x scripts/create-rate-limit-map.sh | |
| ./scripts/create-rate-limit-map.sh | |
| - name: Execute OpenAPI generator | |
| working-directory: ./selling-partner-api-sdk/javascript | |
| run: | | |
| openapi-generator-cli generate -i ../../selling-partner-api-models/models/amazon-warehousing-and-distribution-model/awd_2024-05-09.json -g javascript -t ../templates/javascript -o sdk -c config/config.json --model-package model --api-package api --invoker-package awd_v2024_05_09 && \ | |
| openapi-generator-cli generate -i ../../selling-partner-api-models/models/aplus-content-api-model/aplusContent_2020-11-01.json -g javascript -t ../templates/javascript -o sdk -c config/config.json --model-package model --api-package api --invoker-package apluscontent_v2020_11_01 && \ | |
| openapi-generator-cli generate -i ../../selling-partner-api-models/models/application-integrations-api-model/appIntegrations-2024-04-01.json -g javascript -t ../templates/javascript -o sdk -c config/config.json --model-package model --api-package api --invoker-package appintegrations_v2024_04_01 && \ | |
| openapi-generator-cli generate -i ../../selling-partner-api-models/models/application-management-api-model/application_2023-11-30.json -g javascript -t ../templates/javascript -o sdk -c config/config.json --model-package model --api-package api --invoker-package applications_v2023_11_30 && \ | |
| openapi-generator-cli generate -i ../../selling-partner-api-models/models/catalog-items-api-model/catalogItems_2022-04-01.json -g javascript -t ../templates/javascript -o sdk -c config/config.json --model-package model --api-package api --invoker-package catalogitems_v2022_04_01 && \ | |
| openapi-generator-cli generate -i ../../selling-partner-api-models/models/data-kiosk-api-model/dataKiosk_2023-11-15.json -g javascript -t ../templates/javascript -o sdk -c config/config.json --model-package model --api-package api --invoker-package datakiosk_v2023_11_15 && \ | |
| openapi-generator-cli generate -i ../../selling-partner-api-models/models/easy-ship-model/easyShip_2022-03-23.json -g javascript -t ../templates/javascript -o sdk -c config/config.json --model-package model --api-package api --invoker-package easyship_v2022_03_23 && \ | |
| openapi-generator-cli generate -i ../../selling-partner-api-models/models/fba-inbound-eligibility-api-model/fbaInbound.json -g javascript -t ../templates/javascript -o sdk -c config/config.json --model-package model --api-package api --invoker-package fbaeligibility_v1 && \ | |
| openapi-generator-cli generate -i ../../selling-partner-api-models/models/fba-inventory-api-model/fbaInventory.json -g javascript -t ../templates/javascript -o sdk -c config/config.json --model-package model --api-package api --invoker-package fbainventory_v1 && \ | |
| openapi-generator-cli generate -i ../../selling-partner-api-models/models/feeds-api-model/feeds_2021-06-30.json -g javascript -t ../templates/javascript -o sdk -c config/config.json --model-package model --api-package api --invoker-package feeds_v2021_06_30 && \ | |
| openapi-generator-cli generate -i ../../selling-partner-api-models/models/finances-api-model/financesV0.json -g javascript -t ../templates/javascript -o sdk -c config/config.json --model-package model --api-package api --invoker-package finances_v0 && \ | |
| openapi-generator-cli generate -i ../../selling-partner-api-models/models/finances-api-model/transfers_2024-06-01.json -g javascript -t ../templates/javascript -o sdk -c config/config.json --model-package model --api-package api --invoker-package transfers_v2024_06_01 && \ | |
| openapi-generator-cli generate -i ../../selling-partner-api-models/models/finances-api-model/finances_2024-06-19.json -g javascript -t ../templates/javascript -o sdk -c config/config.json --model-package model --api-package api --invoker-package finances_2024_06_19 && \ | |
| openapi-generator-cli generate -i ../../selling-partner-api-models/models/fulfillment-inbound-api-model/fulfillmentInboundV0.json -g javascript -t ../templates/javascript -o sdk -c config/config.json --model-package model --api-package api --invoker-package fulfillmentinbound_v0 && \ | |
| openapi-generator-cli generate -i ../../selling-partner-api-models/models/fulfillment-inbound-api-model/fulfillmentInbound_2024-03-20.json -g javascript -t ../templates/javascript -o sdk -c config/config.json --model-package model --api-package api --invoker-package fulfillmentinbound_v2024_03_20 && \ | |
| openapi-generator-cli generate -i ../../selling-partner-api-models/models/fulfillment-outbound-api-model/fulfillmentOutbound_2020-07-01.json -g javascript -t ../templates/javascript -o sdk -c config/config.json --model-package model --api-package api --invoker-package fulfillmentoutbound_v2020_07_01 && \ | |
| openapi-generator-cli generate -i ../../selling-partner-api-models/models/invoices-api-model/InvoicesApiModel_2024-06-19.json -g javascript -t ../templates/javascript -o sdk -c config/config.json --model-package model --api-package api --invoker-package invoices_v2024_06_19 && \ | |
| openapi-generator-cli generate -i ../../selling-partner-api-models/models/listings-items-api-model/listingsItems_2021-08-01.json -g javascript -t ../templates/javascript -o sdk -c config/config.json --model-package model --api-package api --invoker-package listingsitems_v2021_08_01 && \ | |
| openapi-generator-cli generate -i ../../selling-partner-api-models/models/listings-restrictions-api-model/listingsRestrictions_2021-08-01.json -g javascript -t ../templates/javascript -o sdk -c config/config.json --model-package model --api-package api --invoker-package listingsrestrictions_v2021_08_01 && \ | |
| openapi-generator-cli generate -i ../../selling-partner-api-models/models/merchant-fulfillment-api-model/merchantFulfillmentV0.json -g javascript -t ../templates/javascript -o sdk -c config/config.json --model-package model --api-package api --invoker-package merchantfulfillment_v0 && \ | |
| openapi-generator-cli generate -i ../../selling-partner-api-models/models/messaging-api-model/messaging.json -g javascript -t ../templates/javascript -o sdk -c config/config.json --model-package model --api-package api --invoker-package messaging_v1 && \ | |
| openapi-generator-cli generate -i ../../selling-partner-api-models/models/notifications-api-model/notifications.json -g javascript -t ../templates/javascript -o sdk -c config/config.json --model-package model --api-package api --invoker-package notifications_v1 && \ | |
| openapi-generator-cli generate -i ../../selling-partner-api-models/models/orders-api-model/ordersV0.json -g javascript -t ../templates/javascript -o sdk -c config/config.json --model-package model --api-package api --invoker-package orders_v0 && \ | |
| openapi-generator-cli generate -i ../../selling-partner-api-models/models/product-fees-api-model/productFeesV0.json -g javascript -t ../templates/javascript -o sdk -c config/config.json --model-package model --api-package api --invoker-package productfees_v0 && \ | |
| openapi-generator-cli generate -i ../../selling-partner-api-models/models/product-pricing-api-model/productPricingV0.json -g javascript -t ../templates/javascript -o sdk -c config/config.json --model-package model --api-package api --invoker-package pricing_v0 && \ | |
| openapi-generator-cli generate -i ../../selling-partner-api-models/models/product-pricing-api-model/productPricing_2022-05-01.json -g javascript -t ../templates/javascript -o sdk -c config/config.json --model-package model --api-package api --invoker-package pricing_v2022_05_01 && \ | |
| openapi-generator-cli generate -i ../../selling-partner-api-models/models/product-type-definitions-api-model/definitionsProductTypes_2020-09-01.json -g javascript -t ../templates/javascript -o sdk -c config/config.json --model-package model --api-package api --invoker-package producttypedefinitions_v2020_09_01 && \ | |
| openapi-generator-cli generate -i ../../selling-partner-api-models/models/replenishment-api-model/replenishment-2022-11-07.json -g javascript -t ../templates/javascript -o sdk -c config/config.json --model-package model --api-package api --invoker-package replenishment_v2022_11_07 && \ | |
| openapi-generator-cli generate -i ../../selling-partner-api-models/models/reports-api-model/reports_2021-06-30.json -g javascript -t ../templates/javascript -o sdk -c config/config.json --model-package model --api-package api --invoker-package reports_v2021_06_30 && \ | |
| openapi-generator-cli generate -i ../../selling-partner-api-models/models/sales-api-model/sales.json -g javascript -t ../templates/javascript -o sdk -c config/config.json --model-package model --api-package api --invoker-package sales_v1 && \ | |
| openapi-generator-cli generate -i ../../selling-partner-api-models/models/sellers-api-model/sellers.json -g javascript -t ../templates/javascript -o sdk -c config/config.json --model-package model --api-package api --invoker-package sellers_v1 && \ | |
| openapi-generator-cli generate -i ../../selling-partner-api-models/models/services-api-model/services.json -g javascript -t ../templates/javascript -o sdk -c config/config.json --model-package model --api-package api --invoker-package services_v1 && \ | |
| openapi-generator-cli generate -i ../../selling-partner-api-models/models/shipment-invoicing-api-model/shipmentInvoicingV0.json -g javascript -t ../templates/javascript -o sdk -c config/config.json --model-package model --api-package api --invoker-package invoicing_v0 && \ | |
| openapi-generator-cli generate -i ../../selling-partner-api-models/models/shipping-api-model/shippingV2.json -g javascript -t ../templates/javascript -o sdk -c config/config.json --model-package model --api-package api --invoker-package shipping_v2 --skip-validate-spec && \ | |
| openapi-generator-cli generate -i ../../selling-partner-api-models/models/solicitations-api-model/solicitations.json -g javascript -t ../templates/javascript -o sdk -c config/config.json --model-package model --api-package api --invoker-package solicitations_v1 && \ | |
| openapi-generator-cli generate -i ../../selling-partner-api-models/models/supply-sources-api-model/supplySources_2020-07-01.json -g javascript -t ../templates/javascript -o sdk -c config/config.json --model-package model --api-package api --invoker-package supplysources_v2020_07_01 && \ | |
| openapi-generator-cli generate -i ../../selling-partner-api-models/models/tokens-api-model/tokens_2021-03-01.json -g javascript -t ../templates/javascript -o sdk -c config/config.json --model-package model --api-package api --invoker-package tokens_v2021_03_01 && \ | |
| openapi-generator-cli generate -i ../../selling-partner-api-models/models/uploads-api-model/uploads_2020-11-01.json -g javascript -t ../templates/javascript -o sdk -c config/config.json --model-package model --api-package api --invoker-package uploads_v2020_11_01 && \ | |
| openapi-generator-cli generate -i ../../selling-partner-api-models/models/vendor-direct-fulfillment-inventory-api-model/vendorDirectFulfillmentInventoryV1.json -g javascript -t ../templates/javascript -o sdk -c config/config.json --model-package model --api-package api --invoker-package vendordfinventory_v1 && \ | |
| openapi-generator-cli generate -i ../../selling-partner-api-models/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrders_2021-12-28.json -g javascript -t ../templates/javascript -o sdk -c config/config.json --model-package model --api-package api --invoker-package vendordforders_v2021_12_28 && \ | |
| openapi-generator-cli generate -i ../../selling-partner-api-models/models/vendor-direct-fulfillment-payments-api-model/vendorDirectFulfillmentPaymentsV1.json -g javascript -t ../templates/javascript -o sdk -c config/config.json --model-package model --api-package api --invoker-package vendordfpayments_v1 && \ | |
| openapi-generator-cli generate -i ../../selling-partner-api-models/models/vendor-direct-fulfillment-shipping-api-model/vendorDirectFulfillmentShipping_2021-12-28.json -g javascript -t ../templates/javascript -o sdk -c config/config.json --model-package model --api-package api --invoker-package vendordfshipping_v2021_12_28 && \ | |
| openapi-generator-cli generate -i ../../selling-partner-api-models/models/vendor-direct-fulfillment-transactions-api-model/vendorDirectFulfillmentTransactions_2021-12-28.json -g javascript -t ../templates/javascript -o sdk -c config/config.json --model-package model --api-package api --invoker-package vendordftransactions_v2021_12_28 && \ | |
| openapi-generator-cli generate -i ../../selling-partner-api-models/models/vendor-invoices-api-model/vendorInvoices.json -g javascript -t ../templates/javascript -o sdk -c config/config.json --model-package model --api-package api --invoker-package vendorinvoices_v1 --skip-validate-spec && \ | |
| openapi-generator-cli generate -i ../../selling-partner-api-models/models/vendor-orders-api-model/vendorOrders.json -g javascript -t ../templates/javascript -o sdk -c config/config.json --model-package model --api-package api --invoker-package vendororders_v1 && \ | |
| openapi-generator-cli generate -i ../../selling-partner-api-models/models/vendor-shipments-api-model/vendorShipments.json -g javascript -t ../templates/javascript -o sdk -c config/config.json --model-package model --api-package api --invoker-package vendorshipments_v1 && \ | |
| openapi-generator-cli generate -i ../../selling-partner-api-models/models/vendor-transaction-status-api-model/vendorTransactionStatus.json -g javascript -t ../templates/javascript -o sdk -c config/config.json --model-package model --api-package api --invoker-package vendortransactionstatus_v1 && \ | |
| openapi-generator-cli generate -i ../../selling-partner-api-models/models/vehicles-api-model/vehicles_2024-11-01.json -g javascript -t ../templates/javascript -o sdk -c config/config.json --model-package model --api-package api --invoker-package vehicles_v2024_11_01 && \ | |
| openapi-generator-cli generate -i ../../selling-partner-api-models/models/seller-wallet-api-model/sellerWallet_2024-03-01.json -g javascript -t ../templates/javascript -o sdk -c config/config.json --model-package model --api-package api --invoker-package sellerWallet_2024_03_01 && \ | |
| openapi-generator-cli generate -i ../../selling-partner-api-models/models/customer-feedback-api-model/customerFeedback_2024-06-01.json -g javascript -t ../templates/javascript -o sdk -c config/config.json --model-package model --api-package api --invoker-package customerFeedback_2024_06_01 && \ | |
| openapi-generator-cli generate -i ../../selling-partner-api-models/models/external-fulfillment/externalFulfillmentShipments_2024-09-11.json -g javascript -t ../templates/javascript -o sdk -c config/config.json --model-package model --api-package api --invoker-package externalfulfillmentshipments_v2024_09_11 && \ | |
| openapi-generator-cli generate -i ../../selling-partner-api-models/models/external-fulfillment/externalFulfillmentInventory_2024-09-11.json -g javascript -t ../templates/javascript -o sdk -c config/config.json --model-package model --api-package api --invoker-package externalfulfillmentinventory_v2024_09_11 && \ | |
| openapi-generator-cli generate -i ../../selling-partner-api-models/models/external-fulfillment/externalFulfillmentReturns_2024-09-11.json -g javascript -t ../templates/javascript -o sdk -c config/config.json --model-package model --api-package api --invoker-package externalfulfillmentreturns_v2024_09_11 && \ | |
| openapi-generator-cli generate -i ../../selling-partner-api-models/models/orders-api-model/orders_2026-01-01.json -g javascript -t ../templates/javascript -o sdk -c config/config.json --model-package model --api-package api --invoker-package orders_v2026_01_01 | |
| - name: Generate consolidated index.js file | |
| working-directory: ./selling-partner-api-sdk/javascript | |
| run: | | |
| chmod +x scripts/generate-consolidated-index.sh | |
| ./scripts/generate-consolidated-index.sh | |
| - name: Run linter | |
| working-directory: ./selling-partner-api-sdk/javascript/sdk | |
| continue-on-error: true | |
| run: npm install standard --global && standard "src/**/*.js" --fix | |
| - name: Create TypeScript type files | |
| working-directory: ./selling-partner-api-sdk/javascript/sdk | |
| run: npm install typescript --global && npx tsc | |
| - name: Create PR | |
| uses: peter-evans/create-pull-request@v7 | |
| with: | |
| commit-message: Update JavaScript SDK | |
| title: 'Update JavaScript SDK' | |
| body: | | |
| Update JavaScript SDK with latest changes from upstream. | |
| branch: feature/update-javascript-sdk | |
| assignees: Tong8s | |
| path: ./selling-partner-api-sdk | |
| token: ${{ secrets.MAFGE_PAT }} |