From 9b24992a1ce2830c1c5519a2a55ebb85b526304f Mon Sep 17 00:00:00 2001 From: Micha Hobert Date: Thu, 23 Nov 2023 11:53:57 +0100 Subject: [PATCH 1/3] Fix links and add lychee --- .github/scripts/format-code-guidelines.ts | 2 +- .github/workflows/validate-external-links.yml | 16 ++++ concepts/api/store-api.md | 2 +- .../commerce/checkout-concept/payments.md | 2 +- concepts/extensions/index.md | 2 +- .../framework/samesite-protection.md | 2 +- .../elasticsearch/elasticsearch-debugging.md | 2 +- guides/integrations-api/index.md | 4 +- .../administration/add-custom-component.md | 12 +-- .../add-rule-assignment-configuration.md | 2 +- .../plugins/api/customer-specific-pricing.md | 2 +- guides/plugins/plugins/api/multi-inventory.md | 3 +- .../b2b-suite/guides/administration/index.md | 2 +- .../b2b-suite/guides/core/entity-acl.md | 2 +- .../core/6.5-new-php-language-features.md | 2 +- resources/guidelines/code/core/adr.md | 2 +- resources/guidelines/code/core/benchmarks.md | 2 +- .../guidelines/code/core/decorator-pattern.md | 2 +- .../guidelines/code/core/domain-exceptions.md | 2 +- .../guidelines/code/core/extendability.md | 2 +- .../code/core/final-and-internal.md | 2 +- resources/guidelines/code/core/internal.md | 2 +- resources/guidelines/code/core/unit-tests.md | 2 +- .../core/writing-code-for-static-analysis.md | 2 +- .../guidelines/testing/e2e-best-practises.md | 2 +- .../store/quality-guidelines-apps/index.md | 4 - .../store/quality-guidelines-plugins/index.md | 4 - .../core-reference/rules-reference.md | 94 +++++++++---------- 28 files changed, 93 insertions(+), 86 deletions(-) create mode 100644 .github/workflows/validate-external-links.yml diff --git a/.github/scripts/format-code-guidelines.ts b/.github/scripts/format-code-guidelines.ts index a1da8e58e..06b09a906 100644 --- a/.github/scripts/format-code-guidelines.ts +++ b/.github/scripts/format-code-guidelines.ts @@ -72,6 +72,6 @@ async function formatCode(filePath: string): Promise { } function codePathToGithubLink(codePath: string): string { - const urlPath = codePath.replace('resources/guidelines/', ''); + const urlPath = codePath.replace('resources/guidelines/code', 'coding-guidelines'); return `https://github.com/shopware/shopware/blob/trunk/${urlPath}` } diff --git a/.github/workflows/validate-external-links.yml b/.github/workflows/validate-external-links.yml new file mode 100644 index 000000000..ad90dabfe --- /dev/null +++ b/.github/workflows/validate-external-links.yml @@ -0,0 +1,16 @@ +name: External link validation +on: push + +jobs: + linkvalidator: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: lychee Link Checker + id: lychee + uses: lycheeverse/lychee-action@v1.0.8 + with: + args: --accept=200,403,429 -s "https" "**/*.html" "**/*.md" "**/*.txt" "**/*.json" --exclude "https://github.com/\[your*" --exclude "https://localhost:9200" --exclude-mail + - name: Fail if there were link errors + continue-on-error: true # to be removed after fixes from platform are applied + run: exit ${{ steps.lychee.outputs.exit_code }} diff --git a/concepts/api/store-api.md b/concepts/api/store-api.md index 3ab916e0e..e07127f4d 100644 --- a/concepts/api/store-api.md +++ b/concepts/api/store-api.md @@ -21,6 +21,6 @@ Using plugins, you can add custom routes to the Store API \(as well as any other ## What next? -* To start working with the Store API, check out our [Quick Start guide](https://shopware.stoplight.io/docs/store-api/docs/guides/quick-start/README.md) and explore all endpoints in our reference guide. +* To start working with the Store API, check out our [Quick Start guide](https://shopware.stoplight.io/docs/store-api/38777d33d92dc-quick-start-guide) and explore all endpoints in our reference guide. * An interesting project based \(almost\) solely on the Store API is [Shopware PWA](../../products/pwa). diff --git a/concepts/commerce/checkout-concept/payments.md b/concepts/commerce/checkout-concept/payments.md index e852b0db6..402d7a2a3 100644 --- a/concepts/commerce/checkout-concept/payments.md +++ b/concepts/commerce/checkout-concept/payments.md @@ -26,7 +26,7 @@ These steps are outlined in the diagram below: The diagram above shows the payment flow for headless environments; however, for the single-stack scenario (i.e., when the default Storefront is used) the differences are minor and described in the section below. -If you want to see a specific example of a headless payment using the Store API, head to [API documentation](https://shopware.stoplight.io/docs/store-api/docs/guides/quick-start/handling-the-payment.md). +If you want to see a specific example of a headless payment using the Store API, head to [API documentation](https://shopware.stoplight.io/docs/store-api/8218801e50fe5-handling-the-payment). ### 1. Select payment method diff --git a/concepts/extensions/index.md b/concepts/extensions/index.md index 6e7795b25..49307873c 100644 --- a/concepts/extensions/index.md +++ b/concepts/extensions/index.md @@ -13,7 +13,7 @@ In order to provide users \(i.e., developers\) with a clear abstraction, Shopwar ![](../../assets/app-extension-model.png) -Starting with Shopware 6.4.0.0, we introduced a new way to extend Shopware using the newly created app system. Apps are not executed within the process of the Shopware Core but are notified about events via webhooks, which they can register. They can modify and interact with Shopware resources through the [Admin REST API](https://shopware.stoplight.io/docs/admin-api). +Starting with Shopware 6.4.0.0, we introduced a new way to extend Shopware using the newly created app system. Apps are not executed within the process of the Shopware Core but are notified about events via webhooks, which they can register. They can modify and interact with Shopware resources through the [Admin REST API](https://shopware.stoplight.io/docs/admin-api/twpxvnspkg3yu-quick-start-guide). ## Plugins diff --git a/guides/hosting/configurations/framework/samesite-protection.md b/guides/hosting/configurations/framework/samesite-protection.md index 0fe26369f..5937478f1 100644 --- a/guides/hosting/configurations/framework/samesite-protection.md +++ b/guides/hosting/configurations/framework/samesite-protection.md @@ -16,7 +16,7 @@ This feature has been introduced with Shopware version 6.4.3.1 The [SameSite configuration](https://symfony.com/doc/current/reference/configuration/framework.html#cookie-samesite) comes with the Symfony FrameworkBundle and supersedes the removed `sw_csrf` Twig function. It is widely [available](https://caniuse.com/same-site-cookie-attribute) in modern browsers and is set to `lax` per default. -For more information, refer to [SameSite cookies site](https://web.dev/i18n/en/samesite-cookies-explained/) +For more information, refer to [SameSite cookies site](https://web.dev/articles/samesite-cookies-explained?hl=en) ## Configuration diff --git a/guides/hosting/infrastructure/elasticsearch/elasticsearch-debugging.md b/guides/hosting/infrastructure/elasticsearch/elasticsearch-debugging.md index c4864dd20..0b5e2f846 100644 --- a/guides/hosting/infrastructure/elasticsearch/elasticsearch-debugging.md +++ b/guides/hosting/infrastructure/elasticsearch/elasticsearch-debugging.md @@ -254,4 +254,4 @@ bin/console es:create:alias ## Logfiles and tipps You can usually find the Elasticsearch logfiles at [`/var/log/elasticsearch`](https://www.elastic.co/guide/en/elasticsearch/reference/master/settings.html#_config_file_format) to check for any issues when indexing. -Also, tools like [Kibana](https://www.elastic.co/what-is/kibana) or [Cerebro](https://wissen.profihost.com/wissen/artikel/cerebro/) can help you better understand what is happening in your Elasticsearch. +Also, tools like [Kibana](https://www.elastic.co/kibana) or [Cerebro](https://wissen.profihost.com/wissen/artikel/cerebro/) can help you better understand what is happening in your Elasticsearch. diff --git a/guides/integrations-api/index.md b/guides/integrations-api/index.md index f44241730..784a91bc0 100644 --- a/guides/integrations-api/index.md +++ b/guides/integrations-api/index.md @@ -15,12 +15,12 @@ Generally, Shopware provides two APIs that serve two aspects of integrations wit Frontend applications usually provide interfaces for users \(customers\). These applications usually don't expose sensitive data and have two layers of users - anonymous and authenticated i.e., unregistered and registered. Payloads are usually small, performance and availability are critical. - + ## Backend-facing integrations - Admin API These integrations are characterized by the exchange of structured data, synchronizations, imports, exports and notifications. Performance is also important in terms of high data loads rather than fast response times. Consistency, error handling, and transaction-safety are critical. - + Shopware's Store and Admin APIs offer essential technical resources for you to interact with and customize the platform's core functions, enabling tailored solutions and seamless integration. diff --git a/guides/plugins/plugins/administration/add-custom-component.md b/guides/plugins/plugins/administration/add-custom-component.md index 80b70b917..09ffc4cfe 100644 --- a/guides/plugins/plugins/administration/add-custom-component.md +++ b/guides/plugins/plugins/administration/add-custom-component.md @@ -11,7 +11,7 @@ nav: Since the Shopware 6 Administration is using [VueJS](https://vuejs.org/) as its framework, it also supports creating custom components. This guide will teach you how to register your own custom component with your plugin. -In this example, you will create a component, that will print a 'Hello world!' everywhere it's being used. +In this example, you will create a component that will print a 'Hello world!' everywhere it's being used. ## Prerequisites @@ -19,11 +19,11 @@ This guide **does not** explain how to create a new plugin for Shopware 6. Head -If you want to work with entities in your custom component or page, it might be useful to take a look at how to create custom entity guide first: +If you want to work with entities in your custom component or page, it might be useful to take a look at how to create a custom entity guide first: -Especially if you want to add a new page for an own module, you should consider to look at the process on how to add a custom module first. +Especially if you want to add a new page for an own module, you should consider looking at the process on how to add a custom module first. @@ -106,14 +106,14 @@ Shopware.Component.register('hello-world', { }); ``` -This is a [shorthand](https://alligator.io/js/object-property-shorthand-es6/), which can only be used if the variable is named exactly like the property. +This is a [shorthand](https://eslint.org/docs/latest/rules/object-shorthand), which can only be used if the variable is named exactly like the property. ## Next steps -You've now added a custom component, including a little template. However, there's more discover here. +You've now added a custom component, including a little template. However, there's more to discover here. * [More about templates](writing-templates) * [Add some styling to your component](add-custom-styles) * [Use shortcuts for your component](add-shortcuts) -Furthermore, what about [customizing other components](customizing-components), instead of creating new ones. +Furthermore, what about [customizing other components](customizing-components), instead of creating new ones? diff --git a/guides/plugins/plugins/administration/add-rule-assignment-configuration.md b/guides/plugins/plugins/administration/add-rule-assignment-configuration.md index f1f1f7af0..0fffa4e4d 100644 --- a/guides/plugins/plugins/administration/add-rule-assignment-configuration.md +++ b/guides/plugins/plugins/administration/add-rule-assignment-configuration.md @@ -44,7 +44,7 @@ Now your module's `index.js` will be executed. ## Override the component Your `index.js` is still empty now, so let's override the `sw-settings-rule-detail-assignments` component. -This is technically done by calling the method `override` method of our [ComponentFactory](https://github.com/shopware/shopware/blob/trunk/src/Administration/Resources/app/administration/src/core/factory/component.factory.ts), which is available through our third party wrapper. +This is technically done by calling the method `override` method of our [ComponentFactory](https://github.com/shopware/shopware/blob/trunk/src/Administration/Resources/app/administration/src/core/factory/async-component.factory.ts), which is available through our third party wrapper. This method expects a name, and a configuration for the component you want to override. ```javascript diff --git a/guides/plugins/plugins/api/customer-specific-pricing.md b/guides/plugins/plugins/api/customer-specific-pricing.md index db04da0cf..19109eaa8 100644 --- a/guides/plugins/plugins/api/customer-specific-pricing.md +++ b/guides/plugins/plugins/api/customer-specific-pricing.md @@ -20,7 +20,7 @@ Customer-specific pricing is part of the Commercial plugin, requiring an existin To create, alter and/or delete customer-specific prices, you can use the API endpoint `/api/_action/custom-price`. Like with any other admin request in Shopware, you must first authenticate yourself. Therefore, please head over to the [authentication guide](https://shopware.stoplight.io/docs/admin-api/ZG9jOjEwODA3NjQx-authentication) for details. -Otherwise, the Customer-specific Pricing API interface models itself upon the interface of the [sync API](https://shopware.stoplight.io/docs/admin-api), so you will be able to package your requests similarly. +Otherwise, the Customer-specific Pricing API interface models itself upon the interface of the [sync API](https://shopware.stoplight.io/docs/admin-api/twpxvnspkg3yu-quick-start-guide), so you will be able to package your requests similarly. ::: info You can use the route with single `upsert` and `delete` actions or even combine those in a single request: you can pack several different commands inside one sync API request, and each of them is executed in an independent and isolated way diff --git a/guides/plugins/plugins/api/multi-inventory.md b/guides/plugins/plugins/api/multi-inventory.md index 9d7c54acb..f2be20fea 100644 --- a/guides/plugins/plugins/api/multi-inventory.md +++ b/guides/plugins/plugins/api/multi-inventory.md @@ -28,8 +28,7 @@ To create, modify or delete Warehouses, WarehouseGroups etc., related to Multi-I Meanwhile, refer to the following links regarding the general use of the Admin API: * [Authentication & Authorization](https://shopware.stoplight.io/docs/admin-api/ZG9jOjEwODA3NjQx-authentication) -* [Request & Response Structure](https://shopware.stoplight.io/docs/admin-api/ZG9jOjEyMzAzNDU1-request-and-response-structure) -* [Endpoint Structure](https://shopware.stoplight.io/docs/admin-api/ZG9jOjEyMzA1ODA5-endpoint-structure) +* [Request,Response and Endpoint Structure](https://shopware.stoplight.io/docs/admin-api/9a4d773bd3665-request-and-response-structure) ## Data structure diff --git a/products/extensions/b2b-suite/guides/administration/index.md b/products/extensions/b2b-suite/guides/administration/index.md index 81138c333..e21c0beb1 100644 --- a/products/extensions/b2b-suite/guides/administration/index.md +++ b/products/extensions/b2b-suite/guides/administration/index.md @@ -1,3 +1,3 @@ # Administration -B2B Suite Administration modules are built following the official [Shopware Administration](https://developer.shopware.com/docs/guides/plugins/plugins/administration) documentation. For a more in-depth guide, please refer to the [User documentation](https://docs.shopware.com/en/shopware-6-en/extensions/b2b-suite-administration). +B2B Suite Administration modules are built following the official [Shopware Administration](https://developer.shopware.com/docs/guides/plugins/plugins/administration/) documentation. For a more in-depth guide, please refer to the [User documentation](https://docs.shopware.com/en/shopware-6-en/extensions/b2b-suite-administration). diff --git a/products/extensions/b2b-suite/guides/core/entity-acl.md b/products/extensions/b2b-suite/guides/core/entity-acl.md index d898d41ed..7488ee18a 100644 --- a/products/extensions/b2b-suite/guides/core/entity-acl.md +++ b/products/extensions/b2b-suite/guides/core/entity-acl.md @@ -24,7 +24,7 @@ As you can see in the graphic below, access control is basically a concern of ev ![acl addresses](../../../../../assets/acl-architecture.svg) The base ACL component described in this document provides functionality for repository filtering and service checks. -The [Authentication component](https://docs.enterprise.shopware.com/b2b-suite/technical/store-front-authentication/) provides the context for the currently logged-in user and the [ACL route](https://docs.enterprise.shopware.com/b2b-suite/technical/acl-routes/) component then provides the ability to secure routes and means of inspection for allowed routes. +The [Authentication component](authentication) provides the context for the currently logged-in user and the [ACL route](../storefront/acl-routing) component then provides the ability to secure routes and means of inspection for allowed routes. ## Naming diff --git a/resources/guidelines/code/core/6.5-new-php-language-features.md b/resources/guidelines/code/core/6.5-new-php-language-features.md index 12121c593..fb73a0b99 100644 --- a/resources/guidelines/code/core/6.5-new-php-language-features.md +++ b/resources/guidelines/code/core/6.5-new-php-language-features.md @@ -2,7 +2,7 @@ ::: info This document represents core guidelines and has been mirrored from the core in our Shopware 6 repository. -You can find the original version [here](https://github.com/shopware/shopware/blob/trunk/code/core/6.5-new-php-language-features.md) +You can find the original version [here](https://github.com/shopware/shopware/blob/trunk/coding-guidelines/core/6.5-new-php-language-features.md) ::: # 2023-05-16 - PHP 8.1 & Symfony 6.1 new features diff --git a/resources/guidelines/code/core/adr.md b/resources/guidelines/code/core/adr.md index 1c76d444a..56ace57c2 100644 --- a/resources/guidelines/code/core/adr.md +++ b/resources/guidelines/code/core/adr.md @@ -2,7 +2,7 @@ ::: info This document represents core guidelines and has been mirrored from the core in our Shopware 6 repository. -You can find the original version [here](https://github.com/shopware/shopware/blob/trunk/code/core/adr.md) +You can find the original version [here](https://github.com/shopware/shopware/blob/trunk/coding-guidelines/core/adr.md) ::: # ADR diff --git a/resources/guidelines/code/core/benchmarks.md b/resources/guidelines/code/core/benchmarks.md index 9b1e9738e..8840acfcd 100644 --- a/resources/guidelines/code/core/benchmarks.md +++ b/resources/guidelines/code/core/benchmarks.md @@ -2,7 +2,7 @@ ::: info This document represents core guidelines and has been mirrored from the core in our Shopware 6 repository. -You can find the original version [here](https://github.com/shopware/shopware/blob/trunk/code/core/benchmarks.md) +You can find the original version [here](https://github.com/shopware/shopware/blob/trunk/coding-guidelines/core/benchmarks.md) ::: # Benchmarks diff --git a/resources/guidelines/code/core/decorator-pattern.md b/resources/guidelines/code/core/decorator-pattern.md index 0084cee49..4fa54d3ce 100644 --- a/resources/guidelines/code/core/decorator-pattern.md +++ b/resources/guidelines/code/core/decorator-pattern.md @@ -2,7 +2,7 @@ ::: info This document represents core guidelines and has been mirrored from the core in our Shopware 6 repository. -You can find the original version [here](https://github.com/shopware/shopware/blob/trunk/code/core/decorator-pattern.md) +You can find the original version [here](https://github.com/shopware/shopware/blob/trunk/coding-guidelines/core/decorator-pattern.md) ::: # Decorator pattern diff --git a/resources/guidelines/code/core/domain-exceptions.md b/resources/guidelines/code/core/domain-exceptions.md index 85f8d6d85..8ca9c9142 100644 --- a/resources/guidelines/code/core/domain-exceptions.md +++ b/resources/guidelines/code/core/domain-exceptions.md @@ -2,7 +2,7 @@ ::: info This document represents core guidelines and has been mirrored from the core in our Shopware 6 repository. -You can find the original version [here](https://github.com/shopware/shopware/blob/trunk/code/core/domain-exceptions.md) +You can find the original version [here](https://github.com/shopware/shopware/blob/trunk/coding-guidelines/core/domain-exceptions.md) ::: # Domain exceptions diff --git a/resources/guidelines/code/core/extendability.md b/resources/guidelines/code/core/extendability.md index 29561ad92..536d7cd36 100644 --- a/resources/guidelines/code/core/extendability.md +++ b/resources/guidelines/code/core/extendability.md @@ -2,7 +2,7 @@ ::: info This document represents core guidelines and has been mirrored from the core in our Shopware 6 repository. -You can find the original version [here](https://github.com/shopware/shopware/blob/trunk/code/core/extendability.md) +You can find the original version [here](https://github.com/shopware/shopware/blob/trunk/coding-guidelines/core/extendability.md) ::: # Extendability diff --git a/resources/guidelines/code/core/final-and-internal.md b/resources/guidelines/code/core/final-and-internal.md index ac770a41f..3a6b4e912 100644 --- a/resources/guidelines/code/core/final-and-internal.md +++ b/resources/guidelines/code/core/final-and-internal.md @@ -2,7 +2,7 @@ ::: info This document represents core guidelines and has been mirrored from the core in our Shopware 6 repository. -You can find the original version [here](https://github.com/shopware/shopware/blob/trunk/code/core/final-and-internal.md) +You can find the original version [here](https://github.com/shopware/shopware/blob/trunk/coding-guidelines/core/final-and-internal.md) ::: # Final and internal annotation diff --git a/resources/guidelines/code/core/internal.md b/resources/guidelines/code/core/internal.md index 3f37e804b..0071a02b9 100644 --- a/resources/guidelines/code/core/internal.md +++ b/resources/guidelines/code/core/internal.md @@ -2,7 +2,7 @@ ::: info This document represents core guidelines and has been mirrored from the core in our Shopware 6 repository. -You can find the original version [here](https://github.com/shopware/shopware/blob/trunk/code/core/internal.md) +You can find the original version [here](https://github.com/shopware/shopware/blob/trunk/coding-guidelines/core/internal.md) ::: # Internal diff --git a/resources/guidelines/code/core/unit-tests.md b/resources/guidelines/code/core/unit-tests.md index c0a50db1c..2b4d738b4 100644 --- a/resources/guidelines/code/core/unit-tests.md +++ b/resources/guidelines/code/core/unit-tests.md @@ -2,7 +2,7 @@ ::: info This document represents core guidelines and has been mirrored from the core in our Shopware 6 repository. -You can find the original version [here](https://github.com/shopware/shopware/blob/trunk/code/core/unit-tests.md) +You can find the original version [here](https://github.com/shopware/shopware/blob/trunk/coding-guidelines/core/unit-tests.md) ::: # Unit tests diff --git a/resources/guidelines/code/core/writing-code-for-static-analysis.md b/resources/guidelines/code/core/writing-code-for-static-analysis.md index 9660e2781..0bc8af0aa 100644 --- a/resources/guidelines/code/core/writing-code-for-static-analysis.md +++ b/resources/guidelines/code/core/writing-code-for-static-analysis.md @@ -2,7 +2,7 @@ ::: info This document represents core guidelines and has been mirrored from the core in our Shopware 6 repository. -You can find the original version [here](https://github.com/shopware/shopware/blob/trunk/code/core/writing-code-for-static-analysis.md) +You can find the original version [here](https://github.com/shopware/shopware/blob/trunk/coding-guidelines/core/writing-code-for-static-analysis.md) ::: # Writing code for static analysis diff --git a/resources/guidelines/testing/e2e-best-practises.md b/resources/guidelines/testing/e2e-best-practises.md index 486ae576b..2a0b9fb8c 100644 --- a/resources/guidelines/testing/e2e-best-practises.md +++ b/resources/guidelines/testing/e2e-best-practises.md @@ -25,7 +25,7 @@ We strongly recommend following Cypress own best practices as well. When it comes to dividing test types, selecting and prioritizing test cases, and thus designing tests, things get a bit more complicated. We have generally aligned our test strategy with the test pyramid, although not 100%. The pyramid states that end-to-end tests should be written in a few but well chosen test cases because end-to-end tests are slow and expensive. -At [Shopware Community Day](https://scd.shopware.com/en/) 2020, we gave a talk on how we approach automated testing in Shopware, how far we have come on this journey, and what we have gained so far: +At [Shopware Community Day](https://scd.shopware.com/en-US/) 2020, we gave a talk on how we approach automated testing in Shopware, how far we have come on this journey, and what we have gained so far: diff --git a/resources/guidelines/testing/store/quality-guidelines-apps/index.md b/resources/guidelines/testing/store/quality-guidelines-apps/index.md index c73c22a96..986f06252 100644 --- a/resources/guidelines/testing/store/quality-guidelines-apps/index.md +++ b/resources/guidelines/testing/store/quality-guidelines-apps/index.md @@ -269,10 +269,6 @@ Error or informational messages can only be recorded in the event log of Shopwar Avoid 400/500 errors at any time unless the 400 errors are related to an API call. ::: -### Untrusted content should not be included - -See [Untrusted content should not be included in SonarQube rules](https://rules.sonarsource.com/javascript/RSPEC-2611) - ### Extension manager The Debug Console controls the app's installation, uninstallation, reinstallation, and deletion. No 400 errors or exceptions are allowed to appear. diff --git a/resources/guidelines/testing/store/quality-guidelines-plugins/index.md b/resources/guidelines/testing/store/quality-guidelines-plugins/index.md index db04147ad..0a114a53c 100644 --- a/resources/guidelines/testing/store/quality-guidelines-plugins/index.md +++ b/resources/guidelines/testing/store/quality-guidelines-plugins/index.md @@ -225,10 +225,6 @@ Error or informational messages can only be recorded in the event log of Shopwar Avoid 400/500 errors at any time unless the 400 errors are related to an API call. ::: -### Untrusted content should not be included - -See [Untrusted content should not be included in SonarQube rules](https://rules.sonarsource.com/javascript/RSPEC-2611). - ### Own media folder Customers must create own media folders or use existing ones to upload images. diff --git a/resources/references/core-reference/rules-reference.md b/resources/references/core-reference/rules-reference.md index f0f6f66d7..8431df128 100644 --- a/resources/references/core-reference/rules-reference.md +++ b/resources/references/core-reference/rules-reference.md @@ -11,57 +11,57 @@ List of all rule classes across Shopware 6. ## Checkout -| Class | Description | -| :--- | :--- | -| [Shopware\Core\Checkout\Cart\Rule\AlwaysValidRule](https://github.com/shopware/shopware/blob/trunk/src/Core/Checkout/Cart/Rule/AlwaysValidRule.php) | Matches always | -| [Shopware\Core\Checkout\Cart\Rule\CartAmountRule](https://github.com/shopware/shopware/blob/trunk/src/Core/Checkout/Cart/Rule/CartAmountRule.php) | Matches a specific number to the carts total price. | +| Class | Description | +|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------| :--- | +| [Shopware\Core\Checkout\Cart\Rule\AlwaysValidRule](https://github.com/shopware/shopware/blob/trunk/src/Core/Checkout/Cart/Rule/AlwaysValidRule.php) | Matches always | +| [Shopware\Core\Checkout\Cart\Rule\CartAmountRule](https://github.com/shopware/shopware/blob/trunk/src/Core/Checkout/Cart/Rule/CartAmountRule.php) | Matches a specific number to the carts total price. | | [Shopware\Core\Checkout\Cart\Rule\CartHasDeliveryFreeItemRule](https://github.com/shopware/shopware/blob/trunk/src/Core/Checkout/Cart/Rule/CartHasDeliveryFreeItemRule.php) | Matches if the cart has a free delivery item. | -| [Shopware\Core\Checkout\Cart\Rule\CartWeightRule](https://github.com/shopware/shopware/blob/trunk/src/Core/Checkout/Cart/Rule/CartWeightRule.php) | Matches a specific number to the current cart's total weight. | -| [Shopware\Core\Checkout\Cart\Rule\GoodsCountRule](https://github.com/shopware/shopware/blob/trunk/src/Core/Checkout/Cart/Rule/GoodsCountRule.php) | Matches a number to the current cart's line item goods count. | -| [Shopware\Core\Checkout\Cart\Rule\GoodsPriceRule](https://github.com/shopware/shopware/blob/trunk/src/Core/Checkout/Cart/Rule/GoodsPriceRule.php) | Matches a specific number to the carts goods price. | -| [Shopware\Core\Checkout\Cart\Rule\LineItemClearanceSaleRule](https://github.com/shopware/shopware/blob/trunk/src/Core/Checkout/Cart/Rule/LineItemClearanceSaleRule.php) | Matches a specific line item which is on clearance sale | -| [Shopware\Core\Checkout\Cart\Rule\LineItemCreationDateRule](https://github.com/shopware/shopware/blob/trunk/src/Core/Checkout/Cart/Rule/LineItemCreationDateRule.php) | Matches if a line item has a specific creation date. | -| [Shopware\Core\Checkout\Cart\Rule\LineItemCustomFieldRule](https://github.com/shopware/shopware/blob/trunk/src/Core/Checkout/Cart/Rule/LineItemCustomFieldRule.php) | Matches if a line item has a specific custom field. | +| [Shopware\Core\Checkout\Cart\Rule\CartWeightRule](https://github.com/shopware/shopware/blob/trunk/src/Core/Checkout/Cart/Rule/CartWeightRule.php) | Matches a specific number to the current cart's total weight. | +| [Shopware\Core\Checkout\Cart\Rule\GoodsCountRule](https://github.com/shopware/shopware/blob/trunk/src/Core/Checkout/Cart/Rule/GoodsCountRule.php) | Matches a number to the current cart's line item goods count. | +| [Shopware\Core\Checkout\Cart\Rule\GoodsPriceRule](https://github.com/shopware/shopware/blob/trunk/src/Core/Checkout/Cart/Rule/GoodsPriceRule.php) | Matches a specific number to the carts goods price. | +| [Shopware\Core\Checkout\Cart\Rule\LineItemClearanceSaleRule](https://github.com/shopware/shopware/blob/trunk/src/Core/Checkout/Cart/Rule/LineItemClearanceSaleRule.php) | Matches a specific line item which is on clearance sale | +| [Shopware\Core\Checkout\Cart\Rule\LineItemCreationDateRule](https://github.com/shopware/shopware/blob/trunk/src/Core/Checkout/Cart/Rule/LineItemCreationDateRule.php) | Matches if a line item has a specific creation date. | +| [Shopware\Core\Checkout\Cart\Rule\LineItemCustomFieldRule](https://github.com/shopware/shopware/blob/trunk/src/Core/Checkout/Cart/Rule/LineItemCustomFieldRule.php) | Matches if a line item has a specific custom field. | | [Shopware\Core\Checkout\Cart\Rule\LineItemDimensionHeightRule](https://github.com/shopware/shopware/blob/trunk/src/Core/Checkout/Cart/Rule/LineItemDimensionHeightRule.php) | Matches a specific line item's height. | | [Shopware\Core\Checkout\Cart\Rule\LineItemDimensionLengthRule](https://github.com/shopware/shopware/blob/trunk/src/Core/Checkout/Cart/Rule/LineItemDimensionLengthRule.php) | Matches a specific line item's length. | | [Shopware\Core\Checkout\Cart\Rule\LineItemDimensionWeightRule](https://github.com/shopware/shopware/blob/trunk/src/Core/Checkout/Cart/Rule/LineItemDimensionWeightRule.php) | Matches a specific line item's weight. | -| [Shopware\Core\Checkout\Cart\Rule\LineItemDimensionWidthRule](https://github.com/shopware/shopware/blob/trunk/src/Core/Checkout/Cart/Rule/LineItemDimensionWidthRule.php) | Matches a specific line item's width. | -| [Shopware\Core\Checkout\Cart\Rule\LineItemGroupRule](https://github.com/shopware/shopware/blob/trunk/src/Core/Checkout/Cart/Rule/LineItemGroupRule.php) | Matches if a line item has a specific group. | -| [Shopware\Core\Checkout\Cart\Rule\LineItemInCategoryRule](https://github.com/shopware/shopware/blob/trunk/src/Core/Checkout/Cart/Rule/LineItemInCategoryRule.php) | Matches if a line item is in a specific category. | -| [Shopware\Core\Checkout\Cart\Rule\LineItemIsNewRule](https://github.com/shopware/shopware/blob/trunk/src/Core/Checkout/Cart/Rule/LineItemIsNewRule.php) | Matches if a line item is marked as new. | -| [Shopware\Core\Checkout\Cart\Rule\LineItemListPriceRule](https://github.com/shopware/shopware/blob/trunk/src/Core/Checkout/Cart/Rule/LineItemListPriceRule.php) | Matches a specific line item has a specific list price. | -| [Shopware\Core\Checkout\Cart\Rule\LineItemOfManufacturerRule](https://github.com/shopware/shopware/blob/trunk/src/Core/Checkout/Cart/Rule/LineItemOfManufacturerRule.php) | Matches a specific line item has a specific manufacturer. | -| [Shopware\Core\Checkout\Cart\Rule\LineItemOfTypeRule](https://github.com/shopware/shopware/blob/trunk/src/Core/Checkout/Cart/Rule/LineItemOfTypeRule.php) | Matches a specific type name to the line item's type. | -| [Shopware\Core\Checkout\Cart\Rule\LineItemPromotedRule](https://github.com/shopware/shopware/blob/trunk/src/Core/Checkout/Cart/Rule/LineItemPromotedRule.php) | Matches if a line item is promoted. | -| [Shopware\Core\Checkout\Cart\Rule\LineItemPropertyRule](https://github.com/shopware/shopware/blob/trunk/src/Core/Checkout/Cart/Rule/LineItemPropertyRule.php) | Matches if a line item has a specific property. | -| [Shopware\Core\Checkout\Cart\Rule\LineItemPurchasePriceRule](https://github.com/shopware/shopware/blob/trunk/src/Core/Checkout/Cart/Rule/LineItemPurchasePriceRule.php) | Matches if a line item has a specific purchase price. | -| [Shopware\Core\Checkout\Cart\Rule\LineItemReleaseDateRule](https://github.com/shopware/shopware/blob/trunk/src/Core/Checkout/Cart/Rule/LineItemReleaseDateRule.php) | Matches a specific line item's release date. | -| [Shopware\Core\Checkout\Cart\Rule\LineItemRule](https://github.com/shopware/shopware/blob/trunk/src/Core/Checkout/Cart/Rule/LineItemRule.php) | Matches multiple identifiers to a line item's keys. True if one identifier matches. | -| [Shopware\Core\Checkout\Cart\Rule\LineItemTagRule](https://github.com/shopware/shopware/blob/trunk/src/Core/Checkout/Cart/Rule/LineItemTagRule.php) | Matches multiple tags to a line item's tag. True if one tag matches. | -| [Shopware\Core\Checkout\Cart\Rule\LineItemTaxationRule](https://github.com/shopware/shopware/blob/trunk/src/Core/Checkout/Cart/Rule/LineItemTaxationRule.php) | Matches if a line item has a specific tax. | -| [Shopware\Core\Checkout\Cart\Rule\LineItemTotalPriceRule](https://github.com/shopware/shopware/blob/trunk/src/Core/Checkout/Cart/Rule/LineItemTotalPriceRule.php) | Matches a number to the current cart's line item total price. | -| [Shopware\Core\Checkout\Cart\Rule\LineItemUnitPriceRule](https://github.com/shopware/shopware/blob/trunk/src/Core/Checkout/Cart/Rule/LineItemUnitPriceRule.php) | Matches a specific number to a line item's price. | -| [Shopware\Core\Checkout\Cart\Rule\LineItemWithQuantityRule](https://github.com/shopware/shopware/blob/trunk/src/Core/Checkout/Cart/Rule/LineItemWithQuantityRule.php) | Matches a specific line item's quantity to the current line item's quantity. | -| [Shopware\Core\Checkout\Cart\Rule\LineItemWrapperRule](https://github.com/shopware/shopware/blob/trunk/src/Core/Checkout/Cart/Rule/LineItemWrapperRule.php) | Internally handled scope changes. | -| [Shopware\Core\Checkout\Cart\Rule\LineItemsInCartCountRule](https://github.com/shopware/shopware/blob/trunk/src/Core/Checkout/Cart/Rule/LineItemsInCartCountRule.php) | Matches a number to the current cart's line item count. | -| [Shopware\Core\Checkout\Cart\Rule\LineItemsInCartRule](https://github.com/shopware/shopware/blob/trunk/src/Core/Checkout/Cart/Rule/LineItemsInCartRule.php) | Matches multiple identifiers to a carts line item's identifier. True if one identifier matches. | -| [Shopware\Core\Checkout\Cart\Rule\PaymentMethodRule](https://github.com/shopware/shopware/blob/trunk/src/Core/Checkout/Cart/Rule/PaymentMethodRule.php) | Matches if a specific payment method is used | -| [Shopware\Core\Checkout\Cart\Rule\ShippingMethodRule](https://github.com/shopware/shopware/blob/trunk/src/Core/Checkout/Cart/Rule/ShippingMethodRule.php) | Matches if a specific shipping method is used | -| [Shopware\Core\Checkout\Customer\Rule\BillingCountryRule](https://github.com/shopware/shopware/blob/trunk/src/Core/Checkout/Customer/Rule/BillingCountryRule.php) | Matches multiple countries to the customer's active billing address country. | -| [Shopware\Core\Checkout\Customer\Rule\BillingStreetRule](https://github.com/shopware/shopware/blob/trunk/src/Core/Checkout/Customer/Rule/BillingStreetRule.php) | Matches multiple street names to the customer's active billing address street name. | -| [Shopware\Core\Checkout\Customer\Rule\BillingZipCodeRule](https://github.com/shopware/shopware/blob/trunk/src/Core/Checkout/Customer/Rule/BillingZipCodeRule.php) | Matches multiple zip codes to the customer's active billing address zip code. | -| [Shopware\Core\Checkout\Customer\Rule\CustomerGroupRule](https://github.com/shopware/shopware/blob/trunk/src/Core/Checkout/Customer/Rule/CustomerGroupRule.php) | Matches multiple customer groups to the current customers group. True if one customer group matches. | -| [Shopware\Core\Checkout\Customer\Rule\CustomerNumberRule](https://github.com/shopware/shopware/blob/trunk/src/Core/Checkout/Customer/Rule/CustomerNumberRule.php) | Matches multiple numbers to the active customers number. | -| [Shopware\Core\Checkout\Customer\Rule\CustomerTagRule](https://github.com/shopware/shopware/blob/trunk/src/Core/Checkout/Customer/Rule/CustomerTagRule.php) | Matches a tag set to customers | -| [Shopware\Core\Checkout\Customer\Rule\DaysSinceLastOrderRule](https://github.com/shopware/shopware/blob/trunk/src/Core/Checkout/Customer/Rule/DaysSinceLastOrderRule.php) | Matches a specific number of days to the last order creation date. | -| [Shopware\Core\Checkout\Customer\Rule\DifferentAddressesRule](https://github.com/shopware/shopware/blob/trunk/src/Core/Checkout/Customer/Rule/DifferentAddressesRule.php) | Matches if active billing address is not the default. | -| [Shopware\Core\Checkout\Customer\Rule\IsCompanyRule](https://github.com/shopware/shopware/blob/trunk/src/Core/Checkout/Customer/Rule/IsCompanyRule.php) | Matches if the customer is a company | -| [Shopware\Core\Checkout\Customer\Rule\IsNewCustomerRule](https://github.com/shopware/shopware/blob/trunk/src/Core/Checkout/Customer/Rule/IsNewCustomerRule.php) | Matches if a customer is new, by matching the `firstLogin` property with today. | -| [Shopware\Core\Checkout\Customer\Rule\LastNameRule](https://github.com/shopware/shopware/blob/trunk/src/Core/Checkout/Customer/Rule/LastNameRule.php) | Exactly matches a string to the customer's last name. | -| [Shopware\Core\Checkout\Customer\Rule\OrderCountRule](https://github.com/shopware/shopware/blob/trunk/src/Core/Checkout/Customer/Rule/OrderCountRule.php) | Matches a specific number to the number of orders of the current customer. | -| [Shopware\Core\Checkout\Customer\Rule\ShippingCountryRule](https://github.com/shopware/shopware/blob/trunk/src/Core/Checkout/Customer/Rule/ShippingCountryRule.php) | Matches multiple countries to the customer's active shipping address country. True if one country matches. | -| [Shopware\Core\Checkout\Customer\Rule\ShippingStreetRule](https://github.com/shopware/shopware/blob/trunk/src/Core/Checkout/Customer/Rule/ShippingStreetRule.php) | Matches multiple street names to the customer's active shipping address street name. True if one street name matches. | -| [Shopware\Core\Checkout\Customer\Rule\ShippingZipCodeRule](https://github.com/shopware/shopware/blob/trunk/src/Core/Checkout/Customer/Rule/ShippingZipCodeRule.php) | Matches multiple zip codes to the customer's active shipping address zip code. True if one zip code matches. | +| [Shopware\Core\Checkout\Cart\Rule\LineItemDimensionWidthRule](https://github.com/shopware/shopware/blob/trunk/src/Core/Checkout/Cart/Rule/LineItemDimensionWidthRule.php) | Matches a specific line item's width. | +| [Shopware\Core\Checkout\Cart\Rule\LineItemGroupRule](https://github.com/shopware/shopware/blob/trunk/src/Core/Checkout/Cart/Rule/LineItemGroupRule.php) | Matches if a line item has a specific group. | +| [Shopware\Core\Checkout\Cart\Rule\LineItemInCategoryRule](https://github.com/shopware/shopware/blob/trunk/src/Core/Checkout/Cart/Rule/LineItemInCategoryRule.php) | Matches if a line item is in a specific category. | +| [Shopware\Core\Checkout\Cart\Rule\LineItemIsNewRule](https://github.com/shopware/shopware/blob/trunk/src/Core/Checkout/Cart/Rule/LineItemIsNewRule.php) | Matches if a line item is marked as new. | +| [Shopware\Core\Checkout\Cart\Rule\LineItemListPriceRule](https://github.com/shopware/shopware/blob/trunk/src/Core/Checkout/Cart/Rule/LineItemListPriceRule.php) | Matches a specific line item has a specific list price. | +| [Shopware\Core\Checkout\Cart\Rule\LineItemOfManufacturerRule](https://github.com/shopware/shopware/blob/trunk/src/Core/Checkout/Cart/Rule/LineItemOfManufacturerRule.php) | Matches a specific line item has a specific manufacturer. | +| [Shopware\Core\Checkout\Cart\Rule\LineItemOfTypeRule](https://github.com/shopware/shopware/blob/trunk/src/Core/Checkout/Cart/Rule/LineItemOfTypeRule.php) | Matches a specific type name to the line item's type. | +| [Shopware\Core\Checkout\Cart\Rule\LineItemPromotedRule](https://github.com/shopware/shopware/blob/trunk/src/Core/Checkout/Cart/Rule/LineItemPromotedRule.php) | Matches if a line item is promoted. | +| [Shopware\Core\Checkout\Cart\Rule\LineItemPropertyRule](https://github.com/shopware/shopware/blob/trunk/src/Core/Checkout/Cart/Rule/LineItemPropertyRule.php) | Matches if a line item has a specific property. | +| [Shopware\Core\Checkout\Cart\Rule\LineItemPurchasePriceRule](https://github.com/shopware/shopware/blob/trunk/src/Core/Checkout/Cart/Rule/LineItemPurchasePriceRule.php) | Matches if a line item has a specific purchase price. | +| [Shopware\Core\Checkout\Cart\Rule\LineItemReleaseDateRule](https://github.com/shopware/shopware/blob/trunk/src/Core/Checkout/Cart/Rule/LineItemReleaseDateRule.php) | Matches a specific line item's release date. | +| [Shopware\Core\Checkout\Cart\Rule\LineItemRule](https://github.com/shopware/shopware/blob/trunk/src/Core/Checkout/Cart/Rule/LineItemRule.php) | Matches multiple identifiers to a line item's keys. True if one identifier matches. | +| [Shopware\Core\Checkout\Cart\Rule\LineItemTagRule](https://github.com/shopware/shopware/blob/trunk/src/Core/Checkout/Cart/Rule/LineItemTagRule.php) | Matches multiple tags to a line item's tag. True if one tag matches. | +| [Shopware\Core\Checkout\Cart\Rule\LineItemTaxationRule](https://github.com/shopware/shopware/blob/trunk/src/Core/Checkout/Cart/Rule/LineItemTaxationRule.php) | Matches if a line item has a specific tax. | +| [Shopware\Core\Checkout\Cart\Rule\LineItemTotalPriceRule](https://github.com/shopware/shopware/blob/trunk/src/Core/Checkout/Cart/Rule/LineItemTotalPriceRule.php) | Matches a number to the current cart's line item total price. | +| [Shopware\Core\Checkout\Cart\Rule\LineItemUnitPriceRule](https://github.com/shopware/shopware/blob/trunk/src/Core/Checkout/Cart/Rule/LineItemUnitPriceRule.php) | Matches a specific number to a line item's price. | +| [Shopware\Core\Checkout\Cart\Rule\LineItemWithQuantityRule](https://github.com/shopware/shopware/blob/trunk/src/Core/Checkout/Cart/Rule/LineItemWithQuantityRule.php) | Matches a specific line item's quantity to the current line item's quantity. | +| [Shopware\Core\Checkout\Cart\Rule\LineItemWrapperRule](https://github.com/shopware/shopware/blob/trunk/src/Core/Checkout/Cart/Rule/LineItemWrapperRule.php) | Internally handled scope changes. | +| [Shopware\Core\Checkout\Cart\Rule\LineItemsInCartCountRule](https://github.com/shopware/shopware/blob/trunk/src/Core/Checkout/Cart/Rule/LineItemsInCartCountRule.php) | Matches a number to the current cart's line item count. | +| [Shopware\Core\Checkout\Cart\Rule\LineItemsInCartCountRule](https://github.com/shopware/shopware/blob/trunk/src/Core/Checkout/Cart/Rule/LineItemsInCartCountRule.php) | Matches multiple identifiers to a carts line item's identifier. True if one identifier matches. | +| [Shopware\Core\Checkout\Cart\Rule\PaymentMethodRule](https://github.com/shopware/shopware/blob/trunk/src/Core/Checkout/Cart/Rule/PaymentMethodRule.php) | Matches if a specific payment method is used | +| [Shopware\Core\Checkout\Cart\Rule\ShippingMethodRule](https://github.com/shopware/shopware/blob/trunk/src/Core/Checkout/Cart/Rule/ShippingMethodRule.php) | Matches if a specific shipping method is used | +| [Shopware\Core\Checkout\Customer\Rule\BillingCountryRule](https://github.com/shopware/shopware/blob/trunk/src/Core/Checkout/Customer/Rule/BillingCountryRule.php) | Matches multiple countries to the customer's active billing address country. | +| [Shopware\Core\Checkout\Customer\Rule\BillingStreetRule](https://github.com/shopware/shopware/blob/trunk/src/Core/Checkout/Customer/Rule/BillingStreetRule.php) | Matches multiple street names to the customer's active billing address street name. | +| [Shopware\Core\Checkout\Customer\Rule\BillingZipCodeRule](https://github.com/shopware/shopware/blob/trunk/src/Core/Checkout/Customer/Rule/BillingZipCodeRule.php) | Matches multiple zip codes to the customer's active billing address zip code. | +| [Shopware\Core\Checkout\Customer\Rule\CustomerGroupRule](https://github.com/shopware/shopware/blob/trunk/src/Core/Checkout/Customer/Rule/CustomerGroupRule.php) | Matches multiple customer groups to the current customers group. True if one customer group matches. | +| [Shopware\Core\Checkout\Customer\Rule\CustomerNumberRule](https://github.com/shopware/shopware/blob/trunk/src/Core/Checkout/Customer/Rule/CustomerNumberRule.php) | Matches multiple numbers to the active customers number. | +| [Shopware\Core\Checkout\Customer\Rule\CustomerTagRule](https://github.com/shopware/shopware/blob/trunk/src/Core/Checkout/Customer/Rule/CustomerTagRule.php) | Matches a tag set to customers | +| [Shopware\Core\Checkout\Customer\Rule\DaysSinceLastOrderRule](https://github.com/shopware/shopware/blob/trunk/src/Core/Checkout/Customer/Rule/DaysSinceLastOrderRule.php) | Matches a specific number of days to the last order creation date. | +| [Shopware\Core\Checkout\Customer\Rule\DifferentAddressesRule](https://github.com/shopware/shopware/blob/trunk/src/Core/Checkout/Customer/Rule/DifferentAddressesRule.php) | Matches if active billing address is not the default. | +| [Shopware\Core\Checkout\Customer\Rule\IsCompanyRule](https://github.com/shopware/shopware/blob/trunk/src/Core/Checkout/Customer/Rule/IsCompanyRule.php) | Matches if the customer is a company | +| [Shopware\Core\Checkout\Customer\Rule\IsNewCustomerRule](https://github.com/shopware/shopware/blob/trunk/src/Core/Checkout/Customer/Rule/IsNewCustomerRule.php) | Matches if a customer is new, by matching the `firstLogin` property with today. | +| [Shopware\Core\Checkout\Customer\Rule\LastNameRule](https://github.com/shopware/shopware/blob/trunk/src/Core/Checkout/Customer/Rule/LastNameRule.php) | Exactly matches a string to the customer's last name. | +| [Shopware\Core\Checkout\Customer\Rule\OrderCountRule](https://github.com/shopware/shopware/blob/trunk/src/Core/Checkout/Customer/Rule/OrderCountRule.php) | Matches a specific number to the number of orders of the current customer. | +| [Shopware\Core\Checkout\Customer\Rule\ShippingCountryRule](https://github.com/shopware/shopware/blob/trunk/src/Core/Checkout/Customer/Rule/ShippingCountryRule.php) | Matches multiple countries to the customer's active shipping address country. True if one country matches. | +| [Shopware\Core\Checkout\Customer\Rule\ShippingStreetRule](https://github.com/shopware/shopware/blob/trunk/src/Core/Checkout/Customer/Rule/ShippingStreetRule.php) | Matches multiple street names to the customer's active shipping address street name. True if one street name matches. | +| [Shopware\Core\Checkout\Customer\Rule\ShippingZipCodeRule](https://github.com/shopware/shopware/blob/trunk/src/Core/Checkout/Customer/Rule/ShippingZipCodeRule.php) | Matches multiple zip codes to the customer's active shipping address zip code. True if one zip code matches. | ## Framework From 51d9fd47f0ba872701c9a7465ec72ac317d413d3 Mon Sep 17 00:00:00 2001 From: Micha Hobert Date: Thu, 23 Nov 2023 11:57:51 +0100 Subject: [PATCH 2/3] Add scheduling --- .github/workflows/validate-external-links.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/validate-external-links.yml b/.github/workflows/validate-external-links.yml index ad90dabfe..ac75f87cb 100644 --- a/.github/workflows/validate-external-links.yml +++ b/.github/workflows/validate-external-links.yml @@ -1,5 +1,9 @@ name: External link validation -on: push + +on: + workflow_dispatch: + schedule: + - cron: 0 11 * * * jobs: linkvalidator: From e2bb1d1e55af42c50ce44472529f2a4ada4f19fe Mon Sep 17 00:00:00 2001 From: Micha Hobert Date: Thu, 23 Nov 2023 12:01:31 +0100 Subject: [PATCH 3/3] Test both options --- .github/workflows/validate-external-links.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/validate-external-links.yml b/.github/workflows/validate-external-links.yml index ac75f87cb..4d0952a11 100644 --- a/.github/workflows/validate-external-links.yml +++ b/.github/workflows/validate-external-links.yml @@ -1,7 +1,8 @@ name: External link validation on: - workflow_dispatch: + pull_request: + types: [opened, edited] schedule: - cron: 0 11 * * *