)]}'
{
  "log": [
    {
      "commit": "6fd07224ab05d53d4520345debbd7b8c512610ad",
      "tree": "5df0a7a334dad302b096c5e424165d9a109d7e9c",
      "parents": [
        "c73d63ca9efaa3a03c19df2d2fe55b3ef5161d42"
      ],
      "author": {
        "name": "Artem Panchenko",
        "email": "apanchenko@mirantis.com",
        "time": "Mon Feb 13 17:13:23 2017 +0200"
      },
      "committer": {
        "name": "Artem Panchenko",
        "email": "apanchenko@mirantis.com",
        "time": "Wed Mar 01 15:16:28 2017 +0200"
      },
      "message": "Add Calico component tests execution stage\n\nAlso added a method for tests results reporting to\nTestRail.\n\nChange-Id: I3cfcf46b8bc375b7ea730a456fd76cd84c9be746\n"
    },
    {
      "commit": "ead12d977dfc5c8bbd3b002c65387124d80f3153",
      "tree": "250ae9854412779c1d1a16f6705825cae39062a7",
      "parents": [
        "d4240b5a6ea777f86429bb9098ac9f63b0603429"
      ],
      "author": {
        "name": "Ryabin Sergey",
        "email": "sryabin@mirantis.com",
        "time": "Mon Feb 20 16:52:01 2017 +0400"
      },
      "committer": {
        "name": "Sergey Ryabin",
        "email": "sryabin@mirantis.com",
        "time": "Mon Feb 20 13:23:43 2017 +0000"
      },
      "message": "Reject k8s credentials in k8s api url\n\nChange-Id: Ia9a864a10107018d98684e3e7044b95c659cee28\n"
    },
    {
      "commit": "7c0abfe2bc316e258e1b170f347227ae0eb1bf68",
      "tree": "4602d7d18d677d8ca4704c3857ecfc5865354524",
      "parents": [
        "a78ee8d560b34b285793b5de74a43f2709eaa02f"
      ],
      "author": {
        "name": "Denis Egorenko",
        "email": "degorenko@mirantis.com",
        "time": "Tue Feb 14 15:42:02 2017 +0400"
      },
      "committer": {
        "name": "Denis Egorenko",
        "email": "degorenko@mirantis.com",
        "time": "Fri Feb 17 13:33:01 2017 +0000"
      },
      "message": "Add ability to search images by their tag\n\nChange-Id: Ic3e05896018bb160fdc6b3a9b2ed591d2b69e99f\n"
    },
    {
      "commit": "a78ee8d560b34b285793b5de74a43f2709eaa02f",
      "tree": "7c9248fbe8d8f52e8ac90ef8f795ff21d830a701",
      "parents": [
        "40d384e78dbb9bb91dffd9ea55815279c8e1b284"
      ],
      "author": {
        "name": "Ryabin Sergey",
        "email": "sryabin@mirantis.com",
        "time": "Tue Feb 07 12:52:18 2017 +0400"
      },
      "committer": {
        "name": "Ryabin Sergey",
        "email": "sryabin@mirantis.com",
        "time": "Tue Feb 14 19:10:47 2017 +0400"
      },
      "message": "ccp CI/CD object model\n\nExample usage (bvt pipeline):\n\n  def ccpCiCd \u003d new com.mirantis.mcp.CCPCICD().newInstance(this, env)\n\n  ccpCiCd.applyPipelineParameters()\n\n  ccpCiCd.fetchEnvConfiguration()\n  ccpCiCd.parametrizeConfig()\n\n  ccpCiCd.build()\n  ccpCiCd.deploy()\n  ccpCiCd.cleanup()\n\nChange-Id: Ie4a8328947f77334943b6dc6343960721985ad84\n"
    },
    {
      "commit": "40d384e78dbb9bb91dffd9ea55815279c8e1b284",
      "tree": "f6856aac8f11206b7a2f630f9c3a0fb6357b86d0",
      "parents": [
        "86e19c7e1f6843e54cffc7f33b00fca9ff9162fa"
      ],
      "author": {
        "name": "azvyagintsev",
        "email": "azvyagintsev@mirantis.com",
        "time": "Mon Feb 06 15:11:05 2017 +0200"
      },
      "committer": {
        "name": "azvyagintsev",
        "email": "azvyagintsev@mirantis.com",
        "time": "Mon Feb 06 18:21:23 2017 +0200"
      },
      "message": "Extend gitSSHCheckout\n\n  * Seperate ssh and http to new function\n  * add default behavior for protocol\n\nChange-Id: Ib3072a529c71a88e9c7b6469ef0304c5847031b4\n"
    },
    {
      "commit": "86e19c7e1f6843e54cffc7f33b00fca9ff9162fa",
      "tree": "4276cdade55cbce0017ee7ab48e622472704cc8c",
      "parents": [
        "85ae52b6580cd5584c4aacfe906b9e5e7bdf1049"
      ],
      "author": {
        "name": "Artem Panchenko",
        "email": "apanchenko@mirantis.com",
        "time": "Tue Jan 31 13:09:42 2017 +0200"
      },
      "committer": {
        "name": "Sergey Kulanov",
        "email": "skulanov@mirantis.com",
        "time": "Mon Feb 06 12:15:20 2017 +0000"
      },
      "message": "Don\u0027t override user provided by credentials\n\nThere is no need to specify user/login in repository\nURL if credentials are used.\n\nChange-Id: Id9e998e5ed618daa07f6e661de01d8280e0fa50b\n"
    },
    {
      "commit": "21c936c88c009b702a8e27ad334e906af492279a",
      "tree": "bf33d9752fb577977b265b3727317387234dd9f2",
      "parents": [
        "6e3beae2dbceba0365851badb1b399a2fc4a7e54"
      ],
      "author": {
        "name": "Sergey Kulanov",
        "email": "skulanov@mirantis.com",
        "time": "Thu Feb 02 13:43:14 2017 +0200"
      },
      "committer": {
        "name": "Sergey Kulanov",
        "email": "skulanov@mirantis.com",
        "time": "Thu Feb 02 11:49:56 2017 +0000"
      },
      "message": "Add method for jinjaTemplates rendering\n\nAlso add custom bool filter\n\nChange-Id: I69ba0bc21c325fd37108331fba86e3f66f74bcbd\n"
    },
    {
      "commit": "6e3beae2dbceba0365851badb1b399a2fc4a7e54",
      "tree": "14b98299f7d7963e6fc503853b7d3c9166c64f61",
      "parents": [
        "62747d4b5798455d50cf7afe5575788715fca18b"
      ],
      "author": {
        "name": "Denis Egorenko",
        "email": "degorenko@mirantis.com",
        "time": "Thu Feb 02 15:30:26 2017 +0400"
      },
      "committer": {
        "name": "Denis Egorenko",
        "email": "degorenko@mirantis.com",
        "time": "Thu Feb 02 15:38:18 2017 +0400"
      },
      "message": "Fix shell for kill command\n\nBase shell is not support -SIG notation, so directly\nspecify QUIT command.\n\nChange-Id: I98aa7c96f59cb366eef4f012238cdc222305c1ef\n"
    },
    {
      "commit": "62747d4b5798455d50cf7afe5575788715fca18b",
      "tree": "45c5523beb047780c1d6153138d30ca26fd858be",
      "parents": [
        "d6dc108ee1d355b4da03f42f5e43f8a98ce76fa8"
      ],
      "author": {
        "name": "Denis Egorenko",
        "email": "degorenko@mirantis.com",
        "time": "Thu Feb 02 14:23:59 2017 +0400"
      },
      "committer": {
        "name": "Denis Egorenko",
        "email": "degorenko@mirantis.com",
        "time": "Thu Feb 02 14:23:59 2017 +0400"
      },
      "message": "Kill nginx process with SIGQUIT\n\nBy default kill sends SIGTERM which doesn\u0027t propertly handled\nport release if such opened. Instead of that SIGQUIT correctly\ncloses process and releases opened by this propess ports.\n\nChange-Id: I0c513c26315ffc53303b2ea79a166d7bdf6587be\n"
    },
    {
      "commit": "d6dc108ee1d355b4da03f42f5e43f8a98ce76fa8",
      "tree": "44f52aa30d68f5cd00ace02b056499ef11ac964f",
      "parents": [
        "def4df08c6df092a88ad8d22d66b011788fd3e52"
      ],
      "author": {
        "name": "Denis Egorenko",
        "email": "degorenko@mirantis.com",
        "time": "Wed Jan 25 19:29:03 2017 +0400"
      },
      "committer": {
        "name": "Denis Egorenko",
        "email": "degorenko@mirantis.com",
        "time": "Wed Feb 01 13:13:42 2017 +0000"
      },
      "message": "Add functionaly for configuring and deploying nginx proxy\n\nChange-Id: I107e33c8fa5f4d51abb28931db1cf927cb8fe4da\n"
    },
    {
      "commit": "def4df08c6df092a88ad8d22d66b011788fd3e52",
      "tree": "4409df23b08ae9211c306391855beac0d1df164f",
      "parents": [
        "d79430f203c1deaa16f148485bfae925b37c9100"
      ],
      "author": {
        "name": "Sergey Kulanov",
        "email": "skulanov@mirantis.com",
        "time": "Wed Feb 01 14:17:46 2017 +0200"
      },
      "committer": {
        "name": "Sergey Kulanov",
        "email": "skulanov@mirantis.com",
        "time": "Wed Feb 01 14:17:46 2017 +0200"
      },
      "message": "[calico] Fix glide cache issues with libcalico-go\n\nChange-Id: Icbfcd4c789d3eb237464f5ea54d79c0748971889\n"
    },
    {
      "commit": "d79430f203c1deaa16f148485bfae925b37c9100",
      "tree": "c5f467b3e3749081026f4edb0b318cf1ccc681cd",
      "parents": [
        "70b1fe634693f9b611f38ad9de4ba4d8068d1e89"
      ],
      "author": {
        "name": "Artem Panchenko",
        "email": "apanchenko@mirantis.com",
        "time": "Wed Feb 01 00:34:21 2017 +0200"
      },
      "committer": {
        "name": "Artem Panchenko",
        "email": "apanchenko@mirantis.com",
        "time": "Wed Feb 01 12:35:58 2017 +0200"
      },
      "message": "[calico] Perform cleanup before building calico/cni\n\nSince we modify \u0027glide.lock\u0027 file manually to fetch\ndownstream libcalico-go into \u0027vendor\u0027 directory,\ngit reports that repository state is \u0027dirty\u0027. Reset\nall changes before starting binary and image build\nin order to get clean versions.\n\nChange-Id: I266c793a6c0fddbf09dc1e8aa1157a86da603b17\n"
    },
    {
      "commit": "70b1fe634693f9b611f38ad9de4ba4d8068d1e89",
      "tree": "684f541dcbfd0d9d85a7b5dba05728a70d803cd5",
      "parents": [
        "a9e6504f30f27c5d816b54aad571312fe46187b0"
      ],
      "author": {
        "name": "Sergey Reshetnyak",
        "email": "sreshetniak@mirantis.com",
        "time": "Tue Jan 31 22:27:06 2017 +0300"
      },
      "committer": {
        "name": "Sergey Reshetnyak",
        "email": "sreshetniak@mirantis.com",
        "time": "Tue Jan 31 22:27:33 2017 +0300"
      },
      "message": "Move yaml helpers to common module\n\nChange-Id: I99ca47817b9d6913cd240d1533d68f74916a342c\n"
    },
    {
      "commit": "a9e6504f30f27c5d816b54aad571312fe46187b0",
      "tree": "bc24847c31cf655a018cd6624b9b2933eb0b1d43",
      "parents": [
        "d10610b909b6364a7666eba98229614cc59ad4f2"
      ],
      "author": {
        "name": "Sergey Kulanov",
        "email": "skulanov@mirantis.com",
        "time": "Tue Jan 31 14:20:24 2017 +0200"
      },
      "committer": {
        "name": "Sergey Kulanov",
        "email": "skulanov@mirantis.com",
        "time": "Tue Jan 31 14:20:24 2017 +0200"
      },
      "message": "[calico] Set dockerRepo as mandatory parameter\n\ndockerRepo should be an artifactory repo which is not virtual and\nthis paramter must be mandatory\n\nChange-Id: I4da7659287e3161d8407b6e8eb6fe2eaeed31d99\n"
    },
    {
      "commit": "d10610b909b6364a7666eba98229614cc59ad4f2",
      "tree": "251b676ea575a0eadf01b2b331c5f5b4ea340be9",
      "parents": [
        "bc13d2645229d20c8fc4aae9d2c6b3b2c20dbc89"
      ],
      "author": {
        "name": "Artem Panchenko",
        "email": "apanchenko@mirantis.com",
        "time": "Fri Jan 27 18:09:52 2017 +0200"
      },
      "committer": {
        "name": "Artem Panchenko",
        "email": "apanchenko@mirantis.com",
        "time": "Fri Jan 27 18:09:52 2017 +0200"
      },
      "message": "Fix gerrit credentials in Calico module\n\nReplace temporary used \u0027credentialsId\u0027 by a\nproduction one.\n\nChange-Id: I0cf0a27202df8e053ecb9ec0f65b2a0f6bd58160\n"
    },
    {
      "commit": "bc13d2645229d20c8fc4aae9d2c6b3b2c20dbc89",
      "tree": "1db7756109e84eb0ff7c0447c79a4f298c9c555d",
      "parents": [
        "c4cd5b70fe1607ba371f3061d27041530116e312"
      ],
      "author": {
        "name": "Artem Panchenko",
        "email": "apanchenko@mirantis.com",
        "time": "Fri Jan 20 12:40:58 2017 +0200"
      },
      "committer": {
        "name": "Artem Panchenko",
        "email": "apanchenko@mirantis.com",
        "time": "Fri Jan 27 12:57:13 2017 +0200"
      },
      "message": "Move Calico test/build/publish stuff to library\n\nSince we use the same stages by different Calico\npipelines, moved them to library in order to\nmake DRY jobs.\n\nChange-Id: Ibf4dc7712e463cb0e137f1de87289e30dff46fa1\n"
    },
    {
      "commit": "b36e36ea262faf333e4a283fc62987110df145fb",
      "tree": "e24f6b3e5009a716d863f34dfbdf6d8ca3c27f61",
      "parents": [
        "b1aa0ff6d49751d98f41c35ee493619d58100b1b"
      ],
      "author": {
        "name": "Sergey Kulanov",
        "email": "skulanov@mirantis.com",
        "time": "Mon Jan 23 18:26:40 2017 +0200"
      },
      "committer": {
        "name": "Sergey Kulanov",
        "email": "skulanov@mirantis.com",
        "time": "Mon Jan 23 18:26:40 2017 +0200"
      },
      "message": "[k8s-slave] Running function can potentially return values\n\nWe can expect reutrning values from function which is running\non k8s cluster\n\nExample:\n  def artifacts \u003d common.runOnKubernetes([\n    function : this.\u0026buildCalicoContainers,\n    jnlpImg  : jnlpSlaveImg,\n    slaveImg : jenkinsSlaveImg\n  ])\n  // run system test\n  node (\u0027calico\u0027){\n    stage (\"Run system tests\") {\n       build job: \u0027calico.system-test.deploy\u0027, propagate: true, wait: true, parameters:\n        [\n            [$class: \u0027StringParameterValue\u0027, name: \u0027CALICO_NODE_IMAGE_REPO\u0027, value: artifacts[\"CALICO_NODE_IMAGE_REPO\"]],\n            [$class: \u0027StringParameterValue\u0027, name: \u0027CALICOCTL_IMAGE_REPO\u0027, value: artifacts[\"CALICOCTL_IMAGE_REPO\"]],\n            [$class: \u0027StringParameterValue\u0027, name: \u0027CALICO_VERSION\u0027, value: artifacts[\"CALICO_VERSION\"]],\n            [$class: \u0027StringParameterValue\u0027, name: \u0027MCP_BRANCH\u0027, value: \u0027mcp\u0027],\n        ]\n    }\n  }\n\nChange-Id: I058537700e0bec06d9e14b422d452e2e7eb45e23\n"
    },
    {
      "commit": "b1aa0ff6d49751d98f41c35ee493619d58100b1b",
      "tree": "930b089887a5e22003240ab2a69023431ef87ca3",
      "parents": [
        "e897d8f3b7e343516fb7a45b7b6a4f6a952405c5"
      ],
      "author": {
        "name": "Sergey Kulanov",
        "email": "skulanov@mirantis.com",
        "time": "Mon Jan 23 17:48:44 2017 +0200"
      },
      "committer": {
        "name": "Sergey Kulanov",
        "email": "skulanov@mirantis.com",
        "time": "Mon Jan 23 17:48:44 2017 +0200"
      },
      "message": "Fix type if instead of id\n\nChange-Id: I59ef5a2f05d7f9b1fc82e84075e9e18c5e4d3491\n"
    },
    {
      "commit": "e897d8f3b7e343516fb7a45b7b6a4f6a952405c5",
      "tree": "15c19281a2b99d570780aa487eb620ede0d6a7fb",
      "parents": [
        "e9e6faaed041bd3ab1813f6c366f63e6259f390f"
      ],
      "author": {
        "name": "Sergey Kulanov",
        "email": "skulanov@mirantis.com",
        "time": "Mon Jan 23 16:44:03 2017 +0200"
      },
      "committer": {
        "name": "Sergey Kulanov",
        "email": "skulanov@mirantis.com",
        "time": "Mon Jan 23 15:18:11 2017 +0000"
      },
      "message": "Allow to run code on k8s-slave\n\nRun function on k8s cluster\n\n@param config LinkedHashMap\n   config includes next parameters:\n   - label, pod label\n   - function, code that should be run on k8s cluster\n   - jnlpImg, jnlp slave image\n   - slaveImg, slave image\n\nUsage example:\n def runFunc \u003d new com.mirantis.mcp.Common()\n  runFunc.runOnKubernetes ([\n    function : this.\u0026buildCalicoContainers,\n    slaveImg : \u0027sandbox-docker-dev-local.docker.mirantis.net/skulanov/jenkins-slave-images/calico-slave:1\u0027,\n    jnlpImg: \u0027docker-prod-virtual.docker.mirantis.net/mirantis/jenkins-slave-images/jnlp-slave:latest\u0027\n  ])\n\n //promotion example. In case of promotion we need only jnlp container\n def runFunc \u003d new com.mirantis.mcp.Common()\n runFunc.runOnKubernetes ([\n   jnlpImg: \u0027docker-prod-virtual.docker.mirantis.net/mirantis/jenkins-slave-images/jnlp-slave:latest\u0027,\n   function : this.\u0026promote_artifacts\n ])\n\nChange-Id: I167157a70d732455e5263d0a5e97854e5dc6a248\n"
    },
    {
      "commit": "88054e65efdfa90da645f59313d6dac9804ceda7",
      "tree": "f219f9382d146f30e6e97a3138b2dbe665760e31",
      "parents": [
        "e945ec9b39a50c8173f409cd653097023c66bcb9"
      ],
      "author": {
        "name": "Sergey Kulanov",
        "email": "skulanov@mirantis.com",
        "time": "Tue Jan 17 16:21:54 2017 +0200"
      },
      "committer": {
        "name": "Sergey Kulanov",
        "email": "skulanov@mirantis.com",
        "time": "Tue Jan 17 16:34:04 2017 +0200"
      },
      "message": "Add ability for anonymous gerrit code checkout\n\nChange-Id: I80eb5c651ff8a481b60616cb7f3170125e22387a\n"
    },
    {
      "commit": "e945ec9b39a50c8173f409cd653097023c66bcb9",
      "tree": "e4490dcb3a41bef4ece84541f48e04d1ea1d21fc",
      "parents": [
        "f89a188e398bfb1acbc803e655054df89077f5c8"
      ],
      "author": {
        "name": "Denis Egorenko",
        "email": "degorenko@mirantis.com",
        "time": "Wed Dec 21 19:15:10 2016 +0400"
      },
      "committer": {
        "name": "Denis Egorenko",
        "email": "degorenko@mirantis.com",
        "time": "Fri Jan 13 09:04:28 2017 +0000"
      },
      "message": "Switch *Checkout functions from closure to simple function\n\nBecause of scope visible problems for groovy closure in pipelines\nis better to switch to simple function.\n\nChange-Id: I993b2ba3cf311205e692c31e962f6a92b0a68100\n"
    },
    {
      "commit": "bb1f8795e1c4d5dd510931abf1bcb9c6dd1e4582",
      "tree": "58eb8af0cc54194d50a7582281fe7b2cfb2839e3",
      "parents": [
        "2bc89179c01bf0f5d9befd0f32a3d56f58e2725f"
      ],
      "author": {
        "name": "Denis Egorenko",
        "email": "degorenko@mirantis.com",
        "time": "Wed Dec 21 13:13:24 2016 +0400"
      },
      "committer": {
        "name": "Denis Egorenko",
        "email": "degorenko@mirantis.com",
        "time": "Wed Dec 21 13:41:42 2016 +0000"
      },
      "message": "Allow to wipe workspace before cloning for gitSSHCheckout for Mirantis package\n\nPatch I0a1c8491584b7e50140b738303bad9240fd7f347 missed this change for\nmain lib package, so let\u0027s add it, because basic \u0027vars\u0027 functions will\nbe removed.\n\nChange-Id: Ic1dec6bd48ca82d87a730e85b4730d25cbcafa8f\n"
    },
    {
      "commit": "2bc89179c01bf0f5d9befd0f32a3d56f58e2725f",
      "tree": "5e41fec8d8135aa55b39060a591900e878c26544",
      "parents": [
        "0327d507ee3c32240bb21c7b9280c8ec4a0cf864"
      ],
      "author": {
        "name": "Denis Egorenko",
        "email": "degorenko@mirantis.com",
        "time": "Wed Dec 21 17:31:19 2016 +0400"
      },
      "committer": {
        "name": "Denis Egorenko",
        "email": "degorenko@mirantis.com",
        "time": "Wed Dec 21 17:33:27 2016 +0400"
      },
      "message": "Add missed definition for Docker function\n\nChange-Id: I7e07ff3d1ad0fb518c1762d77288babeaaeeccc5\n"
    },
    {
      "commit": "8c60655dc08ab26968359621cba838d6a4f1eddb",
      "tree": "a14d3ee0429926f2c218e7197d9df9db0eee54ec",
      "parents": [
        "33043c1cfd630c7f16db7fb358e647168eef2e5a"
      ],
      "author": {
        "name": "Denis Egorenko",
        "email": "degorenko@mirantis.com",
        "time": "Wed Dec 07 14:22:50 2016 +0400"
      },
      "committer": {
        "name": "Denis Egorenko",
        "email": "degorenko@mirantis.com",
        "time": "Mon Dec 12 18:18:40 2016 +0400"
      },
      "message": "Refactor var functions of Pipeline library\n\nMove all named functions under com.mirantis.mcp package\n\nChange-Id: I98002e038173fce2325d069e951b221c61109e69\n"
    },
    {
      "commit": "4d3951c56113d0a970e7f497bb79633466b18681",
      "tree": "5db08c8fe4d7cbc05c62538dadba0646640fe01f",
      "parents": [
        "1c15df01827e560293863531abf9a8631c564473"
      ],
      "author": {
        "name": "Sergey Kulanov",
        "email": "skulanov@mirantis.com",
        "time": "Thu Nov 24 13:58:15 2016 +0200"
      },
      "committer": {
        "name": "Sergey Kulanov",
        "email": "skulanov@mirantis.com",
        "time": "Thu Nov 24 13:58:15 2016 +0200"
      },
      "message": "Add com.mirantis.targetImg property to docker image property\n\ncom.mirantis.targetImg property allows to search docker\nartifacts by image name, for example\n\n  def properties \u003d [\n    \u0027com.mirantis.gerritChangeId\u0027: \"${env.GERRIT_CHANGE_ID}\",\n    \u0027com.mirantis.gerritPatchsetNumber\u0027: \"${env.GERRIT_PATCHSET_NUMBER}\",\n    \u0027com.mirantis.gerritChangeNumber\u0027 : \"${env.GERRIT_CHANGE_NUMBER}\",\n    \u0027com.mirantis.targetImg\u0027: \"${projectNamespace}/calico/node\"\n  ]\n\nChange-Id: I8f6cdb0b90edb263e2d24e987eee8b8be2e54df3\n"
    },
    {
      "commit": "8cd6d22a439db05e6edb5fab35d53671e8c6ea20",
      "tree": "a6c18e092a3b23af78631bfeca0353c44ce4405b",
      "parents": [
        "8567272fbc1f2df7e1faafb00ab05e8b5a700c8b"
      ],
      "author": {
        "name": "Sergey Kulanov",
        "email": "skulanov@mirantis.com",
        "time": "Thu Nov 17 13:42:47 2016 +0200"
      },
      "committer": {
        "name": "Sergey Kulanov",
        "email": "skulanov@mirantis.com",
        "time": "Thu Nov 17 13:42:47 2016 +0200"
      },
      "message": "Extend uploadImageToArtifactory function\n\nWe need to publish BuildInfo object as well (as for binary) for\ndocker images.\n1. Replace:\n    String artifactoryURL\n   by\n    ArtifactoryServer server\n2. If buildInfo is defined, let\u0027s publish it to artifactory\n\nChange-Id: Iadb724307b81a8f40cf1852b909bbb25208dc143\n"
    },
    {
      "commit": "8567272fbc1f2df7e1faafb00ab05e8b5a700c8b",
      "tree": "84ffbf23fb44772df36b0bd7db1db6b98f5d5392",
      "parents": [
        "c70f1c21c8e9ebd7776ed4c065fd1aa05115ba3c"
      ],
      "author": {
        "name": "Sergey Kulanov",
        "email": "skulanov@mirantis.com",
        "time": "Wed Nov 16 17:46:58 2016 +0200"
      },
      "committer": {
        "name": "Sergey Kulanov",
        "email": "skulanov@mirantis.com",
        "time": "Wed Nov 16 19:05:22 2016 +0200"
      },
      "message": "Update getGitDescribe function\n\nParametrize getGitDescribe(Boolean useShort \u003d false):\n  useShort Boolean, returns String in format:\n       false (Default): {gitTag}-{numCommits}-g{gitsha}\n       true:            {gitTag}-{numCommits}\n\nChange-Id: Ibf2e90f2fdef0611c3622b817d5f4e174fa90200\n"
    },
    {
      "commit": "c70f1c21c8e9ebd7776ed4c065fd1aa05115ba3c",
      "tree": "661410ac8d0e544c6d19e6284b96531557662a3b",
      "parents": [
        "edba5a547578272921ae33929424e36173f68ca1"
      ],
      "author": {
        "name": "Sergey Kulanov",
        "email": "skulanov@mirantis.com",
        "time": "Wed Nov 16 13:05:20 2016 +0200"
      },
      "committer": {
        "name": "Sergey Kulanov",
        "email": "skulanov@mirantis.com",
        "time": "Wed Nov 16 13:05:20 2016 +0200"
      },
      "message": "Artifactory refactoring\n\n* Define new mandatory properties in artifactory:\n  \u0027com.mirantis.buildName\u0027:\"${env.JOB_NAME}\"\n  \u0027com.mirantis.buildNumber\u0027: \"${env.BUILD_NUMBER}\"\n\n* All mandatory properties MUST be the same both for binary\n  and docker images\n\n* Remove overloaded uriByProperties() with String as second\n  paramter, it\u0027s better to use the original one with LinkedHashMap\n\nChange-Id: I2c6ea7e4fd035a1b68122ee4bc00562c0f4d8814\n"
    },
    {
      "commit": "edba5a547578272921ae33929424e36173f68ca1",
      "tree": "3c5a6babe9cb57de0de25600d1ef632a6a1e37f2",
      "parents": [
        "91d8def7ed5c57ea5d4cadf375ecb7e8a9fb6105"
      ],
      "author": {
        "name": "Denis Egorenko",
        "email": "degorenko@mirantis.com",
        "time": "Tue Nov 15 19:55:56 2016 +0300"
      },
      "committer": {
        "name": "Denis Egorenko",
        "email": "degorenko@mirantis.com",
        "time": "Tue Nov 15 19:58:00 2016 +0300"
      },
      "message": "Update MCPArtifactory package according to actual code in Tools\n\nMinor update of uploadImageToArtifactory function:\n- explicity set type of function parameters;\n- remove external ENV var;\n- add reminder what should be improved;\n\nChange-Id: I116294a317dcf610f9fb4043c48593ea96212b04\n"
    },
    {
      "commit": "91d8def7ed5c57ea5d4cadf375ecb7e8a9fb6105",
      "tree": "e5d080c530b30b16e61a5c38a66938a1c9fa79f3",
      "parents": [
        "90d4e679b3ced71175587ba95dba99635ace4df5"
      ],
      "author": {
        "name": "Sergey Kulanov",
        "email": "skulanov@mirantis.com",
        "time": "Tue Nov 15 13:53:17 2016 +0200"
      },
      "committer": {
        "name": "Sergey Kulanov",
        "email": "skulanov@mirantis.com",
        "time": "Tue Nov 15 15:42:12 2016 +0200"
      },
      "message": "Fix uploadBinariesToArtifactory function\n\nChange-Id: I51eac8b39d772dc84a6166f5d66c7e8f316afe41\n"
    },
    {
      "commit": "90d4e679b3ced71175587ba95dba99635ace4df5",
      "tree": "9575beb9488f81e5bf5746e5a5fa986cfac126fc",
      "parents": [
        "b28156cd51cef8f316f4fe339f77c1b0fc230b46"
      ],
      "author": {
        "name": "Ruslan Kamaldinov",
        "email": "rkamaldinov@mirantis.com",
        "time": "Fri Nov 11 18:31:00 2016 +0300"
      },
      "committer": {
        "name": "Ruslan Kamaldinov",
        "email": "rkamaldinov@mirantis.com",
        "time": "Mon Nov 14 18:55:27 2016 +0300"
      },
      "message": "Refactor structure of Pipeline library\n\n* Moved everything under com.mirantis.mcp package\n* Functions are grouped under different files, each with specific\n  functionality (e.g Artifactory, Docker, Git, etc)\n* Tools.groovy remains as is to avoid breaking existing jobs that\n  use it\n\nNext steps:\n* Modify existing pipelines to use functions from new package\n* Gradually get rid of Tools.groovy\n\nChange-Id: I56386f994666baa1c6db51b27beef4de4284ecb8\n"
    }
  ]
}
