)]}'
{
  "log": [
    {
      "commit": "b20977f95fab5352dce4d6952fd3ae5bdee90beb",
      "tree": "0472e080372deed9eddda3858aa117142cf542e7",
      "parents": [
        "1ae8cce16505639cfd17a41e2d260c1e9c5a6acd",
        "cb0fa4011fb5f8336f84cf884be6e777d6a6d2c3"
      ],
      "author": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Fri Mar 01 08:35:20 2024 +0100"
      },
      "committer": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Fri Mar 01 08:35:20 2024 +0100"
      },
      "message": "Merge branch \u0027stable-3.9\u0027\n\n* stable-3.9:\n  TestEventPublisher: double wait for event to 1000ms\n  Adapt to the new Response API\n  Add Jenkins pipeline for CI/CD validation with Gerrit-CI\n\nChange-Id: Ic8ac5520e909b0b8ac4ee4d3366011aaeb5be082\n"
    },
    {
      "commit": "cb0fa4011fb5f8336f84cf884be6e777d6a6d2c3",
      "tree": "0472e080372deed9eddda3858aa117142cf542e7",
      "parents": [
        "348e9f6294f6bfba1beacfd10a5ccc38f7d6fc88"
      ],
      "author": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Thu Feb 15 15:19:10 2024 +0100"
      },
      "committer": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Fri Feb 16 13:35:20 2024 +0000"
      },
      "message": "TestEventPublisher: double wait for event to 1000ms\n\nSlower CI machines seems to need more time before the event is\npublished.\n\nChange-Id: Icb4d04830c245cb057b53cdf557f8b589375b290\n"
    },
    {
      "commit": "348e9f6294f6bfba1beacfd10a5ccc38f7d6fc88",
      "tree": "642b2225de1ac56f7da9f8f892682a7c022b1857",
      "parents": [
        "af6e9b1b7be605e8ed1487b7249f4719f4a057fe"
      ],
      "author": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Wed Feb 14 10:13:51 2024 +0100"
      },
      "committer": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Fri Feb 16 12:40:33 2024 +0000"
      },
      "message": "Adapt to the new Response API\n\nRequires an Override of abstract headers() method.\n\nChange-Id: If3e9724141f31d362a486aabdc181ad334fffc4d\n"
    },
    {
      "commit": "af6e9b1b7be605e8ed1487b7249f4719f4a057fe",
      "tree": "c3435afcd2cca3a97ca8669e9f2caeb9971bfc04",
      "parents": [
        "1ae8cce16505639cfd17a41e2d260c1e9c5a6acd",
        "d051247872ad792ff96a60a14bd3c8c48e6a7d8c"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Wed Feb 14 11:43:50 2024 +0000"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Wed Feb 14 11:43:50 2024 +0000"
      },
      "message": "Merge branch \u0027stable-3.8\u0027 into stable-3.9\n\n* stable-3.8:\n  Add Jenkins pipeline for CI/CD validation with Gerrit-CI\n\nChange-Id: I7acfe1dfe68b58ca989a6e90ea3a3b5e51438885\n"
    },
    {
      "commit": "d051247872ad792ff96a60a14bd3c8c48e6a7d8c",
      "tree": "c3435afcd2cca3a97ca8669e9f2caeb9971bfc04",
      "parents": [
        "1ae8cce16505639cfd17a41e2d260c1e9c5a6acd"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Tue Feb 13 15:22:59 2024 +0000"
      },
      "committer": {
        "name": "Sven Selberg",
        "email": "sven.selberg@axis.com",
        "time": "Wed Feb 14 08:42:04 2024 +0000"
      },
      "message": "Add Jenkins pipeline for CI/CD validation with Gerrit-CI\n\nChange-Id: I956a2b2c513eea9ca5a1c24ed4e5260278d3faad\n"
    },
    {
      "commit": "1ae8cce16505639cfd17a41e2d260c1e9c5a6acd",
      "tree": "fa28bfbf45162a291b674c3324d4d5c7cef64494",
      "parents": [
        "bee717fef524f33d199e2ccf772db75a8abc09d2"
      ],
      "author": {
        "name": "David Åkerman",
        "email": "davidak@axis.com",
        "time": "Tue Oct 24 15:22:43 2023 +0200"
      },
      "committer": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Mon Feb 05 16:13:13 2024 +0100"
      },
      "message": "Retry to publish events indefinitely\n\nWhen the plugin receives a ShutdownSignalException due to flaky LDAP\nconnections returning 403 Forbidden, it should not stop attempting to\npublish events. Instead enter a 30s retry loop.\n\nThis will improve resiliency to network shakiness.\n\nSolves: Jira GER-2002\nChange-Id: Ia723c30099f17568a534f11b120088b14fe00a8d\n"
    },
    {
      "commit": "bee717fef524f33d199e2ccf772db75a8abc09d2",
      "tree": "0093d7b9f61c07eaaafc7db1c6c08c77c2aa5219",
      "parents": [
        "cb8ea2a7e2edc3a31f1ed3c8b1fa86b8f374c995"
      ],
      "author": {
        "name": "David Åkerman",
        "email": "davidak@axis.com",
        "time": "Thu Aug 03 16:03:59 2023 +0200"
      },
      "committer": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Mon Feb 05 16:13:13 2024 +0100"
      },
      "message": "Adapt events-eiffel for stable-3.8\n\nSolves: Jira GER-2331\nChange-Id: I9e881327eba05dfefad4a92f4736991fd86d091e\n"
    },
    {
      "commit": "cb8ea2a7e2edc3a31f1ed3c8b1fa86b8f374c995",
      "tree": "0093d7b9f61c07eaaafc7db1c6c08c77c2aa5219",
      "parents": [
        "e31966484e3263412f7e89133457718c2c77c723"
      ],
      "author": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Thu Sep 07 14:32:14 2023 +0200"
      },
      "committer": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Mon Feb 05 16:13:13 2024 +0100"
      },
      "message": "about.md: Add supported eiffel editions\n\nSolves: Jira GER-2365\nChange-Id: I24587a2bf4d67875098aea910736a2e1be2795e5\n"
    },
    {
      "commit": "e31966484e3263412f7e89133457718c2c77c723",
      "tree": "3bc69f49a4d761b8a701e87a909bb56762c6bd3a",
      "parents": [
        "b09b5cc8590f1d71bf246550dab991ac05bc1282"
      ],
      "author": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Thu Sep 07 14:24:34 2023 +0200"
      },
      "committer": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Mon Feb 05 16:13:13 2024 +0100"
      },
      "message": "setup.md: Add some notes about tuning\n\nSolves: Jira GER-2365\nChange-Id: I17393eb0439a689bb7eaef7ee0c3dcbf846a19f1\n"
    },
    {
      "commit": "b09b5cc8590f1d71bf246550dab991ac05bc1282",
      "tree": "d2a2165ec7eadc13b6b570afd9d4d806688275aa",
      "parents": [
        "c1b43233207d7707cd242df98a0241428f4ee0d5"
      ],
      "author": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Tue Sep 05 16:25:59 2023 +0200"
      },
      "committer": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Mon Feb 05 16:13:08 2024 +0100"
      },
      "message": "Doc: add architecture documentation\n\nSolves: Jira GER-2365\nChange-Id: I52ebdc2441d7192682de884d7596448b8b3e1b3f\n"
    },
    {
      "commit": "c1b43233207d7707cd242df98a0241428f4ee0d5",
      "tree": "b241dd1ce4cf55b3d88cee59714b2e30b72ec33c",
      "parents": [
        "e4601b45d2007a6c41a9ed422be75af4a6865a26"
      ],
      "author": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Tue Sep 05 14:21:44 2023 +0200"
      },
      "committer": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Mon Feb 05 15:32:32 2024 +0100"
      },
      "message": "Docs: Describe the basic principles of Eiffel events\n\nSolves: Jira GER-2365\nChange-Id: Ibc6c57d6509d30f5d9c923e2efb799828d970ba4\n"
    },
    {
      "commit": "e4601b45d2007a6c41a9ed422be75af4a6865a26",
      "tree": "540e65d92f0c56e06a4234a75b4979cc034a921a",
      "parents": [
        "a5ff6de5bddee1c38abbf7157cc85ea39bfd102d"
      ],
      "author": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Fri Sep 01 15:13:24 2023 +0200"
      },
      "committer": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Thu Sep 07 15:37:17 2023 +0200"
      },
      "message": "setup.md: Document external requirements\n\nSolves: Jira GER-2365\nChange-Id: Ibbc6d45a7d01a92df6b17d2272f47f8eb08e6654\n"
    },
    {
      "commit": "a5ff6de5bddee1c38abbf7157cc85ea39bfd102d",
      "tree": "568b32a4dcad5ff7ad4e44d6a822fff1fde9a3be",
      "parents": [
        "48fa4b868dcc3918fa3f78c8fc93b6b5ca98cd15"
      ],
      "author": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Fri Sep 01 15:12:29 2023 +0200"
      },
      "committer": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Fri Sep 01 15:12:29 2023 +0200"
      },
      "message": "about.md: Link to Eiffel and mention tag events\n\nSolves: Jira GER-2365\nChange-Id: If8f145f04858b5d7fa023035c171f23c2fae95c7\n"
    },
    {
      "commit": "48fa4b868dcc3918fa3f78c8fc93b6b5ca98cd15",
      "tree": "27fdb7096c91239e048fcb3ea03f9e9dc815001e",
      "parents": [
        "5f912203b3e62aa63fb873dc46321b2f19a65e17"
      ],
      "author": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Fri Sep 01 10:38:50 2023 +0200"
      },
      "committer": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Fri Sep 01 10:38:50 2023 +0200"
      },
      "message": "Doc: Add link to GoER API in config.md\n\nSolves: Jira GER-2365\nChange-Id: I3f502af739d890bc1f45d33025acadf9ab128e69\n"
    },
    {
      "commit": "5f912203b3e62aa63fb873dc46321b2f19a65e17",
      "tree": "a652be079ce0b39d61c520c848e1d911fadc1b5a",
      "parents": [
        "83a541d4e6c38e4d9fc11124585fc8a065479ecc"
      ],
      "author": {
        "name": "Rikard Almgren",
        "email": "rikardal@axis.com",
        "time": "Thu Mar 30 16:49:16 2023 +0200"
      },
      "committer": {
        "name": "Rikard Almgren",
        "email": "rikardal@axis.com",
        "time": "Thu Mar 30 16:49:16 2023 +0200"
      },
      "message": "Stop logging no-ops as Info\n\nWe don\u0027t really need to know that everything is done, so we can keep\nthis at FINE instead of INFO.\n\nWe can always tweak log-levels if we want this info back.\n\nSolves: Jira GER-2225\nChange-Id: If3004c7b67b991c4ec482c4c3d3594612a4fc886\n"
    },
    {
      "commit": "83a541d4e6c38e4d9fc11124585fc8a065479ecc",
      "tree": "9b1f1e9447dacafea9235a22e8b1269cd5007360",
      "parents": [
        "d471fd07091f616ab278ab93e03dcd9d08ab3506"
      ],
      "author": {
        "name": "Rikard Almgren",
        "email": "rikardal@axis.com",
        "time": "Wed Mar 29 09:40:00 2023 +0200"
      },
      "committer": {
        "name": "Rikard Almgren",
        "email": "rikardal@axis.com",
        "time": "Wed Mar 29 14:14:53 2023 +0200"
      },
      "message": "Stop logging existing artifacts as Warning\n\nWe don\u0027t really care if they already exist.\n\nSolves: Jira GER-2216\nChange-Id: Ie41a8b0ac1330db0b1c2f3ac0131f944aeb64f2e\n"
    },
    {
      "commit": "d471fd07091f616ab278ab93e03dcd9d08ab3506",
      "tree": "cf806bd80f1aefe9cad98b1a7c312a67b5f22146",
      "parents": [
        "30f9bced50ec6141af583f6761afd3fc87eb96d9"
      ],
      "author": {
        "name": "Rikard Almgren",
        "email": "rikardal@axis.com",
        "time": "Wed Mar 29 11:43:49 2023 +0200"
      },
      "committer": {
        "name": "Rikard Almgren",
        "email": "rikardal@axis.com",
        "time": "Wed Mar 29 12:31:42 2023 +0200"
      },
      "message": "Fix FloggerLogString error\n\n* Arguments to log(String) must be compile-time constants or parameters\nannotated with @CompileTimeConstant. If possible, use Flogger\u0027s\nformatting log methods instead.\n\nSolves: Jira GER-2218\nChange-Id: I116bcfaee78a22cabb3fc6ce86dd2c3794dc02c0\n"
    },
    {
      "commit": "30f9bced50ec6141af583f6761afd3fc87eb96d9",
      "tree": "30c3f4dd89e2d43a8aa62462950a81b4f9b6eacb",
      "parents": [
        "3bdbe074a6cccc25c65a7200cf43e862831f6a2b"
      ],
      "author": {
        "name": "David Åkerman",
        "email": "davidak@axis.com",
        "time": "Tue Nov 29 13:06:27 2022 +0100"
      },
      "committer": {
        "name": "David Åkerman",
        "email": "davidak@axis.com",
        "time": "Fri Dec 23 16:33:19 2022 +0100"
      },
      "message": "Adapt events-eiffel for stable-3.7\n\n* Fix test sccFromChangeRevCommitThatIsNotCurrent that used\ntimestamp of current patchset when it was suppose to use\ntimestamp of the previous patchset.\n\nSolves: Jira GER-2089\nChange-Id: I1ec536724fb40c6c09a02c33772bba949e984754\n"
    },
    {
      "commit": "3bdbe074a6cccc25c65a7200cf43e862831f6a2b",
      "tree": "05535ccc46c95dc5cc8fccd3745541aa45e513a6",
      "parents": [
        "3f079b6d880db9a48d1267f79f962114d5ada206"
      ],
      "author": {
        "name": "David Åkerman",
        "email": "davidak@axis.com",
        "time": "Mon Oct 31 13:38:58 2022 +0100"
      },
      "committer": {
        "name": "David Åkerman",
        "email": "davidak@axis.com",
        "time": "Tue Nov 08 13:07:41 2022 +0100"
      },
      "message": "Enable peer verification of remote RabbitMq server\n\nBy checking the received certificate and fail to make a connection\nif the verification fail.\n\nSolves: Jira GER-1791\nChange-Id: Ibb38a84b48039b62077939592425007cb23335bd\n"
    },
    {
      "commit": "3f079b6d880db9a48d1267f79f962114d5ada206",
      "tree": "98f3b3992a4df4c40cdd38a5c71d249745248e51",
      "parents": [
        "376c2c04319a3385f53d9d9763bf092df0702144"
      ],
      "author": {
        "name": "David Åkerman",
        "email": "davidak@axis.com",
        "time": "Fri Sep 30 10:58:13 2022 +0200"
      },
      "committer": {
        "name": "David Åkerman",
        "email": "davidak@axis.com",
        "time": "Tue Oct 04 16:38:42 2022 +0200"
      },
      "message": "Remove latest patchset assumption when creating SCC events.\n\nWe assumed that patchsets we created SCC events for always was the\nlatest patchset. This is not true. This new code use the patchset-data\nfor the correct commit instead of the latest patchset.\n\nSolves: Jira RNDTS-4243\nChange-Id: I33570906fb55b7a1cf5d0788c8e72bc1090316af\n"
    },
    {
      "commit": "376c2c04319a3385f53d9d9763bf092df0702144",
      "tree": "80d6309f922efffff719c97e9149e2bd210ef374",
      "parents": [
        "837a99717cf8a82d783d56383466429351344981"
      ],
      "author": {
        "name": "David Åkerman",
        "email": "davidak@axis.com",
        "time": "Tue Sep 06 15:25:41 2022 +0200"
      },
      "committer": {
        "name": "David Åkerman",
        "email": "davidak@axis.com",
        "time": "Tue Sep 06 15:25:41 2022 +0200"
      },
      "message": "Update All-Projects config documentation\n\nSolves: Jira GER-1786\nChange-Id: I635b10895cbb4d91df0ae81624258f19719a332a\n"
    },
    {
      "commit": "837a99717cf8a82d783d56383466429351344981",
      "tree": "17fb1694cac7d19bafd9a8f5f933d37a693dd2dd",
      "parents": [
        "a6353f6b7c1bad2460adf5d9955789b39945c78b"
      ],
      "author": {
        "name": "David Åkerman",
        "email": "davidak@axis.com",
        "time": "Fri Aug 26 10:09:57 2022 +0200"
      },
      "committer": {
        "name": "David Åkerman",
        "email": "davidak@axis.com",
        "time": "Fri Aug 26 13:14:17 2022 +0200"
      },
      "message": "Change from userName to username because it is one word\n\nSolves: Jira GER-1964\nChange-Id: If2e1e3bb15a4475d8ef797e17ea57d8388111d0b\n"
    },
    {
      "commit": "a6353f6b7c1bad2460adf5d9955789b39945c78b",
      "tree": "55a558c576c828d76466ea6da7108641286d4daf",
      "parents": [
        "2b05dcee53e00394b29fda4b9a2cb015e23ed310"
      ],
      "author": {
        "name": "David Åkerman",
        "email": "davidak@axis.com",
        "time": "Mon Aug 22 15:16:53 2022 +0200"
      },
      "committer": {
        "name": "David Åkerman",
        "email": "davidak@axis.com",
        "time": "Fri Aug 26 13:13:16 2022 +0200"
      },
      "message": "Added debug logging for which task is scheduled\n\nChange-Id: I4df20cbae9f5832ec17e02b13ed84e076c966a25\n"
    },
    {
      "commit": "2b05dcee53e00394b29fda4b9a2cb015e23ed310",
      "tree": "a2aa01d1a717a5e5d408a7c4b0059e54df4f6d65",
      "parents": [
        "c9e4eb85f99315106a9c78ce3fe97b1e2171ae20"
      ],
      "author": {
        "name": "David Åkerman",
        "email": "davidak@axis.com",
        "time": "Tue May 24 15:44:32 2022 +0200"
      },
      "committer": {
        "name": "David Åkerman",
        "email": "davidak@axis.com",
        "time": "Fri Aug 26 13:13:16 2022 +0200"
      },
      "message": "Make it possible to re-create missing SourceChange events\n\nThis change add the flag fillGaps for the createSccs and createScss\nendpoints. With this flag you can re-create missing events. Traversing\nfrom the root of the commit tree every missing event is re-created\nuntil the specified commit or tip of the specified branch is reached.\n\nSolves: Jira GER-1545\nChange-Id: I2c3d5067c0e080b04c8890ceff18b4f6534ec274\n"
    },
    {
      "commit": "c9e4eb85f99315106a9c78ce3fe97b1e2171ae20",
      "tree": "361d40f0c48c9cbe0dc3453258dd004be2ab6711",
      "parents": [
        "91cca44a0953f08a1a035499bfefa8a24a19d64c"
      ],
      "author": {
        "name": "David Åkerman",
        "email": "davidak@axis.com",
        "time": "Fri May 13 15:47:19 2022 +0200"
      },
      "committer": {
        "name": "David Åkerman",
        "email": "davidak@axis.com",
        "time": "Fri Aug 26 13:13:16 2022 +0200"
      },
      "message": "Make the parsing-queue able to schedule creation of missing SC events\n\nSolves: Jira GER-1545\nChange-Id: I5dcf010476e3e18084a750af5a28a2cd092459bf\n"
    },
    {
      "commit": "91cca44a0953f08a1a035499bfefa8a24a19d64c",
      "tree": "daf42bea9fc683ff8a4573828361ebe0cd3deb4c",
      "parents": [
        "c844e9c302437e4c05cfa1dafca807247e8a12b7"
      ],
      "author": {
        "name": "David Åkerman",
        "email": "davidak@axis.com",
        "time": "Fri May 13 14:13:38 2022 +0200"
      },
      "committer": {
        "name": "David Åkerman",
        "email": "davidak@axis.com",
        "time": "Fri Aug 26 13:13:16 2022 +0200"
      },
      "message": "Add methods for scheduling creation of missing SourceChange events\n\nWith new class ParentWalker that traverse from parents to children.\nIt includes optional attribute parentKey that specify that only\ndirect children of this parent commit should be traversed.\n\nSolves: Jira GER-1545\nChange-Id: I53afe4b07ce0a3211c7aa675ba4beeddad073530\n"
    },
    {
      "commit": "c844e9c302437e4c05cfa1dafca807247e8a12b7",
      "tree": "224fc85536a964239d3bf751385d8d0e435ccd99",
      "parents": [
        "68699bf1267f207f6d3754c7ae11748461aff6b7"
      ],
      "author": {
        "name": "David Åkerman",
        "email": "davidak@axis.com",
        "time": "Fri Apr 01 16:47:49 2022 +0200"
      },
      "committer": {
        "name": "David Åkerman",
        "email": "davidak@axis.com",
        "time": "Fri Aug 26 13:13:16 2022 +0200"
      },
      "message": "Add method that retrieve UUID for SCC that a specific SCS points to\n\nSolves: Jira GER-1545\nChange-Id: Idd246fd763e5aea9535a662ebe4be7e2b9ef57b8\n"
    },
    {
      "commit": "68699bf1267f207f6d3754c7ae11748461aff6b7",
      "tree": "0a2544575410ff09880f17f7be4ff0e41b6165c1",
      "parents": [
        "01b049f98e0d34c8140f6155e10ff8c6f147cfcb"
      ],
      "author": {
        "name": "David Åkerman",
        "email": "davidak@axis.com",
        "time": "Tue Mar 29 12:35:37 2022 +0200"
      },
      "committer": {
        "name": "David Åkerman",
        "email": "davidak@axis.com",
        "time": "Fri Aug 26 13:13:16 2022 +0200"
      },
      "message": "Add attribute fillGaps to ParsingQueueTask\n\nSo we are able to differentiate between tasks to create new and create\nmissing events.\n\nSolves: Jira GER-1545\nChange-Id: If66746d02bc7e2045bc7ea15b3b38fc233d28303\n"
    },
    {
      "commit": "01b049f98e0d34c8140f6155e10ff8c6f147cfcb",
      "tree": "ca1cbffa6793cf35a676e40e20e94767e6faffaf",
      "parents": [
        "aedf07a3d9b69d83f3389bc1bc101325f1d852b3"
      ],
      "author": {
        "name": "David Åkerman",
        "email": "davidak@axis.com",
        "time": "Mon Mar 28 16:53:53 2022 +0200"
      },
      "committer": {
        "name": "David Åkerman",
        "email": "davidak@axis.com",
        "time": "Fri Aug 26 13:13:16 2022 +0200"
      },
      "message": "Add method that retrieve links for specific EiffelEvent key\n\nSolves: Jira GER-1545\nChange-Id: Ia2cc9f065773a49bed01158334bd16f96a037d73\n"
    },
    {
      "commit": "aedf07a3d9b69d83f3389bc1bc101325f1d852b3",
      "tree": "19b5d9d90815c77605319ea179dfbc9abfa602b9",
      "parents": [
        "062585cccbd721a1000282ad5122929df1bdac93"
      ],
      "author": {
        "name": "David Åkerman",
        "email": "davidak@axis.com",
        "time": "Tue Aug 23 11:34:57 2022 +0200"
      },
      "committer": {
        "name": "David Åkerman",
        "email": "davidak@axis.com",
        "time": "Fri Aug 26 13:12:44 2022 +0200"
      },
      "message": "Add code that lets you use the GoER REST API\n\nThis is done because you are not able to get UUID:s for missing events\nwhen you are using the GraphQl API.\n\nThis change consist of an abstration of EiffelGraphQlClient to\nEiffelClient. This class includes an instance of EiffelGraphQlClient and\nthe new EiffelGoRestClient. GraphQlApiConfig is also renamed to\nEiffelRepoApiConfig and now includes urls to both the GraphQL API and\nthe GoER REST API.\n\nSolves: Jira GER-1545\nChange-Id: I15467cf21180094c31c147ebcbc9c8f2be0b75c3\n"
    },
    {
      "commit": "062585cccbd721a1000282ad5122929df1bdac93",
      "tree": "f41e52a6d8aff1b604fc7e17352d42f55f64bf99",
      "parents": [
        "a5abdd46ba12a08bf30cc2191849ed9ddb3bd9db"
      ],
      "author": {
        "name": "David Åkerman",
        "email": "davidak@axis.com",
        "time": "Tue Mar 29 11:34:17 2022 +0200"
      },
      "committer": {
        "name": "David Åkerman",
        "email": "davidak@axis.com",
        "time": "Tue Aug 23 09:29:04 2022 +0200"
      },
      "message": "Make it possible to create EiffelEvent with an already created UUID\n\nThe current code generate an UUID automatically when creating a\nEiffelEvent. With this change we can set the UUID ourself.\n\nSolves: Jira GER-1545\nChange-Id: I862db92f46d5baa30d0252bbeccbd8d02ed05173\n"
    },
    {
      "commit": "a5abdd46ba12a08bf30cc2191849ed9ddb3bd9db",
      "tree": "54734e5807b028976877f6406d481759566ca951",
      "parents": [
        "3d50061b7abe1d90da78996c19c1d7e32daaf6f3"
      ],
      "author": {
        "name": "David Åkerman",
        "email": "davidak@axis.com",
        "time": "Wed Jul 06 10:25:39 2022 +0200"
      },
      "committer": {
        "name": "David Åkerman",
        "email": "davidak@axis.com",
        "time": "Wed Jul 06 10:31:47 2022 +0200"
      },
      "message": "Adapt events-eiffel for stable-3.6\n\n* TimeStamp has been deprecated, replace it with Instant instead.\n* Add call to get because BranchResource::getRevision return Optional\nnow.\n\nSolves: Jira GER-1926\nChange-Id: I2579e79cc963c1635b19277aaad6993a3d57bcff\n"
    },
    {
      "commit": "3d50061b7abe1d90da78996c19c1d7e32daaf6f3",
      "tree": "182a3b02b775aebe42b73282426c4b9b1290dac8",
      "parents": [
        "762f4481dd1fc0e1fa99519b6e29f7facfed65ba"
      ],
      "author": {
        "name": "David Åkerman",
        "email": "davidak@axis.com",
        "time": "Thu Apr 28 16:27:00 2022 +0200"
      },
      "committer": {
        "name": "David Åkerman",
        "email": "davidak@axis.com",
        "time": "Thu Apr 28 16:27:00 2022 +0200"
      },
      "message": "Spell-correct peristed-failed.json to persisted-failed.json\n\nChange-Id: I0735009cdca34a8e5a1ddc231eb0f1bf7e5c3baf\n"
    },
    {
      "commit": "762f4481dd1fc0e1fa99519b6e29f7facfed65ba",
      "tree": "e823ad0b4d5c02f1f336568e0ff5534bbf7d46ea",
      "parents": [
        "af35cc1724a2e0e8415ba64b50f3fe8a97890012"
      ],
      "author": {
        "name": "David Åkerman",
        "email": "davidak@axis.com",
        "time": "Thu Apr 28 14:23:51 2022 +0200"
      },
      "committer": {
        "name": "David Åkerman",
        "email": "davidak@axis.com",
        "time": "Thu Apr 28 16:24:34 2022 +0200"
      },
      "message": "Add list of branches to log-message for failed to find SCS warning\n\nThis to make it easier to see for which branches we have searched\nwith.\n\nChange-Id: Ice79566d357849e53aa9c2e498b64daf0f705684\n"
    },
    {
      "commit": "af35cc1724a2e0e8415ba64b50f3fe8a97890012",
      "tree": "9a2d73a7323fced648ca4470e3c04d3b1dcb5193",
      "parents": [
        "c26d881a53c33309cf293e963b5d8f372081c5a4"
      ],
      "author": {
        "name": "David Åkerman",
        "email": "davidak@axis.com",
        "time": "Tue Apr 26 13:00:27 2022 +0200"
      },
      "committer": {
        "name": "David Åkerman",
        "email": "davidak@axis.com",
        "time": "Tue Apr 26 13:56:51 2022 +0200"
      },
      "message": "Change logging-levels in method that push to the Eiffel Repository\n\nWe have realised that these cases are not as severe to have them as\nwarnings. So we demote them to Fine instead.\nThis will also prevent these log-messages from spamming the error_log\nfile when doing a backfill of tags\n\nSolves: Jira GER-1789\nChange-Id: I750843d6272b4c029e223b9b30d6979592525d7f\n"
    },
    {
      "commit": "c26d881a53c33309cf293e963b5d8f372081c5a4",
      "tree": "b620bc2119c861c30a0fd7ba918f504f5cce7654",
      "parents": [
        "5bf7c8ecbfd13b93d4fa0301583acb9b42abe6a5",
        "b3167ec6e1d9f24c7dab427b62970f02dc637f94"
      ],
      "author": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Mon Apr 04 14:47:58 2022 +0200"
      },
      "committer": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Mon Apr 04 14:57:44 2022 +0200"
      },
      "message": "Merge branch \u0027stable-3.4\u0027\n\n* stable-3.4:\n  Decrease size of serialized ParsingQueueTask\n  TestEventPublisher: performance improvement\n\nSolves: Jira GER-1554\nChange-Id: I38c160f94e71c995a2dc19336bbd475785102371\n"
    },
    {
      "commit": "5bf7c8ecbfd13b93d4fa0301583acb9b42abe6a5",
      "tree": "db13f76398e103acbf9fe1f084760d34c6122027",
      "parents": [
        "6d91c53ec6da795520a7051a426cfd5b0595ce70"
      ],
      "author": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Thu Mar 31 16:22:10 2022 +0200"
      },
      "committer": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Fri Apr 01 11:38:59 2022 +0100"
      },
      "message": "Document blockLightWeightTags config option\n\nSolves: Jira GER-1764\nChange-Id: I57faf3dea7744f7459de5ebb7b19743b9cf97faf\n"
    },
    {
      "commit": "6d91c53ec6da795520a7051a426cfd5b0595ce70",
      "tree": "8171ddf65c52bd5986eee59a23e2e0efa5d9722a",
      "parents": [
        "a85143bf0044625cf76096cfa7017b3f08232e3b"
      ],
      "author": {
        "name": "David Åkerman",
        "email": "davidak@axis.com",
        "time": "Mon Mar 21 16:17:26 2022 +0100"
      },
      "committer": {
        "name": "David Åkerman",
        "email": "davidak@axis.com",
        "time": "Mon Mar 21 16:17:26 2022 +0100"
      },
      "message": "Reuse constructor of UnprocessedCommitsWalker\n\nTo reduce code duplication.\n\nSolves: Jira GER-1545\nChange-Id: I5423d8a37e3c46fdf45ff75e5d587f1b04ec84c4\n"
    },
    {
      "commit": "a85143bf0044625cf76096cfa7017b3f08232e3b",
      "tree": "347e5db3214cfa273bd95d21b25ad1d4fcbcee5e",
      "parents": [
        "658b225628cef052b3f0b76edc371487ca16e110"
      ],
      "author": {
        "name": "David Åkerman",
        "email": "davidak@axis.com",
        "time": "Fri Mar 18 11:34:13 2022 +0100"
      },
      "committer": {
        "name": "David Åkerman",
        "email": "davidak@axis.com",
        "time": "Mon Mar 21 15:39:53 2022 +0100"
      },
      "message": "Add private method getParentUuids\n\nThis remove duplicated code.\n\nSolves: Jira GER-1545\nChange-Id: I6c7cfda9e9c533abe1d94fb27baebc6eddb8c427\n"
    },
    {
      "commit": "658b225628cef052b3f0b76edc371487ca16e110",
      "tree": "c8cf3e59a933dc5aa203b441112036d94d49f32b",
      "parents": [
        "54c1398d7f0f823be76b873ee30452549a9af394"
      ],
      "author": {
        "name": "David Åkerman",
        "email": "davidak@axis.com",
        "time": "Fri Mar 18 12:35:54 2022 +0100"
      },
      "committer": {
        "name": "David Åkerman",
        "email": "davidak@axis.com",
        "time": "Fri Mar 18 13:14:28 2022 +0100"
      },
      "message": "Remove bind of EventListenerConfig in RestModule\n\nEventListenerConfig does not have to be binded in RestModule anymore\nbecause our REST endpoints does not use EventListenerConfig anymore.\n\nChange-Id: I37fabac41d1e5e25ed080dd4cc85cd1e0e160ce9\n"
    },
    {
      "commit": "b3167ec6e1d9f24c7dab427b62970f02dc637f94",
      "tree": "73e2d983cd5d42608b0084ff9cd848ea0436f71a",
      "parents": [
        "90d11d5924b20f64cf15398a5534a429db65c878"
      ],
      "author": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Thu Mar 17 15:29:33 2022 +0100"
      },
      "committer": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Fri Mar 18 09:59:08 2022 +0100"
      },
      "message": "Decrease size of serialized ParsingQueueTask\n\nThe RevisionCreatedListener.Event contained a whole lot of data that\nwe don\u0027t need. The footprint of one ParsingQueueTask with the Event\nwas ~22k which is unnecessarily large.\nStoring the vital information in the dto PatchsetCreationData instead\nsignificantly decreases the storage footprint of a ParsingQueueTask.\n\nSolves: Jira GER-1715\nChange-Id: Ia463c34d9235f8208d376d78f0c68d1dba595bd8\n"
    },
    {
      "commit": "54c1398d7f0f823be76b873ee30452549a9af394",
      "tree": "7e8feeb822fb306eaa06ddfa8b43f5802e12001c",
      "parents": [
        "90154e792e97cd8b487b668eadf9943b5c24894f"
      ],
      "author": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Tue Mar 15 12:28:09 2022 +0100"
      },
      "committer": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Tue Mar 15 12:30:06 2022 +0100"
      },
      "message": "Module: bind EventsFilter\n\nThis should have been done in:\n9f8a071 Extract event-filter parts from EventListenersConfig\nBut was missed.\n\nSolves: Jira GER-1735\nChange-Id: I2ca584df03e8f5a91b3b8d4c289f7453caf3a3ad\n"
    },
    {
      "commit": "90154e792e97cd8b487b668eadf9943b5c24894f",
      "tree": "98a338c5c13907763a189fcaf68aac74e9de8353",
      "parents": [
        "ad659b95b33f87da1af6460298a8ee77a54fad1a",
        "889883dc2750a86f46ba6fcd2ed90b6c26be6d45"
      ],
      "author": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Mon Mar 14 16:30:46 2022 +0100"
      },
      "committer": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Tue Mar 15 08:49:53 2022 +0100"
      },
      "message": "Merge branch \u0027stable-3.4\u0027\n\n* stable-3.4: (24 commits)\n  ParsingQueuePersistenceIT: fix google-common imports\n  EiffelEventParser: fix javadoc\n  Persist failed tasks\n  ParsingQueue: Save failed parsing-tasks\n  Keep queued tasks to persist in a Set and not a List\n  Correct spelling persistance -\u003e persistence\n  ParsingQueue: Move scheduling logic into worker\n  Fix EiffelEventParserIt#artcQueued\n  Refactor EiffelEventParser and implementations\n  EiffelConfig: fix invalid log format\n  EventKey: add missing cases to switch/case\n  Fix event-name in routing key\n  Persist parsing-queue on plugin stop\n  EiffelEventParsingQueue: Google-java-format\n  Refactor EiffelEventParserIT\n  Make EiffelEventParsingQueue#scheduleArtcCreation private\n  Extract private method to schedule SCS from submit-event\n  Rename EiffelEventParser and EiffelEventParserIf\n  Extract interface from EiffelEventParser\n  Extract the task description from EventParsingWorker\n  ...\n\nChange-Id: I8d6f26aef920b9b7ccd967a5f7f164a02b9c6650\n"
    },
    {
      "commit": "90d11d5924b20f64cf15398a5534a429db65c878",
      "tree": "7a5d9a9980ffbde88cd602c9ff3af5a11b0fb887",
      "parents": [
        "889883dc2750a86f46ba6fcd2ed90b6c26be6d45"
      ],
      "author": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Wed Mar 09 14:55:03 2022 +0100"
      },
      "committer": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Thu Mar 10 15:31:39 2022 +0100"
      },
      "message": "TestEventPublisher: performance improvement\n\nSeparate handling of when an event is expected to exist and not.\n\n* Return early if event exists\n  Checking every 50 ms saves 10-15 seconds on the current execution\n  time of the entire test-suite since the event is most often\n  available before the wait-timeout (500 ms) is complete.\n* Handle expected missing events in TestEventsPublisher\n  By calling the TestEventPublisher to check if an event is missing we\n  can skip the check-every-x-seconds loop.\n  This has the added benefit that it removes a lot of copy-paste code\n  from the test-cases.\n\nChange-Id: I764e87100f2f768d628facd4393b0fc0479aeaef\n"
    },
    {
      "commit": "ad659b95b33f87da1af6460298a8ee77a54fad1a",
      "tree": "c7349341502714401f2ddb8d415fa67a3620d893",
      "parents": [
        "e05b3e5fb9565c92d6b8ecce80fdbcace98d7a93"
      ],
      "author": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Wed Mar 09 13:52:01 2022 +0100"
      },
      "committer": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Wed Mar 09 13:52:01 2022 +0100"
      },
      "message": "EiffelEventParserIT: remove unused variable\n\nChange-Id: I3c1cdc509d3a54371d1f9c1fd3b294f3f8ca4970\n"
    },
    {
      "commit": "e05b3e5fb9565c92d6b8ecce80fdbcace98d7a93",
      "tree": "7490f1039a51edacb7f3428c6ee19de2d8fc9c4e",
      "parents": [
        "605207ebda63f642e3d418b499432a87d5f63ad1"
      ],
      "author": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Tue Mar 08 16:40:55 2022 +0100"
      },
      "committer": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Wed Mar 09 13:51:15 2022 +0100"
      },
      "message": "Extract event-filter parts from EventListenersConfig\n\nThese are used by several parts of the application and keeping them in\na global instance makes more sense than passing them around.\n\nSolves: Jira GER-1735\nChange-Id: I6d090b8e16c53fd26116d4ece67e9f6e3d81e794\n"
    },
    {
      "commit": "605207ebda63f642e3d418b499432a87d5f63ad1",
      "tree": "d6a7a3ee131de9f7b7db9bdba79b76c3aa269ac3",
      "parents": [
        "cfcc5c59b89bdb81bc5e00e498d428dc56ad98ab"
      ],
      "author": {
        "name": "David Åkerman",
        "email": "davidak@axis.com",
        "time": "Mon Mar 07 14:06:20 2022 +0100"
      },
      "committer": {
        "name": "David Åkerman",
        "email": "davidak@axis.com",
        "time": "Wed Mar 09 13:42:07 2022 +0100"
      },
      "message": "Retry request to eiffel event-repository\n\nTo make the plugin able to handle a temporary unreachable\nevent-repository we retry the request when it fail.\n\nSolves: Jira GER-1687\nChange-Id: I4561f0946a0aff9430fc9a01d506b6145dc62ebb\n"
    },
    {
      "commit": "cfcc5c59b89bdb81bc5e00e498d428dc56ad98ab",
      "tree": "ecb64b00605138d0edc5e10c2b5365acba1d5426",
      "parents": [
        "bd1328da9ff154d1ba8749917ec44250e78ab3a0"
      ],
      "author": {
        "name": "David Åkerman",
        "email": "davidak@axis.com",
        "time": "Mon Mar 07 14:03:50 2022 +0100"
      },
      "committer": {
        "name": "David Åkerman",
        "email": "davidak@axis.com",
        "time": "Wed Mar 09 13:41:48 2022 +0100"
      },
      "message": "Add ability to block lightweight tags\n\nThis is added to discourage the use of lighweight tags and make\neveryone use annotated tags instead.\n\nSolves: Jira GER-1722\nChange-Id: I55576a0d606a6c4c1cd36c47190979b4f0a3a428\n"
    },
    {
      "commit": "889883dc2750a86f46ba6fcd2ed90b6c26be6d45",
      "tree": "bb5b83ec8c87c51d5eac80eed28ccabe591a23ac",
      "parents": [
        "77911fc1b9e2926f4ad5c75e16569cb13f5a2c3c"
      ],
      "author": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Mon Mar 07 16:31:50 2022 +0100"
      },
      "committer": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Tue Mar 08 13:14:17 2022 +0100"
      },
      "message": "ParsingQueuePersistenceIT: fix google-common imports\n\nChange-Id: I9538210680b50c88d1a1a7b2aacd893ac8040f97\n"
    },
    {
      "commit": "77911fc1b9e2926f4ad5c75e16569cb13f5a2c3c",
      "tree": "f1ac15f6cdfc46c65c85bcc79e018fc3c9c869bc",
      "parents": [
        "d3f2f2b0cbd51b6c5038e190debce0af4d0e29f3"
      ],
      "author": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Mon Mar 07 14:08:33 2022 +0100"
      },
      "committer": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Tue Mar 08 13:13:17 2022 +0100"
      },
      "message": "EiffelEventParser: fix javadoc\n\nChange-Id: I5369ffdc7e78dae06cb177060d961f67d8fc1fa8\n"
    },
    {
      "commit": "d3f2f2b0cbd51b6c5038e190debce0af4d0e29f3",
      "tree": "df1e3e085685f8ac68820c2ab3707acaee59198c",
      "parents": [
        "9eb7a7746b700546538d33496d1a6c219cc2f4c9"
      ],
      "author": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Wed Mar 02 09:35:17 2022 +0100"
      },
      "committer": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Tue Mar 08 13:12:17 2022 +0100"
      },
      "message": "Persist failed tasks\n\nSolves: Jira GER-1730\nChange-Id: I3a1f8daf21478a2bed5599cef20362ca74733383\n"
    },
    {
      "commit": "9eb7a7746b700546538d33496d1a6c219cc2f4c9",
      "tree": "1230a16cc08f9f1f1673e5b0d9eb884a0ea78c30",
      "parents": [
        "ea7d84a8451ee02330f2cff268e75be8877a5f29"
      ],
      "author": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Thu Feb 24 12:09:11 2022 +0100"
      },
      "committer": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Mon Mar 07 16:10:27 2022 +0100"
      },
      "message": "ParsingQueue: Save failed parsing-tasks\n\nLet createAndSchedule... methods in EiffelEventParser throw an\nexception upon failure instead of logging. This will make\nEiffelEventParserQueue aware of whether the queued task succeeded or\nnot so that it can store failed tasks to retry at a later date.\n\nSolves: Jira GER-1730\nChange-Id: I130fbb53712474b6734ced73d0448d0e387c02f4\n"
    },
    {
      "commit": "ea7d84a8451ee02330f2cff268e75be8877a5f29",
      "tree": "c84b4e4aecae65f86dcb06d4571265e87573c10f",
      "parents": [
        "9169c4a63328dac232957bb7ecd6ca7889776069"
      ],
      "author": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Mon Mar 07 15:51:56 2022 +0100"
      },
      "committer": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Mon Mar 07 16:10:25 2022 +0100"
      },
      "message": "Keep queued tasks to persist in a Set and not a List\n\nNo point in persisting duplicates.\n\nChange-Id: Iadc559df3ebfd0a92f562709f95634879bae160e\n"
    },
    {
      "commit": "9169c4a63328dac232957bb7ecd6ca7889776069",
      "tree": "5946215c8d8855597bf59bb249dfc2d61319913f",
      "parents": [
        "ddc83adf4b09df473cf20f6ed922a92914ec21d7"
      ],
      "author": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Mon Mar 07 16:04:57 2022 +0100"
      },
      "committer": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Mon Mar 07 16:04:57 2022 +0100"
      },
      "message": "Correct spelling persistance -\u003e persistence\n\nChange-Id: I7309b17d8bd04aaebdcb55e73a332799f11dd5d2\n"
    },
    {
      "commit": "ddc83adf4b09df473cf20f6ed922a92914ec21d7",
      "tree": "789c6ceb620b3e234dd3076d71719fa8f8e14b1b",
      "parents": [
        "3c523fbf3c20e2a6c900fce4dc02b1e2035eb397"
      ],
      "author": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Thu Feb 24 12:09:11 2022 +0100"
      },
      "committer": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Mon Mar 07 14:00:22 2022 +0100"
      },
      "message": "ParsingQueue: Move scheduling logic into worker\n\nThis allows for scheduling of tasks instead of workers which in turn\naligns the scheduling flow with the rescheduling of persisted tasks.\n\nSolves: Jira GER-1715\nChange-Id: Ica261badbcb3e127293f77ce89ed682ec01dca74\n"
    },
    {
      "commit": "3c523fbf3c20e2a6c900fce4dc02b1e2035eb397",
      "tree": "973a75241d6a5b8440b68e1f41666d021fb6eaf6",
      "parents": [
        "d7b309473a541b3fb39545aa108288a983f139eb"
      ],
      "author": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Tue Mar 01 14:30:07 2022 +0100"
      },
      "committer": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Mon Mar 07 14:00:08 2022 +0100"
      },
      "message": "Fix EiffelEventParserIt#artcQueued\n\nThe intention was to test that no ArtC was created when the SCS for the\ncommit didn\u0027t exist already. But ArtC creation failed because CD/ArtC\ncannot be created for a tag that doesn\u0027t exist regardless of whether\nthe corresponding SCS is created or not.\n\nAlso rename the test to reflect what it\u0027s testing.\n\nSolves: Jira GER-1733\nChange-Id: I4e25b3eb67d2bd895457277a2a3a39e3b45edf2f\n"
    },
    {
      "commit": "d7b309473a541b3fb39545aa108288a983f139eb",
      "tree": "9116426772bd9e58f20f4f20c9348f04e9923904",
      "parents": [
        "75ac687f54fc75a7b82b4dfc1b5abd1fa980c375"
      ],
      "author": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Tue Mar 01 13:23:47 2022 +0100"
      },
      "committer": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Thu Mar 03 12:44:32 2022 +0100"
      },
      "message": "Refactor EiffelEventParser and implementations\n\nUse branchRef and repoName consistently.\nRe-add param documentation that was removed in:\nd237cb4 Rename EiffelEventParser and EiffelEventParserIf\n\nSolves: Jira GER-1734\nChange-Id: Ied3366ae0c21c69dbef847a82679492218ed7cc2\n"
    },
    {
      "commit": "75ac687f54fc75a7b82b4dfc1b5abd1fa980c375",
      "tree": "491025a7513790e4de2922414b50f3cc360d2c86",
      "parents": [
        "7435afc9c604f86a5125d1fae51e09095a6432fd"
      ],
      "author": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Thu Mar 03 11:53:57 2022 +0100"
      },
      "committer": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Thu Mar 03 12:41:39 2022 +0100"
      },
      "message": "EiffelConfig: fix invalid log format\n\nSolves: Jira GER-1734\nChange-Id: I3f2321d3ef197d546dfd3f2a23e34f8e8a25d059\n"
    },
    {
      "commit": "7435afc9c604f86a5125d1fae51e09095a6432fd",
      "tree": "5b0637e4ddc2c4118c66f981aacd2ef2ab4b9eb0",
      "parents": [
        "2f12a7cc5b2838af6b9dccac861861acc19be8d4"
      ],
      "author": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Thu Mar 03 11:05:34 2022 +0100"
      },
      "committer": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Thu Mar 03 12:41:20 2022 +0100"
      },
      "message": "EventKey: add missing cases to switch/case\n\nSolves: Jira GER-1734\nChange-Id: I716580df0ec8e190baeeb0ade40b98d41cc4634b\n"
    },
    {
      "commit": "2f12a7cc5b2838af6b9dccac861861acc19be8d4",
      "tree": "202b3743fb8a53b37397cb9e6f23e6343119d8e4",
      "parents": [
        "4cb80a2400e417fd122ddaf857351e21bec4f735"
      ],
      "author": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Wed Mar 02 09:35:17 2022 +0100"
      },
      "committer": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Thu Mar 03 12:41:09 2022 +0100"
      },
      "message": "Fix event-name in routing key\n\nIt should always end with \"Event\" to be compliant with the Sepia\nstandard:\nhttps://eiffel-community.github.io/eiffel-sepia/rabbitmq-message-broker.html\n\nSolves: Jira GER-1731\nChange-Id: Ic5fd200ce09a6c4d4019a11f89034374a2a6f69c\n"
    },
    {
      "commit": "4cb80a2400e417fd122ddaf857351e21bec4f735",
      "tree": "482ab94430dd2dc9582adef5cffbeab4a3198d94",
      "parents": [
        "adcecf6dc744b1aaed91d254dc4240de2664faca"
      ],
      "author": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Mon Feb 21 13:25:02 2022 +0100"
      },
      "committer": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Thu Mar 03 09:56:47 2022 +0100"
      },
      "message": "Persist parsing-queue on plugin stop\n\nSolves: Jira GER-1715\nChange-Id: I8218cca768d5c50ea398df9ce3ca0f35aeb6789e\n"
    },
    {
      "commit": "bd1328da9ff154d1ba8749917ec44250e78ab3a0",
      "tree": "fd72a1f89316500b58775be8cf5482b5a639de88",
      "parents": [
        "a0537370af21915892233282821c96fdeae574a3"
      ],
      "author": {
        "name": "David Åkerman",
        "email": "davidak@axis.com",
        "time": "Thu Feb 24 08:38:37 2022 +0100"
      },
      "committer": {
        "name": "David Åkerman",
        "email": "davidak@axis.com",
        "time": "Wed Mar 02 14:36:24 2022 +0100"
      },
      "message": "Add documentation for createArtcs REST-API endpoint\n\nSolves: Jira GER-1551\nChange-Id: I46e859c923e82666bc40613574c8d1da0fc30319\n"
    },
    {
      "commit": "adcecf6dc744b1aaed91d254dc4240de2664faca",
      "tree": "ea4d8728013fc361df335da4e83ea96707e4c925",
      "parents": [
        "397aa87c88f791b17ce25d4dde37abd4cee9a4ea"
      ],
      "author": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Tue Mar 01 12:26:58 2022 +0100"
      },
      "committer": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Tue Mar 01 12:26:58 2022 +0100"
      },
      "message": "EiffelEventParsingQueue: Google-java-format\n\nChange-Id: I55b245512b54a98e75b63e84ede353eb2d3ce178\n"
    },
    {
      "commit": "397aa87c88f791b17ce25d4dde37abd4cee9a4ea",
      "tree": "2ec01aa85893bbeca45260320178cfa528f286c2",
      "parents": [
        "df711873ffc4f78bf14f47e792b3072b3f61500f"
      ],
      "author": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Wed Feb 23 19:11:25 2022 +0100"
      },
      "committer": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Fri Feb 25 14:15:22 2022 +0100"
      },
      "message": "Refactor EiffelEventParserIT\n\nIn preparation for tests for the EiffelEventParsingQueue.\n* Extract TestModule to separate file.\n* Introduce super class EiffelEventParsingTest with common methods\n  for verifying event parsing.\n\nSolves: Jira GER-1715\nChange-Id: I778685bf32dcad7e0a50dbc849daf2b484e7bdd4\n"
    },
    {
      "commit": "df711873ffc4f78bf14f47e792b3072b3f61500f",
      "tree": "8565a34ed17724be9dfa76662830b0d511db3513",
      "parents": [
        "844df7db28e843d12f3e3bf8502c790bac3783ec"
      ],
      "author": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Wed Feb 23 15:42:46 2022 +0100"
      },
      "committer": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Fri Feb 25 14:15:22 2022 +0100"
      },
      "message": "Make EiffelEventParsingQueue#scheduleArtcCreation private\n\nscheduleArtcCreation(String,String,Long,boolean) is only used from\nwithin the class.\n\nSolves: Jira GER-1715\nChange-Id: I389968ed2457c3b826ae32bdd5dd4e6ffce8bd24\n"
    },
    {
      "commit": "844df7db28e843d12f3e3bf8502c790bac3783ec",
      "tree": "1e8eb05dd766b2a3ccb68a33945a25fa0ee358d4",
      "parents": [
        "3f0cab58b1dff68e7c19114f5267dbf07103f0d9"
      ],
      "author": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Wed Feb 23 15:33:36 2022 +0100"
      },
      "committer": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Fri Feb 25 14:15:22 2022 +0100"
      },
      "message": "Extract private method to schedule SCS from submit-event\n\nMakes it easier to reuse the private method when rescheduling.\n\nSolves: Jira GER-1715\nChange-Id: I1e01a3db481dec258a9d3426f69b4bc69b6f637c\n"
    },
    {
      "commit": "3f0cab58b1dff68e7c19114f5267dbf07103f0d9",
      "tree": "bba172efc3a2aecf53fe7e425ca98e742abfcf03",
      "parents": [
        "85f26fd03c885e17f24dafd17159a9b0a24c0e1e"
      ],
      "author": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Wed Feb 23 15:12:25 2022 +0100"
      },
      "committer": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Fri Feb 25 14:14:56 2022 +0100"
      },
      "message": "Rename EiffelEventParser and EiffelEventParserIf\n\nWhen an interface was extracted from EiffelEventParser in a previous\ncommit the implementing class kept the name EiffelEventParser to make\nthe diff more reviewable. In this change we rename the interface\n`EiffelEventParser` and the implementation `EiffelEventParserImpl`\nto align with the inofficial code-standard in Gerrit.\n\nSolves: Jira GER-1715\nChange-Id: I2ad5a139f0e6b983b615414450a9bc1a75a1128f\n"
    },
    {
      "commit": "85f26fd03c885e17f24dafd17159a9b0a24c0e1e",
      "tree": "cadee98b12584ecebb381f5d8a64fe7d97d6a9b1",
      "parents": [
        "ab7ce7f93a93129e083ff4c0d4c1024aaaf40f2f"
      ],
      "author": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Wed Feb 23 11:56:33 2022 +0100"
      },
      "committer": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Fri Feb 25 14:12:37 2022 +0100"
      },
      "message": "Extract interface from EiffelEventParser\n\nTo enable mocking it in tests.\nTemporarily keep the name of the implementation to make the diffs more\nreview-friendly. Rename implementation and interface in follow-up.\n\nSolves: Jira GER-1715\nChange-Id: I5b676e052a3799e8f00192c6306eb6313ccf2268\n"
    },
    {
      "commit": "ab7ce7f93a93129e083ff4c0d4c1024aaaf40f2f",
      "tree": "efed63a30b43b2e72c64e22f465b165008b06c1b",
      "parents": [
        "e7a62433b86e924166b0fec6bc9597d78c026b71"
      ],
      "author": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Mon Feb 21 13:25:02 2022 +0100"
      },
      "committer": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Fri Feb 25 14:08:13 2022 +0100"
      },
      "message": "Extract the task description from EventParsingWorker\n\nTo prepare for serialization of the unfinished tasks in the\nevent-queue on restart. Also keep updater, udatedTime, previousTip\nand force in description so that we can requeue an identical task from\nthe persisted description.\n\nSolves: Jira GER-1715\nChange-Id: Ibe97e3bbe6ad62274696100ff6537edb266b041b\n"
    },
    {
      "commit": "e7a62433b86e924166b0fec6bc9597d78c026b71",
      "tree": "93d4459f05df119abb3e71322dad5db057a0d90e",
      "parents": [
        "74525feae08c1239bb0ac63282af65ff958ea452"
      ],
      "author": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Mon Feb 21 15:43:56 2022 +0100"
      },
      "committer": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Fri Feb 25 14:06:48 2022 +0100"
      },
      "message": "Schedule/parse from commit instead of ref\n\nTo be able to requeue SCC creation from a patchset ref we need to save\nthe commit and not the ref, to later parse it in the EventParser.\n\nSolves: Jira GER-1715\nChange-Id: Ibd974347e5211c68279e17948d9b9647c2cf37eb\n"
    },
    {
      "commit": "74525feae08c1239bb0ac63282af65ff958ea452",
      "tree": "f22cd6e4aecd9a01c5089b44360224fe923d9af4",
      "parents": [
        "8d34a6ea03c7ea63617fbee390e3e9b1325b97b1"
      ],
      "author": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Tue Feb 22 09:23:44 2022 +0100"
      },
      "committer": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Fri Feb 25 12:40:24 2022 +0100"
      },
      "message": "ParsingQueue: only strip \"refs/tags/\" once\n\nChange-Id: Id00e5da79b596d8e49ea64d31e2a318fad6c3c7d\n"
    },
    {
      "commit": "8d34a6ea03c7ea63617fbee390e3e9b1325b97b1",
      "tree": "5ef80218ea3c97b8e25325f50db769e12624ab3f",
      "parents": [
        "6845729aed3c01feceebf9e789beed63b3fb1e52"
      ],
      "author": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Tue Feb 22 11:55:11 2022 +0100"
      },
      "committer": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Fri Feb 25 12:38:29 2022 +0100"
      },
      "message": "Move private method #schedule() below protected methods\n\nChange-Id: Ief21d9d708cac52a1cd6ead777591d33a761bfdb\n"
    },
    {
      "commit": "a0537370af21915892233282821c96fdeae574a3",
      "tree": "299cdd84c2ed6d81c83910fbb13e84c39f257635",
      "parents": [
        "4c2ab7de1d4a63d9e9e99d816ab236f79fc3edb9"
      ],
      "author": {
        "name": "David Åkerman",
        "email": "davidak@axis.com",
        "time": "Thu Feb 24 12:03:38 2022 +0100"
      },
      "committer": {
        "name": "David Åkerman",
        "email": "davidak@axis.com",
        "time": "Thu Feb 24 12:17:02 2022 +0100"
      },
      "message": "Make the createArtcs REST-API endpoint return the types SCS and SCC\n\nBecause createArtcs also may create SCS and SCC nowadays, the types\nshould also be included in the response.\n\nChange-Id: I1d6eaebb01c20a681bf70cf38dec22ddaf1a76ef\n"
    },
    {
      "commit": "6845729aed3c01feceebf9e789beed63b3fb1e52",
      "tree": "087b3ae8485ab366b1cb69abdca9a06556e336ad",
      "parents": [
        "3c53a52007801fcffe9ff309989abd0fa73d02e8"
      ],
      "author": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Tue Feb 22 13:30:53 2022 +0100"
      },
      "committer": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Wed Feb 23 16:09:26 2022 +0100"
      },
      "message": "EiffelEventParserIT: misc formatting\n\nRemoving unused code and fixin camel-case in method names.\n\nChange-Id: I5108a177bd7ed4bfc962aca1b53539f8e6d8020f\n"
    },
    {
      "commit": "4c2ab7de1d4a63d9e9e99d816ab236f79fc3edb9",
      "tree": "6b2776e76da9238f381cc57df97c02ebc7a7c76a",
      "parents": [
        "f12044fe9540f07f156d58142f6ab032b09cef0d"
      ],
      "author": {
        "name": "David Åkerman",
        "email": "davidak@axis.com",
        "time": "Tue Feb 08 09:58:00 2022 +0100"
      },
      "committer": {
        "name": "David Åkerman",
        "email": "davidak@axis.com",
        "time": "Tue Feb 15 15:23:37 2022 +0100"
      },
      "message": "Listener to Listeners for TestEventListenerConfigProvider\n\nTo make it in line with EventListenersConfig.\n\nChange-Id: I9cf087a1c377742806db418ea64a2be3dd6294ab\n"
    },
    {
      "commit": "f12044fe9540f07f156d58142f6ab032b09cef0d",
      "tree": "e30970ecba5c403a7de939a07f1a7a3e0d666323",
      "parents": [
        "e4abb90bbb346f1ae8570ac3ad7b8b9cf52c9f1f"
      ],
      "author": {
        "name": "David Åkerman",
        "email": "davidak@axis.com",
        "time": "Tue Feb 08 09:48:39 2022 +0100"
      },
      "committer": {
        "name": "David Åkerman",
        "email": "davidak@axis.com",
        "time": "Tue Feb 15 15:23:37 2022 +0100"
      },
      "message": "Rename variable config to configProvider\n\nChange-Id: I151eaa38cee6c95bcaf5043f1dfb2bef5880338d\n"
    },
    {
      "commit": "e4abb90bbb346f1ae8570ac3ad7b8b9cf52c9f1f",
      "tree": "0a1bd13e1ab326e80cb5c2b321e31be7686b9f2e",
      "parents": [
        "9b5557a3c5f55afc44dadd03e613a83b6af2e3cd"
      ],
      "author": {
        "name": "David Åkerman",
        "email": "davidak@axis.com",
        "time": "Wed Feb 02 17:01:21 2022 +0100"
      },
      "committer": {
        "name": "David Åkerman",
        "email": "davidak@axis.com",
        "time": "Fri Feb 11 10:33:55 2022 +0100"
      },
      "message": "Create missing SCS when creating tag events\n\nWith this change we create an SCS event for the commit being tagged if\nit is missing and the commit is reachable from one of the branches\nthat is not blocked. With this change we also log the name of the\ntag when we fail to create a CD.\n\nSolves: Jira GER-1688\nSolves: Jira GER-1689\nChange-Id: I77b5e4ad5600548a4aad824a7f0aec42a09e6d1c\n"
    },
    {
      "commit": "9b5557a3c5f55afc44dadd03e613a83b6af2e3cd",
      "tree": "361b02ce701b817b500705a6b65f7e1c88ff50ad",
      "parents": [
        "bf299b93a05762d72dd29c60efaa254c4b0b2a7b"
      ],
      "author": {
        "name": "David Åkerman",
        "email": "davidak@axis.com",
        "time": "Wed Jan 26 18:07:15 2022 +0100"
      },
      "committer": {
        "name": "David Åkerman",
        "email": "davidak@axis.com",
        "time": "Thu Jan 27 10:18:56 2022 +0100"
      },
      "message": "Fix cache Settings\n\n* Remove Weigher implementation because the default behaviour already\ndoes the same thing.\n\nSolves: Jira GER-1674\nChange-Id: I51a20808c7a00784ab366f684faa220e942cb2cd\n"
    },
    {
      "commit": "bf299b93a05762d72dd29c60efaa254c4b0b2a7b",
      "tree": "753302b27ee2836f31958cc58b92031fe5b3773b",
      "parents": [
        "4f7cbd4f660de19de4ef489332b4bcbdeef63b03"
      ],
      "author": {
        "name": "David Åkerman",
        "email": "davidak@axis.com",
        "time": "Wed Dec 22 17:28:31 2021 +0100"
      },
      "committer": {
        "name": "David Åkerman",
        "email": "davidak@axis.com",
        "time": "Tue Jan 25 15:22:09 2022 +0100"
      },
      "message": "Adapt events-eiffel for stable-3.5\n\nSolves: Jira GER-1663\nChange-Id: Iddf607622f5eb785546cd60a11d727e5b96ab16a\n"
    },
    {
      "commit": "4f7cbd4f660de19de4ef489332b4bcbdeef63b03",
      "tree": "753302b27ee2836f31958cc58b92031fe5b3773b",
      "parents": [
        "9028cd9bf06754b18393838cfb300912ed923f62",
        "3c53a52007801fcffe9ff309989abd0fa73d02e8"
      ],
      "author": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Tue Jan 25 12:19:34 2022 +0100"
      },
      "committer": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Tue Jan 25 12:19:34 2022 +0100"
      },
      "message": "Merge branch \u0027stable-3.4\u0027\n\n* stable-3.4:\n  Use null instead of \"N/A\" as default change-number\n  RMQ: Follow new sepia standard for routing-key\n\nChange-Id: I33c6e869e6658c2effa38b4f97ec11e256bd1e45\n"
    },
    {
      "commit": "3c53a52007801fcffe9ff309989abd0fa73d02e8",
      "tree": "753302b27ee2836f31958cc58b92031fe5b3773b",
      "parents": [
        "de6144baea7ef4df3d12fb647f007b21d72aded9"
      ],
      "author": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Mon Jan 24 17:44:50 2022 +0100"
      },
      "committer": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Mon Jan 24 17:44:50 2022 +0100"
      },
      "message": "Use null instead of \"N/A\" as default change-number\n\nMissing change.id is more clear to the consumer than interpreting a\nstring when change-number isn\u0027t available.\n\nSolves: Jira GER-1698\nChange-Id: Ic801fe799ba53d363306c443cb3e92993452ef65\n"
    },
    {
      "commit": "de6144baea7ef4df3d12fb647f007b21d72aded9",
      "tree": "23b3503df495157237453053b3c84a077ca33e60",
      "parents": [
        "9028cd9bf06754b18393838cfb300912ed923f62"
      ],
      "author": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Mon Jan 24 16:46:43 2022 +0100"
      },
      "committer": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Mon Jan 24 17:37:58 2022 +0100"
      },
      "message": "RMQ: Follow new sepia standard for routing-key\n\nAt the time of writing the routing key was merely a suggestion, it has\nnow been integrated into the sepia standard:\nhttps://github.com/eiffel-community/eiffel-sepia/issues/8\nhttps://eiffel-community.github.io/eiffel-sepia/rabbitmq-message-broker.html\n\nEnsure that we follow the new format for the routing-key.\n\nSolves: Jira GER-1697\nChange-Id: Ied68582dc8c2a11c2ec174bc177db342184dc2d3\n"
    },
    {
      "commit": "9028cd9bf06754b18393838cfb300912ed923f62",
      "tree": "d7516bdf671f20aab8cd2fa512471a381a281beb",
      "parents": [
        "b0b253f4e85ac1fe39c4943c7d453d56734fd9e8"
      ],
      "author": {
        "name": "David Åkerman",
        "email": "davidak@axis.com",
        "time": "Tue Dec 21 13:21:51 2021 +0100"
      },
      "committer": {
        "name": "David Åkerman",
        "email": "davidak@axis.com",
        "time": "Wed Jan 12 14:23:47 2022 +0100"
      },
      "message": "Handle case where CanonicalWebUrl is null\n\nChange-Id: I232e7e81bd3b3230730d93a56499ae94bfdb0fec\n"
    },
    {
      "commit": "b0b253f4e85ac1fe39c4943c7d453d56734fd9e8",
      "tree": "a6177ae1cb42a0e03a9e3b77ee48f8221418f9b5",
      "parents": [
        "70f7d7b3f14ad84b984aaddea85c873829b3a47c"
      ],
      "author": {
        "name": "David Åkerman",
        "email": "davidak@axis.com",
        "time": "Tue Dec 21 09:59:18 2021 +0100"
      },
      "committer": {
        "name": "David Åkerman",
        "email": "davidak@axis.com",
        "time": "Thu Dec 30 11:19:27 2021 +0100"
      },
      "message": "Change variable name nameSpace to namespace\n\nChange-Id: I18580c094d54d156b376e1afddfa4f38be1a8190\n"
    },
    {
      "commit": "70f7d7b3f14ad84b984aaddea85c873829b3a47c",
      "tree": "82f33c16d563343ca0df9dc216de15566ee8c5a4",
      "parents": [
        "04315a6a33fd2e83dcbb2cdd32b1892385aec4e0"
      ],
      "author": {
        "name": "David Åkerman",
        "email": "davidak@axis.com",
        "time": "Thu Dec 16 19:03:14 2021 +0100"
      },
      "committer": {
        "name": "David Åkerman",
        "email": "davidak@axis.com",
        "time": "Tue Dec 21 09:55:16 2021 +0100"
      },
      "message": "Make namespace optional and log what namespace is set to\n\nIf the namespace is not set we use the hostname as a namespace.\n\nSolves: Jira GER-1637\nChange-Id: I67d1c46f79696ad0e4644fb6dc67e905de2bf698\n"
    },
    {
      "commit": "04315a6a33fd2e83dcbb2cdd32b1892385aec4e0",
      "tree": "055e739add4223b7941d7dfb8e1d0aec9b3ac77f",
      "parents": [
        "a6c59f1f3ef0d91b124e3a1762aa01f279c81dde"
      ],
      "author": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Tue Dec 14 16:51:16 2021 +0100"
      },
      "committer": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Wed Dec 15 09:59:38 2021 +0100"
      },
      "message": "Don\u0027t retain uninteresting flag for transaction end\n\nWe want to keep traversing beyond the merge transaction to check for\nmissing events.\n\nSolves: Jira GER-1613\nChange-Id: I3d4ca666f61df5e30117b5d7f0062949d0289d4f\n"
    },
    {
      "commit": "a6c59f1f3ef0d91b124e3a1762aa01f279c81dde",
      "tree": "cd2f6236fbd275acd72da2bb4b309cc8f705c1c3",
      "parents": [
        "5e796237c38732daed91a000c06fe1aa73687979"
      ],
      "author": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Wed Dec 08 14:47:29 2021 +0100"
      },
      "committer": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Wed Dec 08 14:47:29 2021 +0100"
      },
      "message": "Fix serialization of missing UUID\n\nnew byte[\u0027e\u0027] was thought to produce [101] but it produces an byte[]\nof length 101 containing only zero\u0027s.\n\nAdd serialization test for missing UUID.\n\nSolves: Jira GER-1615\nChange-Id: I5ead35124111aa3c33180e2cc889a9c06dce4e34\n"
    },
    {
      "commit": "5e796237c38732daed91a000c06fe1aa73687979",
      "tree": "93e650a2c4235ec5446b122b8329a3fbadb1377e",
      "parents": [
        "9018e8f66b63390039842a79bd61d181964540b7"
      ],
      "author": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Wed Dec 01 11:14:59 2021 +0100"
      },
      "committer": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Wed Dec 01 11:49:48 2021 +0100"
      },
      "message": "GraphQlClient: fix error handling\n\n* Don\u0027t try to parse result if response-code is not 200\n* Throw exception if not able to parse response.\n\nSolves: Jira GER-1625\nChange-Id: Ib7b3c226272e40abe24048577c008a599dadd3cc\n"
    },
    {
      "commit": "9018e8f66b63390039842a79bd61d181964540b7",
      "tree": "b15d23588fd4d23b6b3ca23a480b807c87902c0d",
      "parents": [
        "c0bc4bdc582ad0c7880538cf51121fae96629ccf"
      ],
      "author": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Tue Nov 30 15:33:19 2021 +0100"
      },
      "committer": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Wed Dec 01 11:21:13 2021 +0100"
      },
      "message": "Avoid NoSuchElementException \"No value present\"\n\nWhen parsing the response from Cache#getIfPresent we end up in states\nwhere EiffelEventIdCache#getEventIdIfPresent throws\nNoSuchElementException.\nRewrite the conversion from @Nullable Optional\u003cUUID\u003e to Optional\u003cUUID\u003e\nto be more clear to avoid this or at least get a clear indication of\nexactly what happens.\n\nSolves: Jira GER-1612\nChange-Id: I3668c29aa284674a0cf8e36be80162f4d1bf71eb\n"
    },
    {
      "commit": "c0bc4bdc582ad0c7880538cf51121fae96629ccf",
      "tree": "5c1931bcb96facb18e0f2be9ce78f343297b8d17",
      "parents": [
        "727f68d633b2320599853139235cff57682b50ee"
      ],
      "author": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Tue Nov 30 13:51:47 2021 +0100"
      },
      "committer": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Wed Dec 01 11:21:13 2021 +0100"
      },
      "message": "UnprocessedCommitWalker: check for ZERO_ID before parsing\n\nFor a created branch commitSha1TransactionEnd is set to ZERO_ID, but\nwe check that first after we are trying to parse RevCommit from it.\nSet transactionEnd to null if commitSha1TransactionEnd is equal to\nZERO_ID.\n\nSolves: Jira GER-1611\nChange-Id: I921752bd8140c0e8ff6e2a5829baac3e3554ccfc\n"
    },
    {
      "commit": "727f68d633b2320599853139235cff57682b50ee",
      "tree": "944b6ffbd3befc2b88b8d352cb6f2d95977f6857",
      "parents": [
        "df09d381e502505d5ee76c4aa9a499ed77320f31"
      ],
      "author": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Tue Nov 23 13:02:36 2021 +0100"
      },
      "committer": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Fri Nov 26 09:23:09 2021 +0100"
      },
      "message": "Mapping: Translate git time to epoch millis\n\nGit records time in seconds since epoch, Eiffel requires millis since\nepoch.\n\nSolves: Jira GER-1614\nChange-Id: I841dbba504153986df52d3144503403f54e1ec19\n"
    },
    {
      "commit": "df09d381e502505d5ee76c4aa9a499ed77320f31",
      "tree": "7afef0985bd43a88f910ca89eef466ec9da7d850",
      "parents": [
        "36d8cce3aa924088323804600ded8010ee19ebef"
      ],
      "author": {
        "name": "David Åkerman",
        "email": "davidak@axis.com",
        "time": "Mon Nov 22 16:57:23 2021 +0100"
      },
      "committer": {
        "name": "David Åkerman",
        "email": "davidak@axis.com",
        "time": "Tue Nov 23 13:36:07 2021 +0100"
      },
      "message": "Make eventIds private instead of public\n\nChange-Id: I2eb616a7ec21f3d8b8a5e66c318cc0a1b8d64e51\n"
    },
    {
      "commit": "36d8cce3aa924088323804600ded8010ee19ebef",
      "tree": "90c5566a82f2040660da4c5605436f84070a1eed",
      "parents": [
        "b7b8b895f8588d5d243027d710151737ccafe754"
      ],
      "author": {
        "name": "David Åkerman",
        "email": "davidak@axis.com",
        "time": "Mon Nov 15 12:57:34 2021 +0100"
      },
      "committer": {
        "name": "David Åkerman",
        "email": "davidak@axis.com",
        "time": "Mon Nov 22 10:42:51 2021 +0100"
      },
      "message": "Make it possible to re-create ArtifactCreated events\n\nThis change add a force flag, which when is true make it possible to\ncreate ArtifactCreated event for reused tags. This flag can only be\nused when creating events through the REST endpoints.\n\nThe creation of ArtifactCreated event is also changed sligthly.\nBefore we always checked if there already was a CD and if there was\nwe used it. Now we skip this check and always create a new CD for\neach new ArtifactCreated event. It should not matter much because if\nwe create a new ArtifactCreated event there should almost never be a\nCD we can reuse(an exception is if Gerrit crash directly after a CD\ncreation).\n\nSolves: Jira GER-1573\nChange-Id: I6622fa714a99aaa1a121cedfdf3b567d435ebc4f\n"
    },
    {
      "commit": "b7b8b895f8588d5d243027d710151737ccafe754",
      "tree": "3d6a8820ec1ae07bac2460544f2e7ce152be831b",
      "parents": [
        "3d4bf314dd0d3bbe9702f1050d8b506607c4467a"
      ],
      "author": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Wed Nov 03 13:10:29 2021 +0100"
      },
      "committer": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Thu Nov 04 12:00:58 2021 +0100"
      },
      "message": "Don\u0027t call event repository when trustLocalCache is set\n\nChange-Id: Id3fdab48a856b1f6f33f7e7688b61da9b1f49e1a\n"
    },
    {
      "commit": "3d4bf314dd0d3bbe9702f1050d8b506607c4467a",
      "tree": "1d22f8fcddfb9460c786587bbecb859c83094f35",
      "parents": [
        "fc5c6465262cf7a12250756fad8024fcf886483a"
      ],
      "author": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Wed Nov 03 11:42:31 2021 +0100"
      },
      "committer": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Thu Nov 04 12:00:58 2021 +0100"
      },
      "message": "Alert publishing and parsing threads that EventHub is closed\n\nSo that they terminate after call to EventHub#stopPublishing().\n\nLower the wait timeout for publishing threads calling EventHub#take\nto 2 seconds so that they have time to shutdown nicely before being\ninterrupted.\n\nChange-Id: Ida6b37b214b6ad914972176b5ac638c48ac9a56c\n"
    },
    {
      "commit": "fc5c6465262cf7a12250756fad8024fcf886483a",
      "tree": "d0f979895a33dfd1ea874aeb3424daf2d666b88d",
      "parents": [
        "9d877a9f7db1c9d29257b216fc7a9053c214fae6"
      ],
      "author": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Tue Nov 02 08:53:05 2021 +0100"
      },
      "committer": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Thu Nov 04 12:00:52 2021 +0100"
      },
      "message": "CD: Use peeled commit id for annotated tags\n\nFor annotated tags newObjectId is the ObjectId of the tag itself\nand not the ObjectId of the referenced commit.\nIn case of annotated tags peel the reference to get the ObjectId\nof the commit when looking up corresponding SCS.\n\nSolves: Jira GER-1566\nChange-Id: I4bf689e49459d580d8f4a64c4014283870fd276b\n"
    },
    {
      "commit": "9d877a9f7db1c9d29257b216fc7a9053c214fae6",
      "tree": "51588fef660193b8f1e34e0bdd4872541f2992ea",
      "parents": [
        "6a19e32266ee34368616dc61e65ac1229de543f5"
      ],
      "author": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Tue Nov 02 08:52:07 2021 +0100"
      },
      "committer": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Tue Nov 02 12:01:05 2021 +0100"
      },
      "message": "Rename BranchUpdateListener -\u003e RefUpdateListener\n\nThis is more correct since it\u0027s currently listening to both branches\nand tags.\n\nChange-Id: I4dac616529600c137752847199bb74dcaad9c35b\n"
    },
    {
      "commit": "6a19e32266ee34368616dc61e65ac1229de543f5",
      "tree": "2574e0efa841140a30afa045e71330d7551b9268",
      "parents": [
        "c9020b9232dfe01765e548772128aba2ec3202c2"
      ],
      "author": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Thu Oct 28 12:04:10 2021 +0200"
      },
      "committer": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Fri Oct 29 16:18:30 2021 +0200"
      },
      "message": "Event publishing: Set 5 seconds timeout for EventHub#take\n\nPulisher-threads hold here indefinitely, if plugin is reloaded when\nqueue is empty, and holds a reference to the EventHubImpl.\n\nChange-Id: I3f515b53cbcdaa9743bc726e257bb60f71d01789\n"
    },
    {
      "commit": "c9020b9232dfe01765e548772128aba2ec3202c2",
      "tree": "c966dd384e846a0fdc588a5f3c17942fdef42c12",
      "parents": [
        "d481cc3fd0c371df91d068cdec24cc5102867404"
      ],
      "author": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Wed Oct 27 14:22:00 2021 +0200"
      },
      "committer": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Fri Oct 29 16:18:23 2021 +0200"
      },
      "message": "Wait for confirms of published events and add them to cache\n\nSolves: Jira GER-1561\nChange-Id: Ie0a41d2db66bfd49f01e0721c1774759d0f7f8a6\n"
    },
    {
      "commit": "d481cc3fd0c371df91d068cdec24cc5102867404",
      "tree": "74869c731ff0df36035e975d1a87addea9899764",
      "parents": [
        "2416b482ab2f3ebcd05fd21dfe73c063d4a57473"
      ],
      "author": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Thu Oct 28 16:46:22 2021 +0200"
      },
      "committer": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Thu Oct 28 16:46:22 2021 +0200"
      },
      "message": "Test: raise test event-publisher wait timeout 200 -\u003e 500\n\nChange-Id: I2d69abb23477c76fa875c9bccb792776e6f25109\n"
    }
  ],
  "next": "2416b482ab2f3ebcd05fd21dfe73c063d4a57473"
}
