Импортировать коллекцию с помощью кнопки, импортирующей одну и ту же коллекцию несколько раз - Почтальон

Я использую Postman версии 6.6.0 и пытаюсь импортировать коллекцию API с помощью кнопки Run in Postman. У меня есть одна HTML-страница, которая выглядит так:

<div id="hiddenEnv" class="nodisplay highlight highlight-attention">
   <p>
      Click the button below to import into Postman
   </p>
   <p>                        
   <div class="postman-run-button"
      data-postman-action="collection/import"
      data-postman-var-1="abcd"></div>
   <script type="text/javascript">
      (function (p,o,s,t,m,a,n) {
          !p[s] && (p[s] = function () { (p[t] || (p[t] = [])).push(arguments); });
          !o.getElementById(s+t) && o.getElementsByTagName("head")[0].appendChild((
            (n = o.createElement("script")),
            (n.id = s+t), (n.async = 1), (n.src = m), n
          ));
        }(window, document, "_pm", "PostmanRunObject", "https://run.pstmn.io/button.js"));
   </script>        
   </p>
</div>

И код js:

$(function() {

    var lastEnv;

    function newEnv(name) {
        debugger;
        var env = {
            "id": generateUUID(),
            "name": "MyProject-" + name,
            "values": [{
                    "key": "hostenv",
                    "value": "",
                    "type": "text",
                    "enabled": true
                },
                {
                    "key": "username",
                    "value": "",
                    "type": "text",
                    "enabled": true
                },
                {
                    "key": "password",
                    "value": "",
                    "type": "text",
                    "enabled": true
                }
            ],
            "timestamp": 1544608923,
            "synced": false,
            "syncedFilename": "",
            "team": null,
            "isDeleted": false
        };
        return env;
    }

    $('#enter-creds').on('click', function(ev) {
        var options = {
            "name": "sampleBasicModal",
            "content": $("script#envModal").html(),
            onComplete: function(ev) {
                console.log(ev);
                var modal = $(ev.currentTarget).closest('.modal');
                var form = modal.find('form');
                console.log(form);

                var formArr = form.serializeArray();

                var envName = _.find(formArr, {name: 'hostenv'}).value.split('.')[0];
                var envOutput = newEnv(envName);

                var formObj = {};

                formObj.hostenv = _.find(formArr, {name: 'hostenv'}).value;   
                formObj.username = _.find(formArr, {name: 'username'}).value;
                formObj.password = _.find(formArr, {name: 'password'}).value;     

                if (!_pm('env.create', 'MyProject-' + envName, formObj)) {
                    _pm('env.replace', 'MyProject-' + envName, formObj);
                }

                lastEnv = envOutput;
                $('#shownEnv').remove();
                $('#hiddenEnv').slideDown(750);
            }
        };
        var inst = Olive.modal.show(options);

        ev.preventDefault();
    });
}); 

Я могу импортировать свои коллекции в среду Postman. Однако одну и ту же коллекцию продолжают пополнять от 7 до 8 раз. Я не мог найти, в чем проблема!

Изменить:
Я проверял его несколько раз и обнаружил, что проблема возникает, когда у меня несколько сред.


person Divyang Desai    schedule 12.12.2018    source источник
comment
Не могли бы вы поделиться развернутой версией этого? Или, возможно, что-то на JSFiddle / codeandbox / репозиторий github? Я буду рад помочь вам в этом   -  person Sivcan Singh    schedule 12.12.2018
comment
Спасибо @SivcanSingh, обязательно дайте мне минутку, я поделюсь ссылкой репо   -  person Divyang Desai    schedule 12.12.2018
comment
@SivcanSingh: вы можете найти репо здесь   -  person Divyang Desai    schedule 12.12.2018
comment
Я импортировал его, но он импортирует коллекцию только один раз (последняя версия приложения). Не 4-5 раз и более. Не могли бы вы поделиться более подробной информацией об ОС? Невозможно воспроизвести это. Можете ли вы попробовать сборку Postman Canary (загрузка - getpostman.com/canary)? Просто откройте Postman Canary, а затем нажмите Run in Postman и посмотрите, повторится ли это снова?   -  person Sivcan Singh    schedule 12.12.2018
comment
Я вижу эту проблему с моей системой рабочей станции (ОС: win10), однако не могу воспроизвести с домашней системой, может возникнуть проблема, я обновлю свой вопрос завтра с экранами   -  person Divyang Desai    schedule 12.12.2018
comment
Конечно, дай мне знать. :)   -  person Sivcan Singh    schedule 13.12.2018
comment
@SivcanSingh, я проверял это несколько раз, а затем обнаружил, что проблема возникает, когда у меня несколько сред, вопрос обновлен.   -  person Divyang Desai    schedule 13.12.2018
comment
Позвольте нам продолжить это обсуждение в чате.   -  person Sivcan Singh    schedule 13.12.2018
comment


Ответы (1)


Обсудив эту проблему с членом команды Postman, они обнаружили, что есть проблема в Postman с ОС Windows, вот ссылка, о которой сообщают

Коллекция импортируется несколько раз при использовании кнопки RiP [Windows]

person Divyang Desai    schedule 18.12.2018