{"info":{"_postman_id":"0110b03c-e539-4053-a28d-3853366205d7","name":"Mendix deployment","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json"},"item":[{"name":"New deployment","item":[{"name":"Latest revision","event":[{"listen":"test","script":{"type":"text/javascript","exec":["const response = pm.response.json();\r","const latestRevision = response.items[0].id;\r","pm.test(\"Has latest revision\", () => {\r","    pm.expect(latestRevision).to.not.be.undefined;\r","    pm.collectionVariables.set(\"latestRevision\", latestRevision);\r","});"]}}],"id":"f4acfd0d-675e-4733-b32c-25587acd1c9d","request":{"method":"GET","header":[{"key":"Authorization","value":"MxToken {{MendixPersonalAccessToken}}","type":"text"}],"url":"https://repository.api.mendix.com/v1/repositories/{{ProjectID}}/branches/{{branch}}/commits"},"response":[]},{"name":"Latest package","event":[{"listen":"test","script":{"type":"text/javascript","exec":["const response = pm.response.json();\r","const package = response.slice(-1)[0];\r","pm.test(\"Received package ID\", () => {\r","    pm.expect(package).to.not.be.undefined;\r","});\r","\r","let version = package.Version;\r","pm.test(\"Received version\", () => {\r","    pm.expect(version).to.not.be.undefined;\r","    if (version) {\r","        version.lastIndexOf(\".\");\r","        let packageVersion = version.substring(0, version.lastIndexOf(\".\"));\r","        let minorVersion = packageVersion.substring(packageVersion.lastIndexOf(\".\") + 1, version.length);\r","        let majorVersion = packageVersion.substring(0, packageVersion.lastIndexOf(\".\"));\r","        let newMinorVersion = parseInt(minorVersion) + 1;\r","        pm.collectionVariables.set(\"newVersion\", majorVersion + \".\" + newMinorVersion);\r","    } else {\r","        pm.collectionVariables.set(\"newVersion\", \"0.0.0\");\r","    }\r","});"]}}],"id":"72bfa229-7fd3-458e-9d62-bc061762e0c6","request":{"method":"GET","header":[{"key":"Mendix-Username","value":"{{MendixUsername}}","type":"text"},{"key":"Mendix-ApiKey","value":"{{MendixApiKey}}","type":"text"}],"url":"https://deploy.mendix.com/api/1/apps/{{AppID}}/packages"},"response":[]},{"name":"Create package","event":[{"listen":"test","script":{"type":"text/javascript","exec":["const response = pm.response.json();\r","const packageID = response.PackageId;\r","pm.test(\"Received package ID\", () => {\r","    pm.expect(packageID).to.not.be.undefined;\r","    pm.collectionVariables.set(\"packageID\", packageID);\r","});"]}}],"id":"ab27a576-b96a-4a15-af70-91d8c07e6f86","request":{"method":"POST","header":[{"key":"Mendix-Username","value":"{{MendixUsername}}","type":"text"},{"key":"Mendix-ApiKey","value":"{{MendixApiKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n     \"Branch\" : \"trunk\",\r\n     \"Revision\" :  \"{{latestRevision}}\",\r\n     \"Version\" :  \"{{newVersion}}\",\r\n     \"Description\" :  \"New minor version deployed from Postman\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://deploy.mendix.com/api/1/apps/{{AppID}}/packages"},"response":[]},{"name":"Package status","event":[{"listen":"test","script":{"type":"text/javascript","exec":["const response = pm.response.json();\r","\r","pm.test(\"Build succeeded\", function () {\r","    pm.expect(response.Status).to.equal(\"Succeeded\");\r","});\r","\r","if (response.Status !== \"Succeeded\") { \r","    console.log(\"Package is still building...\");\r","    if(response.Status === \"Failed\") {\r","        return false;\r","    }\r","    else {\r","        setTimeout(() => {}, 60000); // wait for 1 minute before retrying\r","        postman.setNextRequest(pm.info.requestId); // retry the current request\r","    }\r","}"]}}],"id":"0b8a8ba8-d5a2-4cfa-af4a-ce7fe022bca3","request":{"method":"GET","header":[{"key":"Mendix-Username","value":"{{MendixUsername}}","type":"text"},{"key":"Mendix-ApiKey","value":"{{MendixApiKey}}","type":"text"}],"url":"https://deploy.mendix.com/api/1/apps/{{AppID}}/packages/{{packageID}}"},"response":[]},{"name":"Transport package","event":[{"listen":"test","script":{"id":"740510db-5804-406c-bc04-3bc3a234162b","exec":[""],"type":"text/javascript"}}],"id":"e7ed8fd0-dec2-4635-a786-00981721f575","request":{"method":"POST","header":[{"key":"Mendix-Username","value":"{{MendixUsername}}","type":"text"},{"key":"Mendix-ApiKey","value":"{{MendixApiKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"PackageId\": \"{{packageID}}\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://deploy.mendix.com/api/1/apps/{{AppID}}/environments/{{environment}}/transport"},"response":[]},{"name":"Stop environment","event":[{"listen":"test","script":{"id":"740510db-5804-406c-bc04-3bc3a234162b","exec":[""],"type":"text/javascript"}}],"id":"089b2a42-43aa-46d6-8d4b-65fc36cd79ff","request":{"method":"POST","header":[{"key":"Mendix-Username","value":"{{MendixUsername}}","type":"text"},{"key":"Mendix-ApiKey","value":"{{MendixApiKey}}","type":"text"}],"url":"https://deploy.mendix.com/api/1/apps/{{AppID}}/environments/{{environment}}/stop"},"response":[]},{"name":"Start environment","event":[{"listen":"test","script":{"type":"text/javascript","exec":["const response = pm.response.json();\r","pm.test(\"Received JobId\", function () {\r","    let jobId = response.JobId;\r","    pm.expect(jobId).to.not.be.undefined;\r","    pm.collectionVariables.set(\"JobID\", jobId);\r","});"]}}],"id":"1f8cda81-9196-4b07-9345-4ab7b9825f63","request":{"method":"POST","header":[{"key":"Mendix-Username","value":"{{MendixUsername}}","type":"text"},{"key":"Mendix-ApiKey","value":"{{MendixApiKey}}","type":"text"}],"body":{"mode":"raw","raw":"{}","options":{"raw":{"language":"json"}}},"url":"https://deploy.mendix.com/api/1/apps/{{AppID}}/environments/{{environment}}/start"},"response":[]},{"name":"Start status","event":[{"listen":"test","script":{"type":"text/javascript","exec":["const response = pm.response.json();\r","\r","if (response.Status === \"Starting\") { \r","    console.log(\"Environment is starting...\");\r","    setTimeout(() => {\r","        postman.setNextRequest(pm.info.requestId);\r","    }, 60000);\r","    \r","}\r","else {\r","    //Stop run if the status is something else than starting\r","    postman.setNextRequest(null)\r","}\r","pm.test(\"Environment has started\", function () {\r","    pm.expect(response.Status).to.equal(\"Started\");\r","});"]}}],"id":"7e2ff5ee-f6af-4180-8ccc-2dd03a65fc11","request":{"method":"GET","header":[{"key":"Mendix-Username","value":"{{MendixUsername}}","type":"text"},{"key":"Mendix-ApiKey","value":"{{MendixApiKey}}","type":"text"}],"url":"https://deploy.mendix.com/api/1/apps/{{AppID}}/environments/{{environment}}/start/{{JobID}}"},"response":[]}],"id":"72b53646-7379-4ae4-9a71-73950922e29c"},{"name":"Redeploy last package","item":[{"name":"Latest package","event":[{"listen":"test","script":{"type":"text/javascript","exec":["const response = pm.response.json();\r","\r","\r","let packageID = response.slice(-1)[0].PackageId;\r","pm.test(\"Received package ID\", () => {\r","    pm.expect(packageID).to.not.be.undefined;\r","    pm.collectionVariables.set(\"packageID\", packageID);\r","});"]}}],"id":"00ff9cf2-b03b-4d37-9fd0-10357ae58a40","request":{"method":"GET","header":[{"key":"Mendix-Username","value":"{{MendixUsername}}","type":"text"},{"key":"Mendix-ApiKey","value":"{{MendixApiKey}}","type":"text"}],"url":"https://deploy.mendix.com/api/1/apps/{{AppID}}/packages"},"response":[]},{"name":"Transport package","event":[{"listen":"test","script":{"id":"740510db-5804-406c-bc04-3bc3a234162b","exec":[""],"type":"text/javascript"}}],"id":"d78ed580-8321-4547-b60b-dfd0dfce4555","request":{"method":"POST","header":[{"key":"Mendix-Username","value":"{{MendixUsername}}","type":"text"},{"key":"Mendix-ApiKey","value":"{{MendixApiKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"PackageId\": \"{{packageID}}\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://deploy.mendix.com/api/1/apps/{{AppID}}/environments/{{environment}}/transport"},"response":[]},{"name":"Stop environment","event":[{"listen":"test","script":{"id":"740510db-5804-406c-bc04-3bc3a234162b","exec":[""],"type":"text/javascript"}}],"id":"a5e6b651-1b83-4e13-9db1-6ddaff3ec1aa","request":{"method":"POST","header":[{"key":"Mendix-Username","value":"{{MendixUsername}}","type":"text"},{"key":"Mendix-ApiKey","value":"{{MendixApiKey}}","type":"text"}],"url":"https://deploy.mendix.com/api/1/apps/{{AppID}}/environments/{{environment}}/stop"},"response":[]},{"name":"Start environment","event":[{"listen":"test","script":{"type":"text/javascript","exec":["const response = pm.response.json();\r","pm.test(\"Received JobId\", function () {\r","    let jobId = response.JobId;\r","    pm.expect(jobId).to.not.be.undefined;\r","    pm.collectionVariables.set(\"JobID\", jobId);\r","});"]}}],"id":"9c6080ee-6e3e-467e-aeeb-b982f824ac6d","request":{"method":"POST","header":[{"key":"Mendix-Username","value":"{{MendixUsername}}","type":"text"},{"key":"Mendix-ApiKey","value":"{{MendixApiKey}}","type":"text"}],"body":{"mode":"raw","raw":"{}","options":{"raw":{"language":"json"}}},"url":"https://deploy.mendix.com/api/1/apps/{{AppID}}/environments/{{environment}}/start"},"response":[]},{"name":"Start status","event":[{"listen":"test","script":{"type":"text/javascript","exec":["const response = pm.response.json();\r","\r","if (response.Status === \"Starting\") { \r","    console.log(\"Environment is starting...\");\r","    setTimeout(() => {}, 60000);\r","    postman.setNextRequest(pm.info.requestId);\r","}\r","pm.test(\"Environment has started\", function () {\r","    pm.expect(response.Status).to.equal(\"Started\");\r","});"]}}],"id":"7d57ad3e-508a-4ec0-ba96-04c3f942d46c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Mendix-Username","value":"{{MendixUsername}}","type":"text"},{"key":"Mendix-ApiKey","value":"{{MendixApiKey}}","type":"text"}],"body":{"mode":"raw","raw":"{}","options":{"raw":{"language":"json"}}},"url":"https://deploy.mendix.com/api/1/apps/{{AppID}}/environments/{{environment}}/start/{{JobID}}"},"response":[]}],"id":"1edbc1e7-e477-47be-a315-af79d8a9c75e"},{"name":"Get all apps","event":[{"listen":"test","script":{"id":"6c40d9f5-e2c8-4da7-9ce1-77a6583ed50c","exec":[""],"type":"text/javascript"}}],"id":"6a7a77e7-17e8-4e78-ab35-8f8332eada51","request":{"method":"GET","header":[{"key":"Mendix-Username","value":"{{MendixUsername}}","type":"text"},{"key":"Mendix-ApiKey","value":"{{MendixApiKey}}","type":"text"}],"url":"https://deploy.mendix.com/api/1/apps"},"response":[]}],"event":[{"listen":"prerequest","script":{"id":"9b73ccb7-946d-4100-b663-118d83794ce9","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"22df5162-8a78-476e-9a4c-5469cdbcdec4","type":"text/javascript","exec":["pm.test(\"Status code is 200\", function () {","    pm.response.to.have.status(200);","});"]}}],"variable":[{"id":"0f5b3a70-2d85-4d84-a61c-0f4167fdf9cb","key":"MendixUsername","value":"youraccount@example.org","type":"string"},{"id":"03892745-7b95-423b-aa62-11debdebea37","key":"MendixApiKey","value":"325d83fc-37ec-11ed-a261-0242ac120002","type":"string"},{"id":"e646aad8-3b45-41ee-bd3e-971e84b6e189","key":"MendixPersonalAccessToken","value":"1lpBzlyXBu2lHSPkj6t6zLJA9FIfW0u2R8sweROzu1LUF8EBnn1lpBzlyXBu2lHSPkj6t6zLJA9FIfW0u2R8sweROzu1LUF8EBnn","type":"string"},{"id":"230f751b-ed4e-4129-ab8a-34b93c4aa1f0","key":"AppID","value":"yourapp101","type":"string"},{"id":"7cc6de35-6c3d-44e6-bd1e-717ca96eba3f","key":"ProjectID","value":"f60a8c4c-9b10-4439-9bc9-c603dfb6f19e","type":"string"},{"id":"bb27daa0-bba5-417b-87a5-4418c6a51d7c","key":"newVersion","value":"0.0.1"},{"id":"fcd303b2-cd1c-45c9-b173-1c7a2c758027","key":"branch","value":"trunk","type":"string"},{"id":"e629dbf8-049b-44df-9e60-12eb58371118","key":"JobID","value":"2f4529c2-37ec-11ed-a261-0242ac120002"},{"id":"45c908d2-a491-4ba4-acec-e5aa29cee56f","key":"latestRevision","value":""},{"id":"d3e97b29-0bfc-4c5f-9a4d-5a8b9dd042ee","key":"package","value":""},{"id":"8327c71e-5adb-42f1-8147-fc4ddb98fd4b","key":"packageID","value":""},{"id":"d74f38e4-0155-4f68-8d1e-5f21fc925b8a","key":"branchDirectory","value":""}]}