)]}'
{
  "commit": "1d9c579b5ce86adcd2e00476db881dcfaf65f12a",
  "tree": "9a8d855f7b65e80436cfae55ac17633357946fd1",
  "parents": [
    "80a280a847b9981a58c7b9c452568d474f4f30a1"
  ],
  "author": {
    "name": "Dariusz Luksza",
    "email": "dariusz.luksza@gmail.com",
    "time": "Tue Mar 05 14:23:56 2024 +0000"
  },
  "committer": {
    "name": "Dariusz Luksza",
    "email": "dariusz.luksza@gmail.com",
    "time": "Mon May 13 23:17:57 2024 +0100"
  },
  "message": "TrackActive: Automatically disable inactive accounts\n\nBuild on top of the `track-active-users-1.0` (already renamed to\n`track-and-disable-inactive-users-1.0.groovy) script and add the\npossibility of automatically disabling inactive accounts after\na preconfigured period.\n\nThe new functionality will mark inactive accounts that are not present\nin `track-and-disable-inactive.users_cache`. The inactivity period can\nbe controlled by the `users_cache` `maxAge` configuration option.\n\nTo automatically disable users that are removed from `users_cache` we\nregister a `CacheRemovalListener` that will disable accounts as they\nare evicted. Additionally, in case of explicit removal, the entry will\nbe re-added. This is to prevent full instance lockdown when\n`users_cache` is flushed using the SSH command.\n\nTo test this feature, copy the\n`admin/track-and-disable-inactive-users-1.0.groovy` into\n`$gerrit_site/plugins` and add the following configuration to\n`$gerrit_site/etc/gerrit.config`:\n\n[cache \"track-and-disable-inactive-users.users_cache\"]\n  maxAge \u003d 1min\n\nThe `CacheRemovalListener` only fires, when the cache is updated. To\nsee any evictions, you would need at least two accounts in Gerrit and\nmake sure that one of them is constantly being used (eg. reloading the\nweb page). Eventually, you should see a log message saying that the\nother account was disabled.\n\nBug: Issue: 327730872\nChange-Id: I34974d842d6f73784d43932b587a6461eaf2ffae\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "9cca5432381918301324fd11adcf9d4d5200d88b",
      "old_mode": 33188,
      "old_path": "admin/README.md",
      "new_id": "7c0ba9f3ee8269e4097606e94ecf4d47cef90fd5",
      "new_mode": 33188,
      "new_path": "admin/README.md"
    },
    {
      "type": "modify",
      "old_id": "d0d5c61ca899b8aaf052a170b4aefd82c0e2fe4e",
      "old_mode": 33188,
      "old_path": "admin/track-and-disable-inactive-users-1.0.groovy",
      "new_id": "33ae335ab66cb0723cb41ec54fd1d3890f8671ee",
      "new_mode": 33188,
      "new_path": "admin/track-and-disable-inactive-users-1.0.groovy"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "6a91de540a36415a4ee41a33d153c59bc2d0f504",
      "new_mode": 33188,
      "new_path": "admin/track-and-disable-inactive-users.md"
    }
  ]
}
