From 8aa82d81b0d64a6f088e922efa403f525173fab3 Mon Sep 17 00:00:00 2001
From: catch <catch@35733.no-reply.drupal.org>
Date: Wed, 26 Aug 2020 09:09:50 +0100
Subject: [PATCH] Issue #3122113 by Suresh Prabhu Parkala, rpayanm,
 ilgnerfagundes, gabesullice, bbrala, alexpott, xjm: Convert all PHPDoc links
 targeting JSON:API contrib issues to target Drupal core issues

---
 core/modules/jsonapi/jsonapi.api.php          |  4 +--
 .../src/Access/EntityAccessChecker.php        |  6 ++--
 .../src/Access/RelationshipFieldAccess.php    |  2 +-
 .../src/Access/TemporaryQueryGuard.php        |  2 +-
 .../jsonapi/src/Context/FieldResolver.php     |  6 ++--
 .../jsonapi/src/Controller/EntityResource.php |  6 ++--
 .../jsonapi/src/Controller/EntryPoint.php     |  2 +-
 .../jsonapi/src/Controller/FileUpload.php     |  4 +--
 ...gisterSerializationClassesCompilerPass.php |  2 +-
 .../jsonapi/src/Encoder/JsonEncoder.php       |  2 +-
 .../src/Entity/EntityValidationTrait.php      |  2 +-
 .../DefaultExceptionSubscriber.php            |  2 +-
 .../JsonApiRequestValidator.php               |  2 +-
 .../ResourceResponseSubscriber.php            |  2 +-
 .../ResourceResponseValidator.php             |  2 +-
 .../EntityAccessDeniedHttpException.php       |  4 +--
 .../UnprocessableHttpEntityException.php      |  2 +-
 core/modules/jsonapi/src/IncludeResolver.php  |  2 +-
 .../jsonapi/src/JsonApiResource/Data.php      |  2 +-
 .../src/JsonApiResource/ErrorCollection.php   |  2 +-
 .../src/JsonApiResource/IncludedData.php      |  2 +-
 .../JsonApiDocumentTopLevel.php               |  2 +-
 .../LabelOnlyResourceObject.php               |  2 +-
 .../jsonapi/src/JsonApiResource/Link.php      |  2 +-
 .../src/JsonApiResource/LinkCollection.php    |  2 +-
 .../src/JsonApiResource/NullIncludedData.php  |  2 +-
 .../src/JsonApiResource/OmittedData.php       |  2 +-
 .../src/JsonApiResource/Relationship.php      |  2 +-
 .../src/JsonApiResource/RelationshipData.php  |  2 +-
 .../JsonApiResource/ResourceIdentifier.php    |  4 +--
 .../ResourceIdentifierInterface.php           |  2 +-
 .../ResourceIdentifierTrait.php               |  2 +-
 .../src/JsonApiResource/ResourceObject.php    |  2 +-
 .../JsonApiResource/ResourceObjectData.php    |  2 +-
 .../JsonApiResource/TopLevelDataInterface.php |  2 +-
 core/modules/jsonapi/src/JsonApiSpec.php      |  2 +-
 .../jsonapi/src/JsonapiServiceProvider.php    |  2 +-
 .../Normalizer/ConfigEntityDenormalizer.php   |  2 +-
 .../Normalizer/ContentEntityDenormalizer.php  |  2 +-
 ...ityAccessDeniedHttpExceptionNormalizer.php |  2 +-
 .../src/Normalizer/EntityDenormalizerBase.php |  2 +-
 .../EntityReferenceFieldNormalizer.php        |  2 +-
 .../src/Normalizer/FieldItemNormalizer.php    |  2 +-
 .../src/Normalizer/FieldNormalizer.php        |  2 +-
 .../Normalizer/HttpExceptionNormalizer.php    |  4 +--
 .../JsonApiDocumentTopLevelNormalizer.php     |  6 ++--
 .../Normalizer/LinkCollectionNormalizer.php   |  2 +-
 .../jsonapi/src/Normalizer/NormalizerBase.php |  2 +-
 .../ResourceIdentifierNormalizer.php          |  2 +-
 .../Normalizer/ResourceObjectNormalizer.php   |  2 +-
 ...ocessableHttpEntityExceptionNormalizer.php |  2 +-
 .../Value/CacheableNormalization.php          |  2 +-
 .../Normalizer/Value/CacheableOmission.php    |  2 +-
 .../Value/HttpExceptionNormalizerValue.php    |  2 +-
 .../ParamConverter/EntityUuidConverter.php    |  2 +-
 .../ParamConverter/ResourceTypeConverter.php  |  2 +-
 .../jsonapi/src/Query/EntityCondition.php     |  2 +-
 .../src/Query/EntityConditionGroup.php        |  2 +-
 core/modules/jsonapi/src/Query/Filter.php     |  2 +-
 core/modules/jsonapi/src/Query/OffsetPage.php |  2 +-
 core/modules/jsonapi/src/Query/Sort.php       |  2 +-
 core/modules/jsonapi/src/ResourceResponse.php |  2 +-
 .../jsonapi/src/ResourceType/ResourceType.php |  2 +-
 .../ResourceType/ResourceTypeAttribute.php    |  2 +-
 .../src/ResourceType/ResourceTypeField.php    |  2 +-
 .../ResourceType/ResourceTypeRelationship.php |  2 +-
 .../ResourceType/ResourceTypeRepository.php   |  2 +-
 .../ResourceTypeRepositoryInterface.php       |  2 +-
 .../InvalidVersionIdentifierException.php     |  2 +-
 .../jsonapi/src/Revisions/NegotiatorBase.php  |  2 +-
 .../ResourceVersionRouteEnhancer.php          |  4 +--
 .../jsonapi/src/Revisions/VersionById.php     |  2 +-
 .../jsonapi/src/Revisions/VersionByRel.php    |  2 +-
 .../src/Revisions/VersionNegotiator.php       |  2 +-
 .../Revisions/VersionNegotiatorInterface.php  |  2 +-
 .../Revisions/VersionNotFoundException.php    |  2 +-
 .../jsonapi/src/Routing/RouteEnhancer.php     |  2 +-
 core/modules/jsonapi/src/Routing/Routes.php   |  2 +-
 .../jsonapi/src/Serializer/Serializer.php     |  4 +--
 .../tests/src/Functional/BlockContentTest.php |  2 +-
 .../tests/src/Functional/CommentTest.php      |  2 +-
 .../Functional/ConfigurableLanguageTest.php   |  4 +--
 .../Functional/ExternalNormalizersTest.php    |  2 +-
 .../src/Functional/JsonApiRegressionTest.php  | 36 +++++++++----------
 .../tests/src/Functional/MediaTest.php        |  2 +-
 .../src/Functional/MenuLinkContentTest.php    |  2 +-
 .../jsonapi/tests/src/Functional/NodeTest.php |  8 ++---
 .../tests/src/Functional/ResourceTestBase.php | 16 ++++-----
 .../jsonapi/tests/src/Functional/TermTest.php |  6 ++--
 .../jsonapi/tests/src/Functional/UserTest.php |  6 ++--
 .../JsonApiDocumentTopLevelNormalizerTest.php |  2 +-
 91 files changed, 138 insertions(+), 138 deletions(-)

diff --git a/core/modules/jsonapi/jsonapi.api.php b/core/modules/jsonapi/jsonapi.api.php
index c011e77f7975..2d09100e0921 100644
--- a/core/modules/jsonapi/jsonapi.api.php
+++ b/core/modules/jsonapi/jsonapi.api.php
@@ -63,7 +63,7 @@
  *
  * @see https://github.com/json-api/json-api/pull/1268
  * @see https://github.com/json-api/json-api/pull/1311
- * @see https://www.drupal.org/project/jsonapi/issues/2955020
+ * @see https://www.drupal.org/project/drupal/issues/2955020
  *
  * By implementing revision support as a profile, the JSON:API module should be
  * maximally compatible with other systems.
@@ -117,7 +117,7 @@
  * It is not yet possible to request a collection of revisions. This is still
  * under development in issue [#3009588].
  *
- * @see https://www.drupal.org/project/jsonapi/issues/3009588.
+ * @see https://www.drupal.org/project/drupal/issues/3009588.
  * @see https://tools.ietf.org/html/rfc5829
  * @see https://www.drupal.org/docs/8/modules/jsonapi/revisions
  *
diff --git a/core/modules/jsonapi/src/Access/EntityAccessChecker.php b/core/modules/jsonapi/src/Access/EntityAccessChecker.php
index d3d4fa06e0a1..1a5b3ea19ce6 100644
--- a/core/modules/jsonapi/src/Access/EntityAccessChecker.php
+++ b/core/modules/jsonapi/src/Access/EntityAccessChecker.php
@@ -31,7 +31,7 @@
  * @internal JSON:API maintains no PHP API. The API is the HTTP API. This class
  *   may change at any time and could break any dependencies on it.
  *
- * @see https://www.drupal.org/project/jsonapi/issues/3032787
+ * @see https://www.drupal.org/project/drupal/issues/3032787
  * @see jsonapi.api.php
  */
 class EntityAccessChecker {
@@ -238,7 +238,7 @@ public function checkEntityAccess(EntityInterface $entity, $operation, AccountIn
    *
    * @todo: remove when a generic revision access API exists in Drupal core, and
    * also remove the injected "node" and "media" services.
-   * @see https://www.drupal.org/project/jsonapi/issues/2992833#comment-12818386
+   * @see https://www.drupal.org/project/drupal/issues/2992833#comment-12818386
    */
   protected function checkRevisionViewAccess(EntityInterface $entity, AccountInterface $account) {
     assert($entity instanceof RevisionableInterface);
@@ -257,7 +257,7 @@ protected function checkRevisionViewAccess(EntityInterface $entity, AccountInter
 
       default:
         $reason = 'Only node and media revisions are supported by JSON:API.';
-        $reason .= ' For context, see https://www.drupal.org/project/jsonapi/issues/2992833#comment-12818258.';
+        $reason .= ' For context, see https://www.drupal.org/project/drupal/issues/2992833#comment-12818258.';
         $reason .= ' To contribute, see https://www.drupal.org/project/drupal/issues/2350939 and https://www.drupal.org/project/drupal/issues/2809177.';
         $access = AccessResult::neutral($reason);
     }
diff --git a/core/modules/jsonapi/src/Access/RelationshipFieldAccess.php b/core/modules/jsonapi/src/Access/RelationshipFieldAccess.php
index ff0e10374584..244dee3e575b 100644
--- a/core/modules/jsonapi/src/Access/RelationshipFieldAccess.php
+++ b/core/modules/jsonapi/src/Access/RelationshipFieldAccess.php
@@ -20,7 +20,7 @@
  * @internal JSON:API maintains no PHP API. The API is the HTTP API. This class
  *   may change at any time and could break any dependencies on it.
  *
- * @see https://www.drupal.org/project/jsonapi/issues/3032787
+ * @see https://www.drupal.org/project/drupal/issues/3032787
  * @see jsonapi.api.php
  */
 class RelationshipFieldAccess implements AccessInterface {
diff --git a/core/modules/jsonapi/src/Access/TemporaryQueryGuard.php b/core/modules/jsonapi/src/Access/TemporaryQueryGuard.php
index dd3b0a8e3d12..a919611cc0f1 100644
--- a/core/modules/jsonapi/src/Access/TemporaryQueryGuard.php
+++ b/core/modules/jsonapi/src/Access/TemporaryQueryGuard.php
@@ -32,7 +32,7 @@
  * @see https://www.drupal.org/project/drupal/issues/2809177
  * @see https://www.drupal.org/project/drupal/issues/777578
  *
- * @see https://www.drupal.org/project/jsonapi/issues/3032787
+ * @see https://www.drupal.org/project/drupal/issues/3032787
  * @see jsonapi.api.php
  */
 class TemporaryQueryGuard {
diff --git a/core/modules/jsonapi/src/Context/FieldResolver.php b/core/modules/jsonapi/src/Context/FieldResolver.php
index ab410e9b93c7..9790d4804b4d 100644
--- a/core/modules/jsonapi/src/Context/FieldResolver.php
+++ b/core/modules/jsonapi/src/Context/FieldResolver.php
@@ -67,7 +67,7 @@
  * @internal JSON:API maintains no PHP API. The API is the HTTP API. This class
  *   may change at any time and could break any dependencies on it.
  *
- * @see https://www.drupal.org/project/jsonapi/issues/3032787
+ * @see https://www.drupal.org/project/drupal/issues/3032787
  * @see jsonapi.api.php
  */
 class FieldResolver {
@@ -531,7 +531,7 @@ protected function getInternalName($field_name, array $resource_types) {
    */
   protected function isMemberFilterable($external_name, array $resource_types) {
     return array_reduce($resource_types, function ($carry, ResourceType $resource_type) use ($external_name) {
-      // @todo: remove the next line and uncomment the following one in https://www.drupal.org/project/jsonapi/issues/3017047.
+      // @todo: remove the next line and uncomment the following one in https://www.drupal.org/project/drupal/issues/3017047.
       return $carry ?: $external_name === 'id' || $resource_type->isFieldEnabled($resource_type->getInternalName($external_name));
       /*return $carry ?: in_array($external_name, ['id', 'type']) || $resource_type->isFieldEnabled($resource_type->getInternalName($external_name));*/
     }, FALSE);
@@ -633,7 +633,7 @@ protected static function getDataReferencePropertyName(array $candidate_definiti
         $prior_parts = array_slice($unresolved_path_parts, 0, count($unresolved_path_parts) - count($remaining_parts));
         return implode('.', array_merge($prior_parts, [$reference_name], $remaining_parts));
       }, $unique_reference_names);
-      // @todo Add test coverage for this in https://www.drupal.org/project/jsonapi/issues/2971281
+      // @todo Add test coverage for this in https://www.drupal.org/project/drupal/issues/2971281
       $message = sprintf('Ambiguous path. Try one of the following: %s, in place of the given path: %s', implode(', ', $choices), implode('.', $unresolved_path_parts));
       $cacheability = (new CacheableMetadata())->addCacheContexts(['url.query_args:filter', 'url.query_args:sort']);
       throw new CacheableBadRequestHttpException($cacheability, $message);
diff --git a/core/modules/jsonapi/src/Controller/EntityResource.php b/core/modules/jsonapi/src/Controller/EntityResource.php
index 4bd865bc0a2f..30d322774ee7 100644
--- a/core/modules/jsonapi/src/Controller/EntityResource.php
+++ b/core/modules/jsonapi/src/Controller/EntityResource.php
@@ -65,7 +65,7 @@
  * @internal JSON:API maintains no PHP API. The API is the HTTP API. This class
  *   may change at any time and could break any dependencies on it.
  *
- * @see https://www.drupal.org/project/jsonapi/issues/3032787
+ * @see https://www.drupal.org/project/drupal/issues/3032787
  * @see jsonapi.api.php
  */
 class EntityResource {
@@ -307,7 +307,7 @@ public function createIndividual(ResourceType $resource_type, Request $request)
    */
   public function patchIndividual(ResourceType $resource_type, EntityInterface $entity, Request $request) {
     if ($entity instanceof RevisionableInterface && !($entity->isLatestRevision() && $entity->isDefaultRevision())) {
-      throw new BadRequestHttpException('Updating a resource object that has a working copy is not yet supported. See https://www.drupal.org/project/jsonapi/issues/2795279.');
+      throw new BadRequestHttpException('Updating a resource object that has a working copy is not yet supported. See https://www.drupal.org/project/drupal/issues/2795279.');
     }
 
     $parsed_entity = $this->deserialize($resource_type, $request, JsonApiDocumentTopLevel::class);
@@ -408,7 +408,7 @@ public function getCollection(ResourceType $resource_type, Request $request) {
     catch (\LogicException $e) {
       // Ensure good DX when an entity query involves a config entity type.
       // For example: getting users with a particular role, which is a config
-      // entity type: https://www.drupal.org/project/jsonapi/issues/2959445.
+      // entity type: https://www.drupal.org/project/drupal/issues/2959445.
       // @todo Remove the message parsing in https://www.drupal.org/project/drupal/issues/3028967.
       if (strpos($e->getMessage(), 'Getting the base fields is not supported for entity type') === 0) {
         preg_match('/entity type (.*)\./', $e->getMessage(), $matches);
diff --git a/core/modules/jsonapi/src/Controller/EntryPoint.php b/core/modules/jsonapi/src/Controller/EntryPoint.php
index a564580523cd..29a4276572b1 100644
--- a/core/modules/jsonapi/src/Controller/EntryPoint.php
+++ b/core/modules/jsonapi/src/Controller/EntryPoint.php
@@ -23,7 +23,7 @@
  * @internal JSON:API maintains no PHP API. The API is the HTTP API. This class
  *   may change at any time and could break any dependencies on it.
  *
- * @see https://www.drupal.org/project/jsonapi/issues/3032787
+ * @see https://www.drupal.org/project/drupal/issues/3032787
  * @see jsonapi.api.php
  */
 class EntryPoint extends ControllerBase {
diff --git a/core/modules/jsonapi/src/Controller/FileUpload.php b/core/modules/jsonapi/src/Controller/FileUpload.php
index b4a5800ca267..c11244a7992d 100644
--- a/core/modules/jsonapi/src/Controller/FileUpload.php
+++ b/core/modules/jsonapi/src/Controller/FileUpload.php
@@ -34,7 +34,7 @@
  * @internal JSON:API maintains no PHP API. The API is the HTTP API. This class
  *   may change at any time and could break any dependencies on it.
  *
- * @see https://www.drupal.org/project/jsonapi/issues/3032787
+ * @see https://www.drupal.org/project/drupal/issues/3032787
  * @see jsonapi.api.php
  */
 class FileUpload {
@@ -179,7 +179,7 @@ public function handleFileUploadForNewResource(Request $request, ResourceType $r
       throw new UnprocessableEntityHttpException($message);
     }
 
-    // @todo Remove line below in favor of commented line in https://www.drupal.org/project/jsonapi/issues/2878463.
+    // @todo Remove line below in favor of commented line in https://www.drupal.org/project/drupal/issues/2878463.
     $self_link = new Link(new CacheableMetadata(), Url::fromRoute('jsonapi.file--file.individual', ['entity' => $file->uuid()]), 'self');
     /* $self_link = new Link(new CacheableMetadata(), $this->entity->toUrl('jsonapi'), ['self']); */
     $links = new LinkCollection(['self' => $self_link]);
diff --git a/core/modules/jsonapi/src/DependencyInjection/Compiler/RegisterSerializationClassesCompilerPass.php b/core/modules/jsonapi/src/DependencyInjection/Compiler/RegisterSerializationClassesCompilerPass.php
index 7c7d21e146dc..7587cb324290 100644
--- a/core/modules/jsonapi/src/DependencyInjection/Compiler/RegisterSerializationClassesCompilerPass.php
+++ b/core/modules/jsonapi/src/DependencyInjection/Compiler/RegisterSerializationClassesCompilerPass.php
@@ -17,7 +17,7 @@
  * @internal JSON:API maintains no PHP API. The API is the HTTP API. This class
  *   may change at any time and could break any dependencies on it.
  *
- * @see https://www.drupal.org/project/jsonapi/issues/3032787
+ * @see https://www.drupal.org/project/drupal/issues/3032787
  * @see jsonapi.api.php
  */
 class RegisterSerializationClassesCompilerPass extends DrupalRegisterSerializationClassesCompilerPass {
diff --git a/core/modules/jsonapi/src/Encoder/JsonEncoder.php b/core/modules/jsonapi/src/Encoder/JsonEncoder.php
index 2f7f04f6f28e..fdc83ff2b4f0 100644
--- a/core/modules/jsonapi/src/Encoder/JsonEncoder.php
+++ b/core/modules/jsonapi/src/Encoder/JsonEncoder.php
@@ -10,7 +10,7 @@
  * @internal JSON:API maintains no PHP API. The API is the HTTP API. This class
  *   may change at any time and could break any dependencies on it.
  *
- * @see https://www.drupal.org/project/jsonapi/issues/3032787
+ * @see https://www.drupal.org/project/drupal/issues/3032787
  * @see jsonapi.api.php
  */
 class JsonEncoder extends SerializationJsonEncoder {
diff --git a/core/modules/jsonapi/src/Entity/EntityValidationTrait.php b/core/modules/jsonapi/src/Entity/EntityValidationTrait.php
index 8dca70b2732c..99291254cad2 100644
--- a/core/modules/jsonapi/src/Entity/EntityValidationTrait.php
+++ b/core/modules/jsonapi/src/Entity/EntityValidationTrait.php
@@ -12,7 +12,7 @@
  * @internal JSON:API maintains no PHP API. The API is the HTTP API. This class
  *   may change at any time and could break any dependencies on it.
  *
- * @see https://www.drupal.org/project/jsonapi/issues/3032787
+ * @see https://www.drupal.org/project/drupal/issues/3032787
  * @see jsonapi.api.php
  */
 trait EntityValidationTrait {
diff --git a/core/modules/jsonapi/src/EventSubscriber/DefaultExceptionSubscriber.php b/core/modules/jsonapi/src/EventSubscriber/DefaultExceptionSubscriber.php
index abefad4a8606..e5d3d56ead6f 100644
--- a/core/modules/jsonapi/src/EventSubscriber/DefaultExceptionSubscriber.php
+++ b/core/modules/jsonapi/src/EventSubscriber/DefaultExceptionSubscriber.php
@@ -18,7 +18,7 @@
  * @internal JSON:API maintains no PHP API. The API is the HTTP API. This class
  *   may change at any time and could break any dependencies on it.
  *
- * @see https://www.drupal.org/project/jsonapi/issues/3032787
+ * @see https://www.drupal.org/project/drupal/issues/3032787
  * @see jsonapi.api.php
  */
 class DefaultExceptionSubscriber extends SerializationDefaultExceptionSubscriber {
diff --git a/core/modules/jsonapi/src/EventSubscriber/JsonApiRequestValidator.php b/core/modules/jsonapi/src/EventSubscriber/JsonApiRequestValidator.php
index 051fefff73e1..db33f307e145 100644
--- a/core/modules/jsonapi/src/EventSubscriber/JsonApiRequestValidator.php
+++ b/core/modules/jsonapi/src/EventSubscriber/JsonApiRequestValidator.php
@@ -16,7 +16,7 @@
  * @internal JSON:API maintains no PHP API. The API is the HTTP API. This class
  *   may change at any time and could break any dependencies on it.
  *
- * @see https://www.drupal.org/project/jsonapi/issues/3032787
+ * @see https://www.drupal.org/project/drupal/issues/3032787
  * @see jsonapi.api.php
  */
 class JsonApiRequestValidator implements EventSubscriberInterface {
diff --git a/core/modules/jsonapi/src/EventSubscriber/ResourceResponseSubscriber.php b/core/modules/jsonapi/src/EventSubscriber/ResourceResponseSubscriber.php
index 414ae766b1d6..508253fccc17 100644
--- a/core/modules/jsonapi/src/EventSubscriber/ResourceResponseSubscriber.php
+++ b/core/modules/jsonapi/src/EventSubscriber/ResourceResponseSubscriber.php
@@ -19,7 +19,7 @@
  * @internal JSON:API maintains no PHP API. The API is the HTTP API. This class
  *   may change at any time and could break any dependencies on it.
  *
- * @see https://www.drupal.org/project/jsonapi/issues/3032787
+ * @see https://www.drupal.org/project/drupal/issues/3032787
  * @see jsonapi.api.php
  *
  * This is 99% identical to:
diff --git a/core/modules/jsonapi/src/EventSubscriber/ResourceResponseValidator.php b/core/modules/jsonapi/src/EventSubscriber/ResourceResponseValidator.php
index 178a784dca45..16250682e956 100644
--- a/core/modules/jsonapi/src/EventSubscriber/ResourceResponseValidator.php
+++ b/core/modules/jsonapi/src/EventSubscriber/ResourceResponseValidator.php
@@ -20,7 +20,7 @@
  * @internal JSON:API maintains no PHP API. The API is the HTTP API. This class
  *   may change at any time and could break any dependencies on it.
  *
- * @see https://www.drupal.org/project/jsonapi/issues/3032787
+ * @see https://www.drupal.org/project/drupal/issues/3032787
  * @see jsonapi.api.php
  *
  * @see \Drupal\rest\EventSubscriber\ResourceResponseSubscriber
diff --git a/core/modules/jsonapi/src/Exception/EntityAccessDeniedHttpException.php b/core/modules/jsonapi/src/Exception/EntityAccessDeniedHttpException.php
index 3365326aac52..74ab245e5114 100644
--- a/core/modules/jsonapi/src/Exception/EntityAccessDeniedHttpException.php
+++ b/core/modules/jsonapi/src/Exception/EntityAccessDeniedHttpException.php
@@ -18,7 +18,7 @@
  * @internal JSON:API maintains no PHP API. The API is the HTTP API. This class
  *   may change at any time and could break any dependencies on it.
  *
- * @see https://www.drupal.org/project/jsonapi/issues/3032787
+ * @see https://www.drupal.org/project/drupal/issues/3032787
  * @see jsonapi.api.php
  */
 class EntityAccessDeniedHttpException extends CacheableAccessDeniedHttpException implements ResourceIdentifierInterface {
@@ -71,7 +71,7 @@ public function __construct($entity, AccessResultInterface $entity_access, $poin
       $error['reason'] = $entity_access->getReason();
     }
     $this->error = $error;
-    // @todo: remove this ternary operation in https://www.drupal.org/project/jsonapi/issues/2997594.
+    // @todo: remove this ternary operation in https://www.drupal.org/project/drupal/issues/2997594.
     $this->resourceIdentifier = $entity ? ResourceIdentifier::fromEntity($entity) : NULL;
   }
 
diff --git a/core/modules/jsonapi/src/Exception/UnprocessableHttpEntityException.php b/core/modules/jsonapi/src/Exception/UnprocessableHttpEntityException.php
index 95e496779e48..b9d5a6f58389 100644
--- a/core/modules/jsonapi/src/Exception/UnprocessableHttpEntityException.php
+++ b/core/modules/jsonapi/src/Exception/UnprocessableHttpEntityException.php
@@ -18,7 +18,7 @@
  * @internal JSON:API maintains no PHP API. The API is the HTTP API. This class
  *   may change at any time and could break any dependencies on it.
  *
- * @see https://www.drupal.org/project/jsonapi/issues/3032787
+ * @see https://www.drupal.org/project/drupal/issues/3032787
  * @see jsonapi.api.php
  */
 class UnprocessableHttpEntityException extends HttpException {
diff --git a/core/modules/jsonapi/src/IncludeResolver.php b/core/modules/jsonapi/src/IncludeResolver.php
index d8a283df0d68..ad0e36ca4056 100644
--- a/core/modules/jsonapi/src/IncludeResolver.php
+++ b/core/modules/jsonapi/src/IncludeResolver.php
@@ -24,7 +24,7 @@
  * @internal JSON:API maintains no PHP API since its API is the HTTP API. This
  *   class may change at any time and this will break any dependencies on it.
  *
- * @see https://www.drupal.org/project/jsonapi/issues/3032787
+ * @see https://www.drupal.org/project/drupal/issues/3032787
  * @see jsonapi.api.php
  */
 class IncludeResolver {
diff --git a/core/modules/jsonapi/src/JsonApiResource/Data.php b/core/modules/jsonapi/src/JsonApiResource/Data.php
index 57dd0ad675a1..61cf72ca4068 100644
--- a/core/modules/jsonapi/src/JsonApiResource/Data.php
+++ b/core/modules/jsonapi/src/JsonApiResource/Data.php
@@ -11,7 +11,7 @@
  * @internal JSON:API maintains no PHP API. The API is the HTTP API. This class
  *   may change at any time and could break any dependencies on it.
  *
- * @see https://www.drupal.org/project/jsonapi/issues/3032787
+ * @see https://www.drupal.org/project/drupal/issues/3032787
  * @see jsonapi.api.php
  */
 abstract class Data implements \IteratorAggregate, \Countable {
diff --git a/core/modules/jsonapi/src/JsonApiResource/ErrorCollection.php b/core/modules/jsonapi/src/JsonApiResource/ErrorCollection.php
index 2396641abdb8..d43febdd6e38 100644
--- a/core/modules/jsonapi/src/JsonApiResource/ErrorCollection.php
+++ b/core/modules/jsonapi/src/JsonApiResource/ErrorCollection.php
@@ -11,7 +11,7 @@
  * @internal JSON:API maintains no PHP API. The API is the HTTP API. This class
  *   may change at any time and could break any dependencies on it.
  *
- * @see https://www.drupal.org/project/jsonapi/issues/3032787
+ * @see https://www.drupal.org/project/drupal/issues/3032787
  * @see jsonapi.api.php
  *
  * (The spec says the top-level `data` and `errors` members MUST NOT coexist.)
diff --git a/core/modules/jsonapi/src/JsonApiResource/IncludedData.php b/core/modules/jsonapi/src/JsonApiResource/IncludedData.php
index a1566641a657..e0938a1f9a6d 100644
--- a/core/modules/jsonapi/src/JsonApiResource/IncludedData.php
+++ b/core/modules/jsonapi/src/JsonApiResource/IncludedData.php
@@ -11,7 +11,7 @@
  * @internal JSON:API maintains no PHP API. The API is the HTTP API. This class
  *   may change at any time and could break any dependencies on it.
  *
- * @see https://www.drupal.org/project/jsonapi/issues/3032787
+ * @see https://www.drupal.org/project/drupal/issues/3032787
  * @see jsonapi.api.php
  */
 class IncludedData extends ResourceObjectData {
diff --git a/core/modules/jsonapi/src/JsonApiResource/JsonApiDocumentTopLevel.php b/core/modules/jsonapi/src/JsonApiResource/JsonApiDocumentTopLevel.php
index 5fc7291f9622..df58c32c50ed 100644
--- a/core/modules/jsonapi/src/JsonApiResource/JsonApiDocumentTopLevel.php
+++ b/core/modules/jsonapi/src/JsonApiResource/JsonApiDocumentTopLevel.php
@@ -8,7 +8,7 @@
  * @internal JSON:API maintains no PHP API. The API is the HTTP API. This class
  *   may change at any time and could break any dependencies on it.
  *
- * @see https://www.drupal.org/project/jsonapi/issues/3032787
+ * @see https://www.drupal.org/project/drupal/issues/3032787
  * @see jsonapi.api.php
  *
  * @see http://jsonapi.org/format/#document-top-level
diff --git a/core/modules/jsonapi/src/JsonApiResource/LabelOnlyResourceObject.php b/core/modules/jsonapi/src/JsonApiResource/LabelOnlyResourceObject.php
index 157b9de1f2ab..1beaa23056ed 100644
--- a/core/modules/jsonapi/src/JsonApiResource/LabelOnlyResourceObject.php
+++ b/core/modules/jsonapi/src/JsonApiResource/LabelOnlyResourceObject.php
@@ -12,7 +12,7 @@
  * @internal JSON:API maintains no PHP API. The API is the HTTP API. This class
  *   may change at any time and could break any dependencies on it.
  *
- * @see https://www.drupal.org/project/jsonapi/issues/3032787
+ * @see https://www.drupal.org/project/drupal/issues/3032787
  * @see jsonapi.api.php
  */
 final class LabelOnlyResourceObject extends ResourceObject {
diff --git a/core/modules/jsonapi/src/JsonApiResource/Link.php b/core/modules/jsonapi/src/JsonApiResource/Link.php
index 1a33b59e1f64..5c1953c1f52c 100644
--- a/core/modules/jsonapi/src/JsonApiResource/Link.php
+++ b/core/modules/jsonapi/src/JsonApiResource/Link.php
@@ -15,7 +15,7 @@
  * @internal JSON:API maintains no PHP API. The API is the HTTP API. This class
  *   may change at any time and could break any dependencies on it.
  *
- * @see https://www.drupal.org/project/jsonapi/issues/3032787
+ * @see https://www.drupal.org/project/drupal/issues/3032787
  * @see jsonapi.api.php
  *
  * @see https://tools.ietf.org/html/rfc8288
diff --git a/core/modules/jsonapi/src/JsonApiResource/LinkCollection.php b/core/modules/jsonapi/src/JsonApiResource/LinkCollection.php
index 098f580b71e9..3215888693ce 100644
--- a/core/modules/jsonapi/src/JsonApiResource/LinkCollection.php
+++ b/core/modules/jsonapi/src/JsonApiResource/LinkCollection.php
@@ -10,7 +10,7 @@
  * @internal JSON:API maintains no PHP API. The API is the HTTP API. This class
  *   may change at any time and could break any dependencies on it.
  *
- * @see https://www.drupal.org/project/jsonapi/issues/3032787
+ * @see https://www.drupal.org/project/drupal/issues/3032787
  * @see jsonapi.api.php
  */
 final class LinkCollection implements \IteratorAggregate {
diff --git a/core/modules/jsonapi/src/JsonApiResource/NullIncludedData.php b/core/modules/jsonapi/src/JsonApiResource/NullIncludedData.php
index 46b4e6ab5bbd..6d5da0c1c6ac 100644
--- a/core/modules/jsonapi/src/JsonApiResource/NullIncludedData.php
+++ b/core/modules/jsonapi/src/JsonApiResource/NullIncludedData.php
@@ -8,7 +8,7 @@
  * @internal JSON:API maintains no PHP API. The API is the HTTP API. This class
  *   may change at any time and could break any dependencies on it.
  *
- * @see https://www.drupal.org/project/jsonapi/issues/3032787
+ * @see https://www.drupal.org/project/drupal/issues/3032787
  * @see jsonapi.api.php
  */
 class NullIncludedData extends IncludedData {
diff --git a/core/modules/jsonapi/src/JsonApiResource/OmittedData.php b/core/modules/jsonapi/src/JsonApiResource/OmittedData.php
index 1e57348e0ecc..77fd81ce9e67 100644
--- a/core/modules/jsonapi/src/JsonApiResource/OmittedData.php
+++ b/core/modules/jsonapi/src/JsonApiResource/OmittedData.php
@@ -11,7 +11,7 @@
  * @internal JSON:API maintains no PHP API. The API is the HTTP API. This class
  *   may change at any time and could break any dependencies on it.
  *
- * @see https://www.drupal.org/project/jsonapi/issues/3032787
+ * @see https://www.drupal.org/project/drupal/issues/3032787
  * @see jsonapi.api.php
  */
 class OmittedData extends ResourceObjectData {
diff --git a/core/modules/jsonapi/src/JsonApiResource/Relationship.php b/core/modules/jsonapi/src/JsonApiResource/Relationship.php
index 6e89907a9858..b5a383ea89c9 100644
--- a/core/modules/jsonapi/src/JsonApiResource/Relationship.php
+++ b/core/modules/jsonapi/src/JsonApiResource/Relationship.php
@@ -16,7 +16,7 @@
  * @internal JSON:API maintains no PHP API since its API is the HTTP API. This
  *   class may change at any time and this will break any dependencies on it.
  *
- * @see https://www.drupal.org/project/jsonapi/issues/3032787
+ * @see https://www.drupal.org/project/drupal/issues/3032787
  * @see jsonapi.api.php
  */
 class Relationship implements TopLevelDataInterface {
diff --git a/core/modules/jsonapi/src/JsonApiResource/RelationshipData.php b/core/modules/jsonapi/src/JsonApiResource/RelationshipData.php
index e4bfa8a2c351..2c2aec507831 100644
--- a/core/modules/jsonapi/src/JsonApiResource/RelationshipData.php
+++ b/core/modules/jsonapi/src/JsonApiResource/RelationshipData.php
@@ -10,7 +10,7 @@
  * @internal JSON:API maintains no PHP API. The API is the HTTP API. This class
  *   may change at any time and could break any dependencies on it.
  *
- * @see https://www.drupal.org/project/jsonapi/issues/3032787
+ * @see https://www.drupal.org/project/drupal/issues/3032787
  * @see jsonapi.api.php
  */
 class RelationshipData extends Data {
diff --git a/core/modules/jsonapi/src/JsonApiResource/ResourceIdentifier.php b/core/modules/jsonapi/src/JsonApiResource/ResourceIdentifier.php
index b6bca7e3b44e..20ca39a85657 100644
--- a/core/modules/jsonapi/src/JsonApiResource/ResourceIdentifier.php
+++ b/core/modules/jsonapi/src/JsonApiResource/ResourceIdentifier.php
@@ -28,12 +28,12 @@
  * @internal JSON:API maintains no PHP API. The API is the HTTP API. This class
  *   may change at any time and could break any dependencies on it.
  *
- * @see https://www.drupal.org/project/jsonapi/issues/3032787
+ * @see https://www.drupal.org/project/drupal/issues/3032787
  * @see jsonapi.api.php
  *
  * @see http://jsonapi.org/format/#document-resource-object-relationships
  * @see https://github.com/json-api/json-api/pull/1156#issuecomment-325377995
- * @see https://www.drupal.org/project/jsonapi/issues/2864680
+ * @see https://www.drupal.org/project/drupal/issues/2864680
  */
 class ResourceIdentifier implements ResourceIdentifierInterface {
 
diff --git a/core/modules/jsonapi/src/JsonApiResource/ResourceIdentifierInterface.php b/core/modules/jsonapi/src/JsonApiResource/ResourceIdentifierInterface.php
index 872da7dc0636..f2e5e6c42db6 100644
--- a/core/modules/jsonapi/src/JsonApiResource/ResourceIdentifierInterface.php
+++ b/core/modules/jsonapi/src/JsonApiResource/ResourceIdentifierInterface.php
@@ -13,7 +13,7 @@
  * @internal JSON:API maintains no PHP API. The API is the HTTP API. This class
  *   may change at any time and could break any dependencies on it.
  *
- * @see https://www.drupal.org/project/jsonapi/issues/3032787
+ * @see https://www.drupal.org/project/drupal/issues/3032787
  * @see jsonapi.api.php
  */
 interface ResourceIdentifierInterface {
diff --git a/core/modules/jsonapi/src/JsonApiResource/ResourceIdentifierTrait.php b/core/modules/jsonapi/src/JsonApiResource/ResourceIdentifierTrait.php
index e4942cfb8faa..b7b65586e5bb 100644
--- a/core/modules/jsonapi/src/JsonApiResource/ResourceIdentifierTrait.php
+++ b/core/modules/jsonapi/src/JsonApiResource/ResourceIdentifierTrait.php
@@ -8,7 +8,7 @@
  * @internal JSON:API maintains no PHP API. The API is the HTTP API. This class
  *   may change at any time and could break any dependencies on it.
  *
- * @see https://www.drupal.org/project/jsonapi/issues/3032787
+ * @see https://www.drupal.org/project/drupal/issues/3032787
  * @see jsonapi.api.php
  *
  * @see \Drupal\jsonapi\JsonApiResource\ResourceIdentifierInterface
diff --git a/core/modules/jsonapi/src/JsonApiResource/ResourceObject.php b/core/modules/jsonapi/src/JsonApiResource/ResourceObject.php
index cce7d45a31c7..34f64ef839d2 100644
--- a/core/modules/jsonapi/src/JsonApiResource/ResourceObject.php
+++ b/core/modules/jsonapi/src/JsonApiResource/ResourceObject.php
@@ -27,7 +27,7 @@
  * @internal JSON:API maintains no PHP API. The API is the HTTP API. This class
  *   may change at any time and could break any dependencies on it.
  *
- * @see https://www.drupal.org/project/jsonapi/issues/3032787
+ * @see https://www.drupal.org/project/drupal/issues/3032787
  * @see jsonapi.api.php
  */
 class ResourceObject implements CacheableDependencyInterface, ResourceIdentifierInterface {
diff --git a/core/modules/jsonapi/src/JsonApiResource/ResourceObjectData.php b/core/modules/jsonapi/src/JsonApiResource/ResourceObjectData.php
index 5fadfb0356b3..be630e96f8f9 100644
--- a/core/modules/jsonapi/src/JsonApiResource/ResourceObjectData.php
+++ b/core/modules/jsonapi/src/JsonApiResource/ResourceObjectData.php
@@ -11,7 +11,7 @@
  * @internal JSON:API maintains no PHP API. The API is the HTTP API. This class
  *   may change at any time and could break any dependencies on it.
  *
- * @see https://www.drupal.org/project/jsonapi/issues/3032787
+ * @see https://www.drupal.org/project/drupal/issues/3032787
  * @see jsonapi.api.php
  */
 class ResourceObjectData extends Data implements TopLevelDataInterface {
diff --git a/core/modules/jsonapi/src/JsonApiResource/TopLevelDataInterface.php b/core/modules/jsonapi/src/JsonApiResource/TopLevelDataInterface.php
index a01da15682e3..558548f3ca23 100644
--- a/core/modules/jsonapi/src/JsonApiResource/TopLevelDataInterface.php
+++ b/core/modules/jsonapi/src/JsonApiResource/TopLevelDataInterface.php
@@ -8,7 +8,7 @@
  * @internal JSON:API maintains no PHP API since its API is the HTTP API. This
  *   class may change at any time and this will break any dependencies on it.
  *
- * @see https://www.drupal.org/project/jsonapi/issues/3032787
+ * @see https://www.drupal.org/project/drupal/issues/3032787
  * @see jsonapi.api.php
  */
 interface TopLevelDataInterface {
diff --git a/core/modules/jsonapi/src/JsonApiSpec.php b/core/modules/jsonapi/src/JsonApiSpec.php
index 956dac6c0012..274b3f4deb17 100644
--- a/core/modules/jsonapi/src/JsonApiSpec.php
+++ b/core/modules/jsonapi/src/JsonApiSpec.php
@@ -8,7 +8,7 @@
  * @internal JSON:API maintains no PHP API since its API is the HTTP API. This
  *   class may change at any time and this will break any dependencies on it.
  *
- * @see https://www.drupal.org/project/jsonapi/issues/3032787
+ * @see https://www.drupal.org/project/drupal/issues/3032787
  * @see jsonapi.api.php
  *
  * @see http://jsonapi.org/format
diff --git a/core/modules/jsonapi/src/JsonapiServiceProvider.php b/core/modules/jsonapi/src/JsonapiServiceProvider.php
index 4696ed567f80..e3b0f6d0cc1a 100644
--- a/core/modules/jsonapi/src/JsonapiServiceProvider.php
+++ b/core/modules/jsonapi/src/JsonapiServiceProvider.php
@@ -14,7 +14,7 @@
  * @internal JSON:API maintains no PHP API since its API is the HTTP API. This
  *   class may change at any time and this will break any dependencies on it.
  *
- * @see https://www.drupal.org/project/jsonapi/issues/3032787
+ * @see https://www.drupal.org/project/drupal/issues/3032787
  * @see jsonapi.api.php
  */
 class JsonapiServiceProvider implements ServiceModifierInterface, ServiceProviderInterface {
diff --git a/core/modules/jsonapi/src/Normalizer/ConfigEntityDenormalizer.php b/core/modules/jsonapi/src/Normalizer/ConfigEntityDenormalizer.php
index 39288abac973..de74db67aa55 100644
--- a/core/modules/jsonapi/src/Normalizer/ConfigEntityDenormalizer.php
+++ b/core/modules/jsonapi/src/Normalizer/ConfigEntityDenormalizer.php
@@ -11,7 +11,7 @@
  * @internal JSON:API maintains no PHP API since its API is the HTTP API. This
  *   class may change at any time and this will break any dependencies on it.
  *
- * @see https://www.drupal.org/project/jsonapi/issues/3032787
+ * @see https://www.drupal.org/project/drupal/issues/3032787
  * @see jsonapi.api.php
  */
 final class ConfigEntityDenormalizer extends EntityDenormalizerBase {
diff --git a/core/modules/jsonapi/src/Normalizer/ContentEntityDenormalizer.php b/core/modules/jsonapi/src/Normalizer/ContentEntityDenormalizer.php
index 287f2cb14050..aa56f8ab9ce7 100644
--- a/core/modules/jsonapi/src/Normalizer/ContentEntityDenormalizer.php
+++ b/core/modules/jsonapi/src/Normalizer/ContentEntityDenormalizer.php
@@ -12,7 +12,7 @@
  * @internal JSON:API maintains no PHP API since its API is the HTTP API. This
  *   class may change at any time and this will break any dependencies on it.
  *
- * @see https://www.drupal.org/project/jsonapi/issues/3032787
+ * @see https://www.drupal.org/project/drupal/issues/3032787
  * @see jsonapi.api.php
  */
 final class ContentEntityDenormalizer extends EntityDenormalizerBase {
diff --git a/core/modules/jsonapi/src/Normalizer/EntityAccessDeniedHttpExceptionNormalizer.php b/core/modules/jsonapi/src/Normalizer/EntityAccessDeniedHttpExceptionNormalizer.php
index 0d18dcdea05a..5dd2b6e98831 100644
--- a/core/modules/jsonapi/src/Normalizer/EntityAccessDeniedHttpExceptionNormalizer.php
+++ b/core/modules/jsonapi/src/Normalizer/EntityAccessDeniedHttpExceptionNormalizer.php
@@ -16,7 +16,7 @@
  * @internal JSON:API maintains no PHP API since its API is the HTTP API. This
  *   class may change at any time and this will break any dependencies on it.
  *
- * @see https://www.drupal.org/project/jsonapi/issues/3032787
+ * @see https://www.drupal.org/project/drupal/issues/3032787
  * @see jsonapi.api.php
  *
  * @see http://jsonapi.org/format/#error-objects
diff --git a/core/modules/jsonapi/src/Normalizer/EntityDenormalizerBase.php b/core/modules/jsonapi/src/Normalizer/EntityDenormalizerBase.php
index 65f25995bf59..edfeaa19fd06 100644
--- a/core/modules/jsonapi/src/Normalizer/EntityDenormalizerBase.php
+++ b/core/modules/jsonapi/src/Normalizer/EntityDenormalizerBase.php
@@ -15,7 +15,7 @@
  * @internal JSON:API maintains no PHP API since its API is the HTTP API. This
  *   class may change at any time and this will break any dependencies on it.
  *
- * @see https://www.drupal.org/project/jsonapi/issues/3032787
+ * @see https://www.drupal.org/project/drupal/issues/3032787
  * @see jsonapi.api.php
  */
 abstract class EntityDenormalizerBase extends NormalizerBase implements DenormalizerInterface {
diff --git a/core/modules/jsonapi/src/Normalizer/EntityReferenceFieldNormalizer.php b/core/modules/jsonapi/src/Normalizer/EntityReferenceFieldNormalizer.php
index c79d56ae1ae8..de46d4d36960 100644
--- a/core/modules/jsonapi/src/Normalizer/EntityReferenceFieldNormalizer.php
+++ b/core/modules/jsonapi/src/Normalizer/EntityReferenceFieldNormalizer.php
@@ -19,7 +19,7 @@
  * @internal JSON:API maintains no PHP API since its API is the HTTP API. This
  *   class may change at any time and this will break any dependencies on it.
  *
- * @see https://www.drupal.org/project/jsonapi/issues/3032787
+ * @see https://www.drupal.org/project/drupal/issues/3032787
  * @see jsonapi.api.php
  */
 class EntityReferenceFieldNormalizer extends FieldNormalizer {
diff --git a/core/modules/jsonapi/src/Normalizer/FieldItemNormalizer.php b/core/modules/jsonapi/src/Normalizer/FieldItemNormalizer.php
index 183fac073064..f3afb429927e 100644
--- a/core/modules/jsonapi/src/Normalizer/FieldItemNormalizer.php
+++ b/core/modules/jsonapi/src/Normalizer/FieldItemNormalizer.php
@@ -20,7 +20,7 @@
  * @internal JSON:API maintains no PHP API since its API is the HTTP API. This
  *   class may change at any time and this will break any dependencies on it.
  *
- * @see https://www.drupal.org/project/jsonapi/issues/3032787
+ * @see https://www.drupal.org/project/drupal/issues/3032787
  * @see jsonapi.api.php
  */
 class FieldItemNormalizer extends NormalizerBase implements DenormalizerInterface {
diff --git a/core/modules/jsonapi/src/Normalizer/FieldNormalizer.php b/core/modules/jsonapi/src/Normalizer/FieldNormalizer.php
index b33677c17867..74b78db50e03 100644
--- a/core/modules/jsonapi/src/Normalizer/FieldNormalizer.php
+++ b/core/modules/jsonapi/src/Normalizer/FieldNormalizer.php
@@ -15,7 +15,7 @@
  * @internal JSON:API maintains no PHP API since its API is the HTTP API. This
  *   class may change at any time and this will break any dependencies on it.
  *
- * @see https://www.drupal.org/project/jsonapi/issues/3032787
+ * @see https://www.drupal.org/project/drupal/issues/3032787
  * @see jsonapi.api.php
  */
 class FieldNormalizer extends NormalizerBase implements DenormalizerInterface {
diff --git a/core/modules/jsonapi/src/Normalizer/HttpExceptionNormalizer.php b/core/modules/jsonapi/src/Normalizer/HttpExceptionNormalizer.php
index 461381581515..0b91b4d92f39 100644
--- a/core/modules/jsonapi/src/Normalizer/HttpExceptionNormalizer.php
+++ b/core/modules/jsonapi/src/Normalizer/HttpExceptionNormalizer.php
@@ -14,7 +14,7 @@
  * @internal JSON:API maintains no PHP API since its API is the HTTP API. This
  *   class may change at any time and this will break any dependencies on it.
  *
- * @see https://www.drupal.org/project/jsonapi/issues/3032787
+ * @see https://www.drupal.org/project/drupal/issues/3032787
  * @see jsonapi.api.php
  *
  * @see http://jsonapi.org/format/#error-objects
@@ -112,7 +112,7 @@ protected function buildErrorObjects(HttpException $exception) {
    *   URL pointing to the specific RFC-2616 section. Or NULL if it is an HTTP
    *   status code that is defined in another RFC.
    *
-   * @see https://www.drupal.org/project/jsonapi/issues/2832211#comment-11826234
+   * @see https://www.drupal.org/project/drupal/issues/2832211#comment-11826234
    *
    * @internal
    */
diff --git a/core/modules/jsonapi/src/Normalizer/JsonApiDocumentTopLevelNormalizer.php b/core/modules/jsonapi/src/Normalizer/JsonApiDocumentTopLevelNormalizer.php
index b6abaf7eaa80..ae5cbe0dc341 100644
--- a/core/modules/jsonapi/src/Normalizer/JsonApiDocumentTopLevelNormalizer.php
+++ b/core/modules/jsonapi/src/Normalizer/JsonApiDocumentTopLevelNormalizer.php
@@ -28,7 +28,7 @@
  * @internal JSON:API maintains no PHP API since its API is the HTTP API. This
  *   class may change at any time and this will break any dependencies on it.
  *
- * @see https://www.drupal.org/project/jsonapi/issues/3032787
+ * @see https://www.drupal.org/project/drupal/issues/3032787
  * @see jsonapi.api.php
  *
  * @see \Drupal\jsonapi\JsonApiResource\JsonApiDocumentTopLevel
@@ -217,7 +217,7 @@ public function normalize($object, $format = NULL, array $context = []) {
    * @return \Drupal\jsonapi\Normalizer\Value\CacheableNormalization
    *   The normalized document.
    *
-   * @todo: refactor this to use CacheableNormalization::aggregate in https://www.drupal.org/project/jsonapi/issues/3036284.
+   * @todo: refactor this to use CacheableNormalization::aggregate in https://www.drupal.org/project/drupal/issues/3036284.
    */
   protected function normalizeErrorDocument(JsonApiDocumentTopLevel $document, $format, array $context = []) {
     $normalized_values = array_map(function (HttpExceptionInterface $exception) use ($format, $context) {
@@ -245,7 +245,7 @@ protected function normalizeErrorDocument(JsonApiDocumentTopLevel $document, $fo
    * @return \Drupal\jsonapi\Normalizer\Value\CacheableNormalization|\Drupal\jsonapi\Normalizer\Value\CacheableOmission
    *   The normalized omissions.
    *
-   * @todo: refactor this to use link collections in https://www.drupal.org/project/jsonapi/issues/3036279.
+   * @todo: refactor this to use link collections in https://www.drupal.org/project/drupal/issues/3036279.
    */
   protected function normalizeOmissionsLinks(OmittedData $omissions, $format, array $context = []) {
     $normalized_omissions = array_map(function (HttpExceptionInterface $exception) use ($format, $context) {
diff --git a/core/modules/jsonapi/src/Normalizer/LinkCollectionNormalizer.php b/core/modules/jsonapi/src/Normalizer/LinkCollectionNormalizer.php
index a883389d391c..2c3f5b71de46 100644
--- a/core/modules/jsonapi/src/Normalizer/LinkCollectionNormalizer.php
+++ b/core/modules/jsonapi/src/Normalizer/LinkCollectionNormalizer.php
@@ -24,7 +24,7 @@
  * @internal JSON:API maintains no PHP API since its API is the HTTP API. This
  *   class may change at any time and this will break any dependencies on it.
  *
- * @see https://www.drupal.org/project/jsonapi/issues/3032787
+ * @see https://www.drupal.org/project/drupal/issues/3032787
  * @see jsonapi.api.php
  */
 class LinkCollectionNormalizer extends NormalizerBase {
diff --git a/core/modules/jsonapi/src/Normalizer/NormalizerBase.php b/core/modules/jsonapi/src/Normalizer/NormalizerBase.php
index 241feac691e4..37f639bdb748 100644
--- a/core/modules/jsonapi/src/Normalizer/NormalizerBase.php
+++ b/core/modules/jsonapi/src/Normalizer/NormalizerBase.php
@@ -11,7 +11,7 @@
  * @internal JSON:API maintains no PHP API since its API is the HTTP API. This
  *   class may change at any time and this will break any dependencies on it.
  *
- * @see https://www.drupal.org/project/jsonapi/issues/3032787
+ * @see https://www.drupal.org/project/drupal/issues/3032787
  * @see jsonapi.api.php
  */
 abstract class NormalizerBase extends SerializationNormalizerBase {
diff --git a/core/modules/jsonapi/src/Normalizer/ResourceIdentifierNormalizer.php b/core/modules/jsonapi/src/Normalizer/ResourceIdentifierNormalizer.php
index 40458e2d47c4..a0ccd56c4bc1 100644
--- a/core/modules/jsonapi/src/Normalizer/ResourceIdentifierNormalizer.php
+++ b/core/modules/jsonapi/src/Normalizer/ResourceIdentifierNormalizer.php
@@ -18,7 +18,7 @@
  * @internal JSON:API maintains no PHP API since its API is the HTTP API. This
  *   class may change at any time and this will break any dependencies on it.
  *
- * @see https://www.drupal.org/project/jsonapi/issues/3032787
+ * @see https://www.drupal.org/project/drupal/issues/3032787
  * @see jsonapi.api.php
  */
 class ResourceIdentifierNormalizer extends NormalizerBase implements DenormalizerInterface {
diff --git a/core/modules/jsonapi/src/Normalizer/ResourceObjectNormalizer.php b/core/modules/jsonapi/src/Normalizer/ResourceObjectNormalizer.php
index 10a5e4cca56b..8a21f420202b 100644
--- a/core/modules/jsonapi/src/Normalizer/ResourceObjectNormalizer.php
+++ b/core/modules/jsonapi/src/Normalizer/ResourceObjectNormalizer.php
@@ -17,7 +17,7 @@
  * @internal JSON:API maintains no PHP API since its API is the HTTP API. This
  *   class may change at any time and this will break any dependencies on it.
  *
- * @see https://www.drupal.org/project/jsonapi/issues/3032787
+ * @see https://www.drupal.org/project/drupal/issues/3032787
  * @see jsonapi.api.php
  */
 class ResourceObjectNormalizer extends NormalizerBase {
diff --git a/core/modules/jsonapi/src/Normalizer/UnprocessableHttpEntityExceptionNormalizer.php b/core/modules/jsonapi/src/Normalizer/UnprocessableHttpEntityExceptionNormalizer.php
index 35834dd789d9..aca1088623b2 100644
--- a/core/modules/jsonapi/src/Normalizer/UnprocessableHttpEntityExceptionNormalizer.php
+++ b/core/modules/jsonapi/src/Normalizer/UnprocessableHttpEntityExceptionNormalizer.php
@@ -16,7 +16,7 @@
  * @internal JSON:API maintains no PHP API since its API is the HTTP API. This
  *   class may change at any time and this will break any dependencies on it.
  *
- * @see https://www.drupal.org/project/jsonapi/issues/3032787
+ * @see https://www.drupal.org/project/drupal/issues/3032787
  * @see jsonapi.api.php
  *
  * @see http://jsonapi.org/format/#error-objects
diff --git a/core/modules/jsonapi/src/Normalizer/Value/CacheableNormalization.php b/core/modules/jsonapi/src/Normalizer/Value/CacheableNormalization.php
index 538422284e4c..fbc77e89b18c 100644
--- a/core/modules/jsonapi/src/Normalizer/Value/CacheableNormalization.php
+++ b/core/modules/jsonapi/src/Normalizer/Value/CacheableNormalization.php
@@ -13,7 +13,7 @@
  * @internal JSON:API maintains no PHP API since its API is the HTTP API. This
  *   class may change at any time and this will break any dependencies on it.
  *
- * @see https://www.drupal.org/project/jsonapi/issues/3032787
+ * @see https://www.drupal.org/project/drupal/issues/3032787
  * @see jsonapi.api.php
  */
 class CacheableNormalization implements CacheableDependencyInterface {
diff --git a/core/modules/jsonapi/src/Normalizer/Value/CacheableOmission.php b/core/modules/jsonapi/src/Normalizer/Value/CacheableOmission.php
index 9a8310dc4444..e3a290723a89 100644
--- a/core/modules/jsonapi/src/Normalizer/Value/CacheableOmission.php
+++ b/core/modules/jsonapi/src/Normalizer/Value/CacheableOmission.php
@@ -10,7 +10,7 @@
  * @internal JSON:API maintains no PHP API since its API is the HTTP API. This
  *   class may change at any time and this will break any dependencies on it.
  *
- * @see https://www.drupal.org/project/jsonapi/issues/3032787
+ * @see https://www.drupal.org/project/drupal/issues/3032787
  * @see jsonapi.api.php
  */
 final class CacheableOmission extends CacheableNormalization {
diff --git a/core/modules/jsonapi/src/Normalizer/Value/HttpExceptionNormalizerValue.php b/core/modules/jsonapi/src/Normalizer/Value/HttpExceptionNormalizerValue.php
index 83cf3beb023b..67a61bfd8049 100644
--- a/core/modules/jsonapi/src/Normalizer/Value/HttpExceptionNormalizerValue.php
+++ b/core/modules/jsonapi/src/Normalizer/Value/HttpExceptionNormalizerValue.php
@@ -8,7 +8,7 @@
  * @internal JSON:API maintains no PHP API since its API is the HTTP API. This
  *   class may change at any time and this will break any dependencies on it.
  *
- * @see https://www.drupal.org/project/jsonapi/issues/3032787
+ * @see https://www.drupal.org/project/drupal/issues/3032787
  * @see jsonapi.api.php
  */
 class HttpExceptionNormalizerValue extends CacheableNormalization {}
diff --git a/core/modules/jsonapi/src/ParamConverter/EntityUuidConverter.php b/core/modules/jsonapi/src/ParamConverter/EntityUuidConverter.php
index 1b4ef83e436c..3cae9f8e9d5d 100644
--- a/core/modules/jsonapi/src/ParamConverter/EntityUuidConverter.php
+++ b/core/modules/jsonapi/src/ParamConverter/EntityUuidConverter.php
@@ -17,7 +17,7 @@
  * @internal JSON:API maintains no PHP API since its API is the HTTP API. This
  *   class may change at any time and this will break any dependencies on it.
  *
- * @see https://www.drupal.org/project/jsonapi/issues/3032787
+ * @see https://www.drupal.org/project/drupal/issues/3032787
  * @see jsonapi.api.php
  *
  * @see \Drupal\Core\ParamConverter\EntityConverter
diff --git a/core/modules/jsonapi/src/ParamConverter/ResourceTypeConverter.php b/core/modules/jsonapi/src/ParamConverter/ResourceTypeConverter.php
index ab4569b9d549..d0dba4dd1fd1 100644
--- a/core/modules/jsonapi/src/ParamConverter/ResourceTypeConverter.php
+++ b/core/modules/jsonapi/src/ParamConverter/ResourceTypeConverter.php
@@ -12,7 +12,7 @@
  * @internal JSON:API maintains no PHP API since its API is the HTTP API. This
  *   class may change at any time and this will break any dependencies on it.
  *
- * @see https://www.drupal.org/project/jsonapi/issues/3032787
+ * @see https://www.drupal.org/project/drupal/issues/3032787
  * @see jsonapi.api.php
  */
 class ResourceTypeConverter implements ParamConverterInterface {
diff --git a/core/modules/jsonapi/src/Query/EntityCondition.php b/core/modules/jsonapi/src/Query/EntityCondition.php
index 3e2d460b2c72..dea06c132d2f 100644
--- a/core/modules/jsonapi/src/Query/EntityCondition.php
+++ b/core/modules/jsonapi/src/Query/EntityCondition.php
@@ -11,7 +11,7 @@
  * @internal JSON:API maintains no PHP API since its API is the HTTP API. This
  *   class may change at any time and this will break any dependencies on it.
  *
- * @see https://www.drupal.org/project/jsonapi/issues/3032787
+ * @see https://www.drupal.org/project/drupal/issues/3032787
  * @see jsonapi.api.php
  */
 class EntityCondition {
diff --git a/core/modules/jsonapi/src/Query/EntityConditionGroup.php b/core/modules/jsonapi/src/Query/EntityConditionGroup.php
index fcefe2a278dc..8a529bf312e3 100644
--- a/core/modules/jsonapi/src/Query/EntityConditionGroup.php
+++ b/core/modules/jsonapi/src/Query/EntityConditionGroup.php
@@ -8,7 +8,7 @@
  * @internal JSON:API maintains no PHP API since its API is the HTTP API. This
  *   class may change at any time and this will break any dependencies on it.
  *
- * @see https://www.drupal.org/project/jsonapi/issues/3032787
+ * @see https://www.drupal.org/project/drupal/issues/3032787
  * @see jsonapi.api.php
  */
 class EntityConditionGroup {
diff --git a/core/modules/jsonapi/src/Query/Filter.php b/core/modules/jsonapi/src/Query/Filter.php
index 2ca708b433ff..ab134317c4bc 100644
--- a/core/modules/jsonapi/src/Query/Filter.php
+++ b/core/modules/jsonapi/src/Query/Filter.php
@@ -12,7 +12,7 @@
  * @internal JSON:API maintains no PHP API since its API is the HTTP API. This
  *   class may change at any time and this will break any dependencies on it.
  *
- * @see https://www.drupal.org/project/jsonapi/issues/3032787
+ * @see https://www.drupal.org/project/drupal/issues/3032787
  * @see jsonapi.api.php
  */
 class Filter {
diff --git a/core/modules/jsonapi/src/Query/OffsetPage.php b/core/modules/jsonapi/src/Query/OffsetPage.php
index 70a752ef2c3a..988cc69a508f 100644
--- a/core/modules/jsonapi/src/Query/OffsetPage.php
+++ b/core/modules/jsonapi/src/Query/OffsetPage.php
@@ -11,7 +11,7 @@
  * @internal JSON:API maintains no PHP API since its API is the HTTP API. This
  *   class may change at any time and this will break any dependencies on it.
  *
- * @see https://www.drupal.org/project/jsonapi/issues/3032787
+ * @see https://www.drupal.org/project/drupal/issues/3032787
  * @see jsonapi.api.php
  */
 class OffsetPage {
diff --git a/core/modules/jsonapi/src/Query/Sort.php b/core/modules/jsonapi/src/Query/Sort.php
index c127a9230af0..3f01638e9167 100644
--- a/core/modules/jsonapi/src/Query/Sort.php
+++ b/core/modules/jsonapi/src/Query/Sort.php
@@ -11,7 +11,7 @@
  * @internal JSON:API maintains no PHP API since its API is the HTTP API. This
  *   class may change at any time and this will break any dependencies on it.
  *
- * @see https://www.drupal.org/project/jsonapi/issues/3032787
+ * @see https://www.drupal.org/project/drupal/issues/3032787
  * @see jsonapi.api.php
  */
 class Sort {
diff --git a/core/modules/jsonapi/src/ResourceResponse.php b/core/modules/jsonapi/src/ResourceResponse.php
index b73165d1706a..cf6ddac7a992 100644
--- a/core/modules/jsonapi/src/ResourceResponse.php
+++ b/core/modules/jsonapi/src/ResourceResponse.php
@@ -17,7 +17,7 @@
  * @internal JSON:API maintains no PHP API since its API is the HTTP API. This
  *   class may change at any time and this will break any dependencies on it.
  *
- * @see https://www.drupal.org/project/jsonapi/issues/3032787
+ * @see https://www.drupal.org/project/drupal/issues/3032787
  * @see jsonapi.api.php
  *
  * @see \Drupal\rest\ModifiedResourceResponse
diff --git a/core/modules/jsonapi/src/ResourceType/ResourceType.php b/core/modules/jsonapi/src/ResourceType/ResourceType.php
index 436949536dc3..56101846151b 100644
--- a/core/modules/jsonapi/src/ResourceType/ResourceType.php
+++ b/core/modules/jsonapi/src/ResourceType/ResourceType.php
@@ -11,7 +11,7 @@
  * @internal JSON:API maintains no PHP API since its API is the HTTP API. This
  *   class may change at any time and this will break any dependencies on it.
  *
- * @see https://www.drupal.org/project/jsonapi/issues/3032787
+ * @see https://www.drupal.org/project/drupal/issues/3032787
  * @see jsonapi.api.php
  *
  * @see \Drupal\jsonapi\ResourceType\ResourceTypeRepository
diff --git a/core/modules/jsonapi/src/ResourceType/ResourceTypeAttribute.php b/core/modules/jsonapi/src/ResourceType/ResourceTypeAttribute.php
index 19f71c192f69..f606516c9c0a 100644
--- a/core/modules/jsonapi/src/ResourceType/ResourceTypeAttribute.php
+++ b/core/modules/jsonapi/src/ResourceType/ResourceTypeAttribute.php
@@ -8,7 +8,7 @@
  * @internal JSON:API maintains no PHP API since its API is the HTTP API. This
  *   class may change at any time and this will break any dependencies on it.
  *
- * @see https://www.drupal.org/project/jsonapi/issues/3032787
+ * @see https://www.drupal.org/project/drupal/issues/3032787
  * @see jsonapi.api.php
  *
  * @see \Drupal\jsonapi\ResourceType\ResourceTypeRepository
diff --git a/core/modules/jsonapi/src/ResourceType/ResourceTypeField.php b/core/modules/jsonapi/src/ResourceType/ResourceTypeField.php
index 987f4963843e..c6a1922f8e85 100644
--- a/core/modules/jsonapi/src/ResourceType/ResourceTypeField.php
+++ b/core/modules/jsonapi/src/ResourceType/ResourceTypeField.php
@@ -8,7 +8,7 @@
  * @internal JSON:API maintains no PHP API since its API is the HTTP API. This
  *   class may change at any time and this will break any dependencies on it.
  *
- * @see https://www.drupal.org/project/jsonapi/issues/3032787
+ * @see https://www.drupal.org/project/drupal/issues/3032787
  * @see jsonapi.api.php
  *
  * @see \Drupal\jsonapi\ResourceType\ResourceTypeRepository
diff --git a/core/modules/jsonapi/src/ResourceType/ResourceTypeRelationship.php b/core/modules/jsonapi/src/ResourceType/ResourceTypeRelationship.php
index 8e782a527c4b..2ae37bd698fa 100644
--- a/core/modules/jsonapi/src/ResourceType/ResourceTypeRelationship.php
+++ b/core/modules/jsonapi/src/ResourceType/ResourceTypeRelationship.php
@@ -8,7 +8,7 @@
  * @internal JSON:API maintains no PHP API since its API is the HTTP API. This
  *   class may change at any time and this will break any dependencies on it.
  *
- * @see https://www.drupal.org/project/jsonapi/issues/3032787
+ * @see https://www.drupal.org/project/drupal/issues/3032787
  * @see jsonapi.api.php
  *
  * @see \Drupal\jsonapi\ResourceType\ResourceTypeRepository
diff --git a/core/modules/jsonapi/src/ResourceType/ResourceTypeRepository.php b/core/modules/jsonapi/src/ResourceType/ResourceTypeRepository.php
index 84aa71864c19..c2d306d4b9f1 100644
--- a/core/modules/jsonapi/src/ResourceType/ResourceTypeRepository.php
+++ b/core/modules/jsonapi/src/ResourceType/ResourceTypeRepository.php
@@ -33,7 +33,7 @@
  * @internal JSON:API maintains no PHP API since its API is the HTTP API. This
  *   class may change at any time and this will break any dependencies on it.
  *
- * @see https://www.drupal.org/project/jsonapi/issues/3032787
+ * @see https://www.drupal.org/project/drupal/issues/3032787
  * @see jsonapi.api.php
  *
  * @see \Drupal\jsonapi\ResourceType\ResourceType
diff --git a/core/modules/jsonapi/src/ResourceType/ResourceTypeRepositoryInterface.php b/core/modules/jsonapi/src/ResourceType/ResourceTypeRepositoryInterface.php
index 6468aaff068f..8a66abf5a5ba 100644
--- a/core/modules/jsonapi/src/ResourceType/ResourceTypeRepositoryInterface.php
+++ b/core/modules/jsonapi/src/ResourceType/ResourceTypeRepositoryInterface.php
@@ -8,7 +8,7 @@
  * @internal JSON:API maintains no PHP API since its API is the HTTP API. This
  *   class may change at any time and this will break any dependencies on it.
  *
- * @see https://www.drupal.org/project/jsonapi/issues/3032787
+ * @see https://www.drupal.org/project/drupal/issues/3032787
  * @see jsonapi.api.php
  */
 interface ResourceTypeRepositoryInterface {
diff --git a/core/modules/jsonapi/src/Revisions/InvalidVersionIdentifierException.php b/core/modules/jsonapi/src/Revisions/InvalidVersionIdentifierException.php
index d30f4a859624..f56a3aa8d513 100644
--- a/core/modules/jsonapi/src/Revisions/InvalidVersionIdentifierException.php
+++ b/core/modules/jsonapi/src/Revisions/InvalidVersionIdentifierException.php
@@ -8,7 +8,7 @@
  * @internal JSON:API maintains no PHP API since its API is the HTTP API. This
  *   class may change at any time and this will break any dependencies on it.
  *
- * @see https://www.drupal.org/project/jsonapi/issues/3032787
+ * @see https://www.drupal.org/project/drupal/issues/3032787
  * @see jsonapi.api.php
  */
 class InvalidVersionIdentifierException extends \InvalidArgumentException {}
diff --git a/core/modules/jsonapi/src/Revisions/NegotiatorBase.php b/core/modules/jsonapi/src/Revisions/NegotiatorBase.php
index 0adc78afba6f..2253090353ae 100644
--- a/core/modules/jsonapi/src/Revisions/NegotiatorBase.php
+++ b/core/modules/jsonapi/src/Revisions/NegotiatorBase.php
@@ -11,7 +11,7 @@
  * @internal JSON:API maintains no PHP API since its API is the HTTP API. This
  *   class may change at any time and this will break any dependencies on it.
  *
- * @see https://www.drupal.org/project/jsonapi/issues/3032787
+ * @see https://www.drupal.org/project/drupal/issues/3032787
  * @see jsonapi.api.php
  */
 abstract class NegotiatorBase implements VersionNegotiatorInterface {
diff --git a/core/modules/jsonapi/src/Revisions/ResourceVersionRouteEnhancer.php b/core/modules/jsonapi/src/Revisions/ResourceVersionRouteEnhancer.php
index 8da175894cec..bc7694fafb8c 100644
--- a/core/modules/jsonapi/src/Revisions/ResourceVersionRouteEnhancer.php
+++ b/core/modules/jsonapi/src/Revisions/ResourceVersionRouteEnhancer.php
@@ -18,7 +18,7 @@
  * @internal JSON:API maintains no PHP API since its API is the HTTP API. This
  *   class may change at any time and this will break any dependencies on it.
  *
- * @see https://www.drupal.org/project/jsonapi/issues/3032787
+ * @see https://www.drupal.org/project/drupal/issues/3032787
  * @see jsonapi.api.php
  */
 final class ResourceVersionRouteEnhancer implements EnhancerInterface {
@@ -103,7 +103,7 @@ public function enhance(array $defaults, Request $request) {
         /* Uncomment the next line and remove the following one when https://www.drupal.org/project/drupal/issues/3002352 lands in core. */
         /* throw new CacheableHttpException($cacheability, 501, 'Resource versioning is not yet supported for this resource type.'); */
         $message = 'JSON:API does not yet support resource versioning for this resource type.';
-        $message .= ' For context, see https://www.drupal.org/project/jsonapi/issues/2992833#comment-12818258.';
+        $message .= ' For context, see https://www.drupal.org/project/drupal/issues/2992833#comment-12818258.';
         $message .= ' To contribute, see https://www.drupal.org/project/drupal/issues/2350939 and https://www.drupal.org/project/drupal/issues/2809177.';
         throw new CacheableHttpException($cacheability, 501, $message, NULL, []);
       }
diff --git a/core/modules/jsonapi/src/Revisions/VersionById.php b/core/modules/jsonapi/src/Revisions/VersionById.php
index 4337d37528f8..36c9825d3a1f 100644
--- a/core/modules/jsonapi/src/Revisions/VersionById.php
+++ b/core/modules/jsonapi/src/Revisions/VersionById.php
@@ -10,7 +10,7 @@
  * @internal JSON:API maintains no PHP API since its API is the HTTP API. This
  *   class may change at any time and this will break any dependencies on it.
  *
- * @see https://www.drupal.org/project/jsonapi/issues/3032787
+ * @see https://www.drupal.org/project/drupal/issues/3032787
  * @see jsonapi.api.php
  */
 class VersionById extends NegotiatorBase implements VersionNegotiatorInterface {
diff --git a/core/modules/jsonapi/src/Revisions/VersionByRel.php b/core/modules/jsonapi/src/Revisions/VersionByRel.php
index f825b6533f92..0033c1429a92 100644
--- a/core/modules/jsonapi/src/Revisions/VersionByRel.php
+++ b/core/modules/jsonapi/src/Revisions/VersionByRel.php
@@ -11,7 +11,7 @@
  * @internal JSON:API maintains no PHP API since its API is the HTTP API. This
  *   class may change at any time and this will break any dependencies on it.
  *
- * @see https://www.drupal.org/project/jsonapi/issues/3032787
+ * @see https://www.drupal.org/project/drupal/issues/3032787
  * @see jsonapi.api.php
  */
 class VersionByRel extends NegotiatorBase {
diff --git a/core/modules/jsonapi/src/Revisions/VersionNegotiator.php b/core/modules/jsonapi/src/Revisions/VersionNegotiator.php
index 157efa529fc2..76bd43f0f19b 100644
--- a/core/modules/jsonapi/src/Revisions/VersionNegotiator.php
+++ b/core/modules/jsonapi/src/Revisions/VersionNegotiator.php
@@ -13,7 +13,7 @@
  * @internal JSON:API maintains no PHP API since its API is the HTTP API. This
  *   class may change at any time and this will break any dependencies on it.
  *
- * @see https://www.drupal.org/project/jsonapi/issues/3032787
+ * @see https://www.drupal.org/project/drupal/issues/3032787
  * @see jsonapi.api.php
  *
  * @see \Drupal\jsonapi\Revisions\VersionNegotiatorInterface
diff --git a/core/modules/jsonapi/src/Revisions/VersionNegotiatorInterface.php b/core/modules/jsonapi/src/Revisions/VersionNegotiatorInterface.php
index 03a9d8023d3f..a79646861590 100644
--- a/core/modules/jsonapi/src/Revisions/VersionNegotiatorInterface.php
+++ b/core/modules/jsonapi/src/Revisions/VersionNegotiatorInterface.php
@@ -10,7 +10,7 @@
  * @internal JSON:API maintains no PHP API since its API is the HTTP API. This
  *   class may change at any time and this will break any dependencies on it.
  *
- * @see https://www.drupal.org/project/jsonapi/issues/3032787
+ * @see https://www.drupal.org/project/drupal/issues/3032787
  * @see jsonapi.api.php
  *
  * @see \Drupal\jsonapi\Revisions\VersionNegotiator
diff --git a/core/modules/jsonapi/src/Revisions/VersionNotFoundException.php b/core/modules/jsonapi/src/Revisions/VersionNotFoundException.php
index cd6fb4b60eb7..72d0e3834611 100644
--- a/core/modules/jsonapi/src/Revisions/VersionNotFoundException.php
+++ b/core/modules/jsonapi/src/Revisions/VersionNotFoundException.php
@@ -8,7 +8,7 @@
  * @internal JSON:API maintains no PHP API since its API is the HTTP API. This
  *   class may change at any time and this will break any dependencies on it.
  *
- * @see https://www.drupal.org/project/jsonapi/issues/3032787
+ * @see https://www.drupal.org/project/drupal/issues/3032787
  * @see jsonapi.api.php
  */
 class VersionNotFoundException extends \InvalidArgumentException {
diff --git a/core/modules/jsonapi/src/Routing/RouteEnhancer.php b/core/modules/jsonapi/src/Routing/RouteEnhancer.php
index 0c3b1b477e6a..1a663fa31b57 100644
--- a/core/modules/jsonapi/src/Routing/RouteEnhancer.php
+++ b/core/modules/jsonapi/src/Routing/RouteEnhancer.php
@@ -12,7 +12,7 @@
  * @internal JSON:API maintains no PHP API since its API is the HTTP API. This
  *   class may change at any time and this will break any dependencies on it.
  *
- * @see https://www.drupal.org/project/jsonapi/issues/3032787
+ * @see https://www.drupal.org/project/drupal/issues/3032787
  * @see jsonapi.api.php
  */
 class RouteEnhancer implements EnhancerInterface {
diff --git a/core/modules/jsonapi/src/Routing/Routes.php b/core/modules/jsonapi/src/Routing/Routes.php
index 7ba8338112cd..77fd86751b06 100644
--- a/core/modules/jsonapi/src/Routing/Routes.php
+++ b/core/modules/jsonapi/src/Routing/Routes.php
@@ -19,7 +19,7 @@
  * @internal JSON:API maintains no PHP API since its API is the HTTP API. This
  *   class may change at any time and this will break any dependencies on it.
  *
- * @see https://www.drupal.org/project/jsonapi/issues/3032787
+ * @see https://www.drupal.org/project/drupal/issues/3032787
  * @see jsonapi.api.php
  */
 class Routes implements ContainerInjectionInterface {
diff --git a/core/modules/jsonapi/src/Serializer/Serializer.php b/core/modules/jsonapi/src/Serializer/Serializer.php
index 67c07c473efd..709cf770949c 100644
--- a/core/modules/jsonapi/src/Serializer/Serializer.php
+++ b/core/modules/jsonapi/src/Serializer/Serializer.php
@@ -12,12 +12,12 @@
  * Backwards compatibility is in no way guaranteed and will almost certainly be
  * broken in the future.
  *
- * @link https://www.drupal.org/project/jsonapi/issues/2923779#comment-12407443
+ * @link https://www.drupal.org/project/drupal/issues/2923779#comment-12407443
  *
  * @internal JSON:API maintains no PHP API since its API is the HTTP API. This
  *   class may change at any time and this will break any dependencies on it.
  *
- * @see https://www.drupal.org/project/jsonapi/issues/3032787
+ * @see https://www.drupal.org/project/drupal/issues/3032787
  * @see jsonapi.api.php
  */
 final class Serializer extends SymfonySerializer {
diff --git a/core/modules/jsonapi/tests/src/Functional/BlockContentTest.php b/core/modules/jsonapi/tests/src/Functional/BlockContentTest.php
index e4a71d21affe..9537227ccb25 100644
--- a/core/modules/jsonapi/tests/src/Functional/BlockContentTest.php
+++ b/core/modules/jsonapi/tests/src/Functional/BlockContentTest.php
@@ -200,7 +200,7 @@ protected function getExpectedCacheContexts(array $sparse_fieldset = NULL) {
    * {@inheritdoc}
    */
   public function testRelated() {
-    $this->markTestSkipped('Remove this in https://www.drupal.org/project/jsonapi/issues/2940339');
+    $this->markTestSkipped('Remove this in https://www.drupal.org/project/drupal/issues/2940339');
   }
 
   /**
diff --git a/core/modules/jsonapi/tests/src/Functional/CommentTest.php b/core/modules/jsonapi/tests/src/Functional/CommentTest.php
index 085c0480c3e4..be7545835787 100644
--- a/core/modules/jsonapi/tests/src/Functional/CommentTest.php
+++ b/core/modules/jsonapi/tests/src/Functional/CommentTest.php
@@ -392,7 +392,7 @@ protected static function entityAccess(EntityInterface $entity, $operation, Acco
    * {@inheritdoc}
    */
   public function testRelated() {
-    $this->markTestSkipped('Remove this in https://www.drupal.org/project/jsonapi/issues/2940339');
+    $this->markTestSkipped('Remove this in https://www.drupal.org/project/drupal/issues/2940339');
   }
 
   /**
diff --git a/core/modules/jsonapi/tests/src/Functional/ConfigurableLanguageTest.php b/core/modules/jsonapi/tests/src/Functional/ConfigurableLanguageTest.php
index 5c9097df54d3..7bc857b0e92a 100644
--- a/core/modules/jsonapi/tests/src/Functional/ConfigurableLanguageTest.php
+++ b/core/modules/jsonapi/tests/src/Functional/ConfigurableLanguageTest.php
@@ -117,10 +117,10 @@ protected function getExpectedCacheContexts(array $sparse_fieldset = NULL) {
   /**
    * Test a GET request for a default config entity, which has a _core key.
    *
-   * @see https://www.drupal.org/project/jsonapi/issues/2915539
+   * @see https://www.drupal.org/project/drupal/issues/2915539
    */
   public function testGetIndividualDefaultConfig() {
-    // @todo Remove line below in favor of commented line in https://www.drupal.org/project/jsonapi/issues/2878463.
+    // @todo Remove line below in favor of commented line in https://www.drupal.org/project/drupal/issues/2878463.
     $url = Url::fromRoute('jsonapi.configurable_language--configurable_language.individual', ['entity' => ConfigurableLanguage::load('en')->uuid()]);
     /* $url = ConfigurableLanguage::load('en')->toUrl('jsonapi'); */
 
diff --git a/core/modules/jsonapi/tests/src/Functional/ExternalNormalizersTest.php b/core/modules/jsonapi/tests/src/Functional/ExternalNormalizersTest.php
index 01626f09b3f5..3214ca43018b 100644
--- a/core/modules/jsonapi/tests/src/Functional/ExternalNormalizersTest.php
+++ b/core/modules/jsonapi/tests/src/Functional/ExternalNormalizersTest.php
@@ -145,7 +145,7 @@ public function testFormatAgnosticNormalizers($test_module, $expected_value_json
     $this->assertSame(static::VALUE_ORIGINAL, $denormalized_entity->field_test->value);
 
     // Asserts the expected JSON:API normalization.
-    // @todo Remove line below in favor of commented line in https://www.drupal.org/project/jsonapi/issues/2878463.
+    // @todo Remove line below in favor of commented line in https://www.drupal.org/project/drupal/issues/2878463.
     $url = Url::fromRoute('jsonapi.entity_test--entity_test.individual', ['entity' => $this->entity->uuid()]);
     // $url = $this->entity->toUrl('jsonapi');
     $client = $this->getSession()->getDriver()->getClient()->getClient();
diff --git a/core/modules/jsonapi/tests/src/Functional/JsonApiRegressionTest.php b/core/modules/jsonapi/tests/src/Functional/JsonApiRegressionTest.php
index 35379fa1f065..949da0a6a747 100644
--- a/core/modules/jsonapi/tests/src/Functional/JsonApiRegressionTest.php
+++ b/core/modules/jsonapi/tests/src/Functional/JsonApiRegressionTest.php
@@ -51,7 +51,7 @@ class JsonApiRegressionTest extends JsonApiFunctionalTestBase {
   /**
    * Ensure filtering on relationships works with bundle-specific target types.
    *
-   * @see https://www.drupal.org/project/jsonapi/issues/2953207
+   * @see https://www.drupal.org/project/drupal/issues/2953207
    */
   public function testBundleSpecificTargetEntityTypeFromIssue2953207() {
     // Set up data model.
@@ -87,7 +87,7 @@ public function testBundleSpecificTargetEntityTypeFromIssue2953207() {
   /**
    * Ensure deep nested include works on multi target entity type field.
    *
-   * @see https://www.drupal.org/project/jsonapi/issues/2973681
+   * @see https://www.drupal.org/project/drupal/issues/2973681
    */
   public function testDeepNestedIncludeMultiTargetEntityTypeFieldFromIssue2973681() {
     // Set up data model.
@@ -151,7 +151,7 @@ public function testDeepNestedIncludeMultiTargetEntityTypeFieldFromIssue2973681(
   /**
    * Ensure POST and PATCH works for bundle-less relationship routes.
    *
-   * @see https://www.drupal.org/project/jsonapi/issues/2976371
+   * @see https://www.drupal.org/project/drupal/issues/2976371
    */
   public function testBundlelessRelationshipMutationFromIssue2973681() {
     $this->config('jsonapi.settings')->set('read_only', FALSE)->save(TRUE);
@@ -202,7 +202,7 @@ public function testBundlelessRelationshipMutationFromIssue2973681() {
   /**
    * Ensures GETting terms works when multiple vocabularies exist.
    *
-   * @see https://www.drupal.org/project/jsonapi/issues/2977879
+   * @see https://www.drupal.org/project/drupal/issues/2977879
    */
   public function testGetTermWhenMultipleVocabulariesExistFromIssue2977879() {
     // Set up data model.
@@ -238,7 +238,7 @@ public function testGetTermWhenMultipleVocabulariesExistFromIssue2977879() {
   /**
    * Cannot PATCH an entity with dangling references in an ER field.
    *
-   * @see https://www.drupal.org/project/jsonapi/issues/2968972
+   * @see https://www.drupal.org/project/drupal/issues/2968972
    */
   public function testDanglingReferencesInAnEntityReferenceFieldFromIssue2968972() {
     $this->config('jsonapi.settings')->set('read_only', FALSE)->save(TRUE);
@@ -309,7 +309,7 @@ public function testDanglingReferencesInAnEntityReferenceFieldFromIssue2968972()
   /**
    * Ensures GETting node collection + hook_node_grants() implementations works.
    *
-   * @see https://www.drupal.org/project/jsonapi/issues/2984964
+   * @see https://www.drupal.org/project/drupal/issues/2984964
    */
   public function testGetNodeCollectionWithHookNodeGrantsImplementationsFromIssue2984964() {
     // Set up data model.
@@ -340,7 +340,7 @@ public function testGetNodeCollectionWithHookNodeGrantsImplementationsFromIssue2
   /**
    * Cannot GET an entity with dangling references in an ER field.
    *
-   * @see https://www.drupal.org/project/jsonapi/issues/2984647
+   * @see https://www.drupal.org/project/drupal/issues/2984647
    */
   public function testDanglingReferencesInAnEntityReferenceFieldFromIssue2984647() {
     // Set up data model.
@@ -470,7 +470,7 @@ public function testDanglingReferencesInAnEntityReferenceFieldFromIssue2984647()
    * Adding a new relationship field should cause new routes to be immediately
    * regenerated. The site builder should not need to manually rebuild caches.
    *
-   * @see https://www.drupal.org/project/jsonapi/issues/2984886
+   * @see https://www.drupal.org/project/drupal/issues/2984886
    */
   public function testThatRoutesAreRebuiltAfterDataModelChangesFromIssue2984886() {
     $user = $this->drupalCreateUser(['access content']);
@@ -526,7 +526,7 @@ public function testThatRoutesAreRebuiltAfterDataModelChangesFromIssue2984886()
   /**
    * Ensures denormalizing relationships with aliased field names works.
    *
-   * @see https://www.drupal.org/project/jsonapi/issues/3007113
+   * @see https://www.drupal.org/project/drupal/issues/3007113
    * @see https://www.drupal.org/project/jsonapi_extras/issues/3004582#comment-12817261
    */
   public function testDenormalizeAliasedRelationshipFromIssue2953207() {
@@ -584,7 +584,7 @@ public function testDenormalizeAliasedRelationshipFromIssue2953207() {
   /**
    * Ensures that Drupal's page cache is effective.
    *
-   * @see https://www.drupal.org/project/jsonapi/issues/3009596
+   * @see https://www.drupal.org/project/drupal/issues/3009596
    */
   public function testPageCacheFromIssue3009596() {
     $anonymous_role = Role::load(RoleInterface::ANONYMOUS_ID);
@@ -619,7 +619,7 @@ public function testPageCacheFromIssue3009596() {
   /**
    * Ensures that filtering by a sequential internal ID named 'id' is possible.
    *
-   * @see https://www.drupal.org/project/jsonapi/issues/3015759
+   * @see https://www.drupal.org/project/drupal/issues/3015759
    */
   public function testFilterByIdFromIssue3015759() {
     // Set up data model.
@@ -659,7 +659,7 @@ public function testFilterByIdFromIssue3015759() {
   /**
    * Ensures datetime fields are normalized using the correct timezone.
    *
-   * @see https://www.drupal.org/project/jsonapi/issues/2999438
+   * @see https://www.drupal.org/project/drupal/issues/2999438
    */
   public function testPatchingDateTimeNormalizedWrongTimeZoneIssue3021194() {
     // Set up data model.
@@ -708,7 +708,7 @@ public function testPatchingDateTimeNormalizedWrongTimeZoneIssue3021194() {
   /**
    * Ensures PATCHing datetime (both date-only & date+time) fields is possible.
    *
-   * @see https://www.drupal.org/project/jsonapi/issues/3021194
+   * @see https://www.drupal.org/project/drupal/issues/3021194
    */
   public function testPatchingDateTimeFieldsFromIssue3021194() {
     $this->config('jsonapi.settings')->set('read_only', FALSE)->save(TRUE);
@@ -791,7 +791,7 @@ public function testPatchingDateTimeFieldsFromIssue3021194() {
   /**
    * Ensure includes are respected even when POSTing.
    *
-   * @see https://www.drupal.org/project/jsonapi/issues/3026030
+   * @see https://www.drupal.org/project/drupal/issues/3026030
    */
   public function testPostToIncludeUrlDoesNotReturnIncludeFromIssue3026030() {
     $this->config('jsonapi.settings')->set('read_only', FALSE)->save(TRUE);
@@ -828,7 +828,7 @@ public function testPostToIncludeUrlDoesNotReturnIncludeFromIssue3026030() {
   /**
    * Ensure includes are respected even when PATCHing.
    *
-   * @see https://www.drupal.org/project/jsonapi/issues/3026030
+   * @see https://www.drupal.org/project/drupal/issues/3026030
    */
   public function testPatchToIncludeUrlDoesNotReturnIncludeFromIssue3026030() {
     $this->config('jsonapi.settings')->set('read_only', FALSE)->save(TRUE);
@@ -874,7 +874,7 @@ public function testPatchToIncludeUrlDoesNotReturnIncludeFromIssue3026030() {
   /**
    * Ensure `@FieldType=map` fields are normalized correctly.
    *
-   * @see https://www.drupal.org/project/jsonapi/issues/3040590
+   * @see https://www.drupal.org/project/drupal/issues/3040590
    */
   public function testMapFieldTypeNormalizationFromIssue3040590() {
     $this->assertTrue($this->container->get('module_installer')->install(['entity_test'], TRUE), 'Installed modules.');
@@ -1254,8 +1254,8 @@ public function testLeakCacheMetadataInOmitted() {
   /**
    * Tests that "virtual/missing" resources can exist for renamed fields.
    *
-   * @see https://www.drupal.org/project/jsonapi/issues/3034786
-   * @see https://www.drupal.org/project/jsonapi_extras/issues/3035544
+   * @see https://www.drupal.org/project/drupal/issues/3034786
+   * @see https://www.drupal.org/project/drupal/issues/3035544
    */
   public function testAliasedFieldsWithVirtualRelationships() {
     // Set up the data model.
diff --git a/core/modules/jsonapi/tests/src/Functional/MediaTest.php b/core/modules/jsonapi/tests/src/Functional/MediaTest.php
index 38911ea95ec0..b630dcc6fb0b 100644
--- a/core/modules/jsonapi/tests/src/Functional/MediaTest.php
+++ b/core/modules/jsonapi/tests/src/Functional/MediaTest.php
@@ -348,7 +348,7 @@ protected function getExpectedUnauthorizedAccessCacheability() {
    */
   public function testPostIndividual() {
     // @todo Mimic \Drupal\Tests\rest\Functional\EntityResource\Media\MediaResourceTestBase::testPost()
-    // @todo Later, use https://www.drupal.org/project/jsonapi/issues/2958554 to upload files rather than the REST module.
+    // @todo Later, use https://www.drupal.org/project/drupal/issues/2958554 to upload files rather than the REST module.
     parent::testPostIndividual();
   }
   // @codingStandardsIgnoreEnd
diff --git a/core/modules/jsonapi/tests/src/Functional/MenuLinkContentTest.php b/core/modules/jsonapi/tests/src/Functional/MenuLinkContentTest.php
index 05d7f47c246d..f5e2fcd72491 100644
--- a/core/modules/jsonapi/tests/src/Functional/MenuLinkContentTest.php
+++ b/core/modules/jsonapi/tests/src/Functional/MenuLinkContentTest.php
@@ -176,7 +176,7 @@ protected function getExpectedUnauthorizedAccessMessage($method) {
    * {@inheritdoc}
    */
   public function testRelated() {
-    $this->markTestSkipped('Remove this in https://www.drupal.org/project/jsonapi/issues/2940339');
+    $this->markTestSkipped('Remove this in https://www.drupal.org/project/drupal/issues/2940339');
   }
 
   /**
diff --git a/core/modules/jsonapi/tests/src/Functional/NodeTest.php b/core/modules/jsonapi/tests/src/Functional/NodeTest.php
index 363c69ec45fb..6800460182cc 100644
--- a/core/modules/jsonapi/tests/src/Functional/NodeTest.php
+++ b/core/modules/jsonapi/tests/src/Functional/NodeTest.php
@@ -271,7 +271,7 @@ public function testPatchPath() {
     $this->setUpAuthorization('PATCH');
     $this->config('jsonapi.settings')->set('read_only', FALSE)->save(TRUE);
 
-    // @todo Remove line below in favor of commented line in https://www.drupal.org/project/jsonapi/issues/2878463.
+    // @todo Remove line below in favor of commented line in https://www.drupal.org/project/drupal/issues/2878463.
     $url = Url::fromRoute(sprintf('jsonapi.%s.individual', static::$resourceTypeName), ['entity' => $this->entity->uuid()]);
     // $url = $this->entity->toUrl('jsonapi');
 
@@ -311,14 +311,14 @@ public function testGetIndividual() {
     // Unpublish node.
     $this->entity->setUnpublished()->save();
 
-    // @todo Remove line below in favor of commented line in https://www.drupal.org/project/jsonapi/issues/2878463.
+    // @todo Remove line below in favor of commented line in https://www.drupal.org/project/drupal/issues/2878463.
     $url = Url::fromRoute(sprintf('jsonapi.%s.individual', static::$resourceTypeName), ['entity' => $this->entity->uuid()]);
     // $url = $this->entity->toUrl('jsonapi');
     $request_options = $this->getAuthenticationRequestOptions();
 
     // 403 when accessing own unpublished node.
     $response = $this->request('GET', $url, $request_options);
-    // @todo Remove $expected + assertResourceResponse() in favor of the commented line below once https://www.drupal.org/project/jsonapi/issues/2943176 lands.
+    // @todo Remove $expected + assertResourceResponse() in favor of the commented line below once https://www.drupal.org/project/drupal/issues/2943176 lands.
     $expected_document = [
       'jsonapi' => static::$jsonApiMember,
       'errors' => [
@@ -374,7 +374,7 @@ protected function assertCacheableNormalizations() {
     ]);
     // After saving the entity the normalization should not be cached.
     $this->assertFalse($cache);
-    // @todo Remove line below in favor of commented line in https://www.drupal.org/project/jsonapi/issues/2878463.
+    // @todo Remove line below in favor of commented line in https://www.drupal.org/project/drupal/issues/2878463.
     $url = Url::fromRoute(sprintf('jsonapi.%s.individual', static::$resourceTypeName), ['entity' => $uuid]);
     // $url = $this->entity->toUrl('jsonapi');
     $request_options = $this->getAuthenticationRequestOptions();
diff --git a/core/modules/jsonapi/tests/src/Functional/ResourceTestBase.php b/core/modules/jsonapi/tests/src/Functional/ResourceTestBase.php
index c364edcca0ad..efedfac0a01c 100644
--- a/core/modules/jsonapi/tests/src/Functional/ResourceTestBase.php
+++ b/core/modules/jsonapi/tests/src/Functional/ResourceTestBase.php
@@ -906,7 +906,7 @@ public function testGetIndividual() {
     // - to first test all mistakes a developer might make, and assert that the
     //   error responses provide a good DX
     // - to eventually result in a well-formed request that succeeds.
-    // @todo Remove line below in favor of commented line in https://www.drupal.org/project/jsonapi/issues/2878463.
+    // @todo Remove line below in favor of commented line in https://www.drupal.org/project/drupal/issues/2878463.
     $url = Url::fromRoute(sprintf('jsonapi.%s.individual', static::$resourceTypeName), ['entity' => $this->entity->uuid()]);
     // $url = $this->entity->toUrl('jsonapi');
     $request_options = [];
@@ -1986,7 +1986,7 @@ public function testPostIndividual() {
     if (get_class($this->entityStorage) !== ContentEntityNullStorage::class) {
       $created_entity = $this->entityLoadUnchanged(static::$firstCreatedEntityId);
       $uuid = $created_entity->uuid();
-      // @todo Remove line below in favor of commented line in https://www.drupal.org/project/jsonapi/issues/2878463.
+      // @todo Remove line below in favor of commented line in https://www.drupal.org/project/drupal/issues/2878463.
       $location = Url::fromRoute(sprintf('jsonapi.%s.individual', static::$resourceTypeName), ['entity' => $uuid]);
       if (static::$resourceTypeIsVersionable) {
         assert($created_entity instanceof RevisionableInterface);
@@ -2040,7 +2040,7 @@ public function testPostIndividual() {
     if ($this->entity->getEntityType()->getStorageClass() !== ContentEntityNullStorage::class && $this->entity->getEntityType()->hasKey('uuid')) {
       $second_created_entity = $this->entityStorage->load(static::$secondCreatedEntityId);
       $uuid = $second_created_entity->uuid();
-      // @todo Remove line below in favor of commented line in https://www.drupal.org/project/jsonapi/issues/2878463.
+      // @todo Remove line below in favor of commented line in https://www.drupal.org/project/drupal/issues/2878463.
       $location = Url::fromRoute(sprintf('jsonapi.%s.individual', static::$resourceTypeName), ['entity' => $uuid]);
       /* $location = $this->entityStorage->load(static::$secondCreatedEntityId)->toUrl('jsonapi')->setAbsolute(TRUE)->toString(); */
       if (static::$resourceTypeIsVersionable) {
@@ -2120,7 +2120,7 @@ public function testPatchIndividual() {
     // - to first test all mistakes a developer might make, and assert that the
     //   error responses provide a good DX
     // - to eventually result in a well-formed request that succeeds.
-    // @todo Remove line below in favor of commented line in https://www.drupal.org/project/jsonapi/issues/2878463.
+    // @todo Remove line below in favor of commented line in https://www.drupal.org/project/drupal/issues/2878463.
     $url = Url::fromRoute(sprintf('jsonapi.%s.individual', static::$resourceTypeName), ['entity' => $this->entity->uuid()]);
     // $url = $this->entity->toUrl('jsonapi');
     $request_options = [];
@@ -2375,7 +2375,7 @@ public function testPatchIndividual() {
     $updated_entity->setNewRevision();
     $updated_entity->save();
     $actual_response = $this->request('PATCH', $url, $request_options);
-    $this->assertResourceErrorResponse(400, 'Updating a resource object that has a working copy is not yet supported. See https://www.drupal.org/project/jsonapi/issues/2795279.', $url, $actual_response);
+    $this->assertResourceErrorResponse(400, 'Updating a resource object that has a working copy is not yet supported. See https://www.drupal.org/project/drupal/issues/2795279.', $url, $actual_response);
 
     // Allow PATCHing an unpublished default revision.
     $updated_entity->set('moderation_state', 'archived');
@@ -2416,7 +2416,7 @@ public function testDeleteIndividual() {
     // - to first test all mistakes a developer might make, and assert that the
     //   error responses provide a good DX
     // - to eventually result in a well-formed request that succeeds.
-    // @todo Remove line below in favor of commented line in https://www.drupal.org/project/jsonapi/issues/2878463.
+    // @todo Remove line below in favor of commented line in https://www.drupal.org/project/drupal/issues/2878463.
     $url = Url::fromRoute(sprintf('jsonapi.%s.individual', static::$resourceTypeName), ['entity' => $this->entity->uuid()]);
     // $url = $this->entity->toUrl('jsonapi');
     $request_options = [];
@@ -2699,7 +2699,7 @@ public function testRevisions() {
       $request_options = NestedArray::mergeDeep($request_options, $this->getAuthenticationRequestOptions());
       $response = $this->request('GET', $url, $request_options);
       $detail = 'JSON:API does not yet support resource versioning for this resource type.';
-      $detail .= ' For context, see https://www.drupal.org/project/jsonapi/issues/2992833#comment-12818258.';
+      $detail .= ' For context, see https://www.drupal.org/project/drupal/issues/2992833#comment-12818258.';
       $detail .= ' To contribute, see https://www.drupal.org/project/drupal/issues/2350939 and https://www.drupal.org/project/drupal/issues/2809177.';
       $expected_cache_contexts = [
         'url.path',
@@ -2736,7 +2736,7 @@ public function testRevisions() {
     $entity->save();
     $latest_revision_id = (int) $entity->getRevisionId();
 
-    // @todo Remove line below in favor of commented line in https://www.drupal.org/project/jsonapi/issues/2878463.
+    // @todo Remove line below in favor of commented line in https://www.drupal.org/project/drupal/issues/2878463.
     $url = Url::fromRoute(sprintf('jsonapi.%s.individual', static::$resourceTypeName), ['entity' => $this->entity->uuid()])->setAbsolute();
     // $url = $this->entity->toUrl('jsonapi');
     $collection_url = Url::fromRoute(sprintf('jsonapi.%s.collection', static::$resourceTypeName))->setAbsolute();
diff --git a/core/modules/jsonapi/tests/src/Functional/TermTest.php b/core/modules/jsonapi/tests/src/Functional/TermTest.php
index 2cae64dba6f4..efb59122a4b6 100644
--- a/core/modules/jsonapi/tests/src/Functional/TermTest.php
+++ b/core/modules/jsonapi/tests/src/Functional/TermTest.php
@@ -372,7 +372,7 @@ public function testPatchPath() {
     $this->setUpAuthorization('PATCH');
     $this->config('jsonapi.settings')->set('read_only', FALSE)->save(TRUE);
 
-    // @todo Remove line below in favor of commented line in https://www.drupal.org/project/jsonapi/issues/2878463.
+    // @todo Remove line below in favor of commented line in https://www.drupal.org/project/drupal/issues/2878463.
     $url = Url::fromRoute(sprintf('jsonapi.%s.individual', static::$resourceTypeName), ['entity' => $this->entity->uuid()]);
     // $url = $this->entity->toUrl('jsonapi');
     $request_options = [];
@@ -438,7 +438,7 @@ public function testGetIndividualTermWithParent(array $parent_term_ids) {
     // Modify the entity under test to use the provided parent terms.
     $this->entity->set('parent', $parent_term_ids)->save();
 
-    // @todo Remove line below in favor of commented line in https://www.drupal.org/project/jsonapi/issues/2878463.
+    // @todo Remove line below in favor of commented line in https://www.drupal.org/project/drupal/issues/2878463.
     $url = Url::fromRoute(sprintf('jsonapi.%s.individual', static::$resourceTypeName), ['entity' => $this->entity->uuid()]);
     // $url = $this->entity->toUrl('jsonapi');
     $request_options = [];
@@ -473,7 +473,7 @@ public function providerTestGetIndividualTermWithParent() {
    * {@inheritdoc}
    */
   public function testRelated() {
-    $this->markTestSkipped('Remove this in https://www.drupal.org/project/jsonapi/issues/2940339');
+    $this->markTestSkipped('Remove this in https://www.drupal.org/project/drupal/issues/2940339');
   }
 
   /**
diff --git a/core/modules/jsonapi/tests/src/Functional/UserTest.php b/core/modules/jsonapi/tests/src/Functional/UserTest.php
index 85ab8f7e2c32..b08df8eb26b4 100644
--- a/core/modules/jsonapi/tests/src/Functional/UserTest.php
+++ b/core/modules/jsonapi/tests/src/Functional/UserTest.php
@@ -203,7 +203,7 @@ protected function getExpectedUnauthorizedAccessMessage($method) {
    * Tests PATCHing security-sensitive base fields of the logged in account.
    */
   public function testPatchDxForSecuritySensitiveBaseFields() {
-    // @todo Remove line below in favor of commented line in https://www.drupal.org/project/jsonapi/issues/2878463.
+    // @todo Remove line below in favor of commented line in https://www.drupal.org/project/drupal/issues/2878463.
     $url = Url::fromRoute(sprintf('jsonapi.user--user.individual'), ['entity' => $this->account->uuid()]);
     /* $url = $this->account->toUrl('jsonapi'); */
 
@@ -321,7 +321,7 @@ protected function assertRpcLogin($username, $password) {
    * Tests PATCHing security-sensitive base fields to change other users.
    */
   public function testPatchSecurityOtherUser() {
-    // @todo Remove line below in favor of commented line in https://www.drupal.org/project/jsonapi/issues/2878463.
+    // @todo Remove line below in favor of commented line in https://www.drupal.org/project/drupal/issues/2878463.
     $url = Url::fromRoute(sprintf('jsonapi.user--user.individual'), ['entity' => $this->account->uuid()]);
     /* $url = $this->account->toUrl('jsonapi'); */
 
@@ -379,7 +379,7 @@ public function testGetMailFieldOnlyVisibleToOwner() {
     $this->grantPermissionsToTestedRole(['access user profiles']);
 
     $collection_url = Url::fromRoute('jsonapi.user--user.collection', [], ['query' => ['sort' => 'drupal_internal__uid']]);
-    // @todo Remove line below in favor of commented line in https://www.drupal.org/project/jsonapi/issues/2878463.
+    // @todo Remove line below in favor of commented line in https://www.drupal.org/project/drupal/issues/2878463.
     $user_a_url = Url::fromRoute(sprintf('jsonapi.user--user.individual'), ['entity' => $user_a->uuid()]);
     /* $user_a_url = $user_a->toUrl('jsonapi'); */
     $request_options = [];
diff --git a/core/modules/jsonapi/tests/src/Kernel/Normalizer/JsonApiDocumentTopLevelNormalizerTest.php b/core/modules/jsonapi/tests/src/Kernel/Normalizer/JsonApiDocumentTopLevelNormalizerTest.php
index 9ca239a615da..6fa0ff0bb2b7 100644
--- a/core/modules/jsonapi/tests/src/Kernel/Normalizer/JsonApiDocumentTopLevelNormalizerTest.php
+++ b/core/modules/jsonapi/tests/src/Kernel/Normalizer/JsonApiDocumentTopLevelNormalizerTest.php
@@ -302,7 +302,7 @@ public function testNormalize() {
    * @covers ::normalize
    */
   public function testNormalizeRelated() {
-    $this->markTestIncomplete('This fails and should be fixed by https://www.drupal.org/project/jsonapi/issues/2922121');
+    $this->markTestIncomplete('This fails and should be fixed by https://www.drupal.org/project/drupal/issues/2922121');
 
     list($request, $resource_type) = $this->generateProphecies('node', 'article', 'uid');
     $request->query = new ParameterBag([
-- 
GitLab