{"action":"created","issue":{"url":"https://api.github.com/repos/magento/magento2/issues/17563","repository_url":"https://api.github.com/repos/magento/magento2","labels_url":"https://api.github.com/repos/magento/magento2/issues/17563/labels{/name}","comments_url":"https://api.github.com/repos/magento/magento2/issues/17563/comments","events_url":"https://api.github.com/repos/magento/magento2/issues/17563/events","html_url":"https://github.com/magento/magento2/pull/17563","id":349911959,"node_id":"MDExOlB1bGxSZXF1ZXN0MjA3ODg3ODA0","number":17563,"title":"Prevent empty string as useless product URL key on product imports","user":{"login":"jhruehl","id":29142982,"node_id":"MDQ6VXNlcjI5MTQyOTgy","avatar_url":"https://avatars3.githubusercontent.com/u/29142982?v=4","gravatar_id":"","url":"https://api.github.com/users/jhruehl","html_url":"https://github.com/jhruehl","followers_url":"https://api.github.com/users/jhruehl/followers","following_url":"https://api.github.com/users/jhruehl/following{/other_user}","gists_url":"https://api.github.com/users/jhruehl/gists{/gist_id}","starred_url":"https://api.github.com/users/jhruehl/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jhruehl/subscriptions","organizations_url":"https://api.github.com/users/jhruehl/orgs","repos_url":"https://api.github.com/users/jhruehl/repos","events_url":"https://api.github.com/users/jhruehl/events{/privacy}","received_events_url":"https://api.github.com/users/jhruehl/received_events","type":"User","site_admin":false},"labels":[{"id":955033790,"node_id":"MDU6TGFiZWw5NTUwMzM3OTA=","url":"https://api.github.com/repos/magento/magento2/labels/Component:%20CatalogImportExport","name":"Component: CatalogImportExport","color":"7fb703","default":false},{"id":703232382,"node_id":"MDU6TGFiZWw3MDMyMzIzODI=","url":"https://api.github.com/repos/magento/magento2/labels/Release%20Line:%202.2","name":"Release Line: 2.2","color":"fbca04","default":false}],"state":"open","locked":false,"assignee":{"login":"dmanners","id":1572836,"node_id":"MDQ6VXNlcjE1NzI4MzY=","avatar_url":"https://avatars2.githubusercontent.com/u/1572836?v=4","gravatar_id":"","url":"https://api.github.com/users/dmanners","html_url":"https://github.com/dmanners","followers_url":"https://api.github.com/users/dmanners/followers","following_url":"https://api.github.com/users/dmanners/following{/other_user}","gists_url":"https://api.github.com/users/dmanners/gists{/gist_id}","starred_url":"https://api.github.com/users/dmanners/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dmanners/subscriptions","organizations_url":"https://api.github.com/users/dmanners/orgs","repos_url":"https://api.github.com/users/dmanners/repos","events_url":"https://api.github.com/users/dmanners/events{/privacy}","received_events_url":"https://api.github.com/users/dmanners/received_events","type":"User","site_admin":false},"assignees":[{"login":"dmanners","id":1572836,"node_id":"MDQ6VXNlcjE1NzI4MzY=","avatar_url":"https://avatars2.githubusercontent.com/u/1572836?v=4","gravatar_id":"","url":"https://api.github.com/users/dmanners","html_url":"https://github.com/dmanners","followers_url":"https://api.github.com/users/dmanners/followers","following_url":"https://api.github.com/users/dmanners/following{/other_user}","gists_url":"https://api.github.com/users/dmanners/gists{/gist_id}","starred_url":"https://api.github.com/users/dmanners/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dmanners/subscriptions","organizations_url":"https://api.github.com/users/dmanners/orgs","repos_url":"https://api.github.com/users/dmanners/repos","events_url":"https://api.github.com/users/dmanners/events{/privacy}","received_events_url":"https://api.github.com/users/dmanners/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/magento/magento2/milestones/21","html_url":"https://github.com/magento/magento2/milestone/21","labels_url":"https://api.github.com/repos/magento/magento2/milestones/21/labels","id":3535639,"node_id":"MDk6TWlsZXN0b25lMzUzNTYzOQ==","number":21,"title":"Release: 2.2.7","description":"Community pull requests delivered to Release: 2.2.7 release","creator":{"login":"magento-engcom-team","id":31669971,"node_id":"MDQ6VXNlcjMxNjY5OTcx","avatar_url":"https://avatars1.githubusercontent.com/u/31669971?v=4","gravatar_id":"","url":"https://api.github.com/users/magento-engcom-team","html_url":"https://github.com/magento-engcom-team","followers_url":"https://api.github.com/users/magento-engcom-team/followers","following_url":"https://api.github.com/users/magento-engcom-team/following{/other_user}","gists_url":"https://api.github.com/users/magento-engcom-team/gists{/gist_id}","starred_url":"https://api.github.com/users/magento-engcom-team/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/magento-engcom-team/subscriptions","organizations_url":"https://api.github.com/users/magento-engcom-team/orgs","repos_url":"https://api.github.com/users/magento-engcom-team/repos","events_url":"https://api.github.com/users/magento-engcom-team/events{/privacy}","received_events_url":"https://api.github.com/users/magento-engcom-team/received_events","type":"User","site_admin":false},"open_issues":32,"closed_issues":87,"state":"open","created_at":"2018-07-31T13:10:14Z","updated_at":"2018-09-05T06:02:06Z","due_on":null,"closed_at":null},"comments":2,"created_at":"2018-08-13T07:12:38Z","updated_at":"2018-09-05T06:02:35Z","closed_at":null,"author_association":"NONE","pull_request":{"url":"https://api.github.com/repos/magento/magento2/pulls/17563","html_url":"https://github.com/magento/magento2/pull/17563","diff_url":"https://github.com/magento/magento2/pull/17563.diff","patch_url":"https://github.com/magento/magento2/pull/17563.patch"},"body":"Using the given class for product import processes leads to comulative problems of handling product url key related processes.\r\n\r\n### Description\r\nSince 2.4 at least the url key for the sku, which is given in an import file's row, is set to an empty string, if there is no corresponding url key or name column given. This leads to a variety of problems:\r\n\r\na) if no url key is given on import, it leads to changing the url key to Magento 2 standards by using the value in the name column. this totally ignores the fact that url keys get customized a lot of times and overwrites all efforts before. furthermore causing SEO problems, if as a consequence the url rewrites get adjusted accordingly. a product, which was exported to google shopping may not be reachable anymore by the link given to google or loose all linked SEO data by the next export given (if no 301 redirect is given).\r\nb) if nor url key or name column is given on import, the url key is set as an empty string, which is even worse. this leads to several products having the same empty string as an url key, causing problems, when regenerating or reindexing url rewrites, because of duplicate entries. and so on and so on. furthermore an empty string as an url key is just useless.\r\n\r\n### Fixed Issue\r\nif no url key or name column is given in the import file, this change prevents any url key to be set as or updated to an empty string, which is useless and causes even more problems in the aftermath.\r\n\r\n### Manual testing scenarios\r\n1. create an import file (csv) to update a product via sku and have no corresponding name or url key column in it\r\n2. check product url key before\r\n3. run import in backend or via an extension, which uses the given class\r\n4. check product url key again\r\n\r\n### Contribution checklist\r\n - [ ] Pull request has a meaningful description of its purpose\r\n - [ ] All commits are accompanied by meaningful commit messages\r\n - [ ] All new or changed code is covered with unit/integration tests (if applicable)\r\n - [ ] All automated tests passed successfully (all builds on Travis CI are green)\r\n"},"comment":{"url":"https://api.github.com/repos/magento/magento2/issues/comments/418609315","html_url":"https://github.com/magento/magento2/pull/17563#issuecomment-418609315","issue_url":"https://api.github.com/repos/magento/magento2/issues/17563","id":418609315,"node_id":"MDEyOklzc3VlQ29tbWVudDQxODYwOTMxNQ==","user":{"login":"magento-engcom-team","id":31669971,"node_id":"MDQ6VXNlcjMxNjY5OTcx","avatar_url":"https://avatars1.githubusercontent.com/u/31669971?v=4","gravatar_id":"","url":"https://api.github.com/users/magento-engcom-team","html_url":"https://github.com/magento-engcom-team","followers_url":"https://api.github.com/users/magento-engcom-team/followers","following_url":"https://api.github.com/users/magento-engcom-team/following{/other_user}","gists_url":"https://api.github.com/users/magento-engcom-team/gists{/gist_id}","starred_url":"https://api.github.com/users/magento-engcom-team/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/magento-engcom-team/subscriptions","organizations_url":"https://api.github.com/users/magento-engcom-team/orgs","repos_url":"https://api.github.com/users/magento-engcom-team/repos","events_url":"https://api.github.com/users/magento-engcom-team/events{/privacy}","received_events_url":"https://api.github.com/users/magento-engcom-team/received_events","type":"User","site_admin":false},"created_at":"2018-09-05T06:02:35Z","updated_at":"2018-09-05T06:02:35Z","author_association":"CONTRIBUTOR","body":"@jhruehl thank you for contributing. Please accept Community Contributors team invitation [here](https://github.com/orgs/magento/invitation) to gain extended permissions for this repository."}}
{"actor":{"display_login":"magento-engcom-team"}}