{"id":25776295,"url":"https://github.com/indeedeng/proctor","last_synced_at":"2025-12-30T14:36:35.629Z","repository":{"id":10802792,"uuid":"13075200","full_name":"indeedeng/proctor","owner":"indeedeng","description":"Proctor is a Java-based A/B testing framework developed by, and used heavily within, Indeed.","archived":true,"fork":false,"pushed_at":"2024-07-10T14:59:38.000Z","size":38065,"stargazers_count":465,"open_issues_count":18,"forks_count":123,"subscribers_count":51,"default_branch":"master","last_synced_at":"2025-02-25T10:05:42.944Z","etag":null,"topics":["ab-testing","webapps"],"latest_commit_sha":null,"homepage":"http://opensource.indeedeng.io/proctor","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/indeedeng.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2013-09-24T19:58:51.000Z","updated_at":"2025-02-18T02:49:33.000Z","dependencies_parsed_at":"2023-10-11T17:43:14.009Z","dependency_job_id":"6bf03318-2e0e-4001-9d7a-54c08138a185","html_url":"https://github.com/indeedeng/proctor","commit_stats":null,"previous_names":[],"tags_count":254,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/indeedeng%2Fproctor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/indeedeng%2Fproctor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/indeedeng%2Fproctor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/indeedeng%2Fproctor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/indeedeng","download_url":"https://codeload.github.com/indeedeng/proctor/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240987435,"owners_count":19889333,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ab-testing","webapps"],"created_at":"2025-02-27T06:01:21.055Z","updated_at":"2025-12-18T07:14:21.323Z","avatar_url":"https://github.com/indeedeng.png","language":"Java","readme":"# Proctor\n\n![Lifecycle](https://img.shields.io/osslifecycle/indeedeng/proctor.svg)\n\nNOTE: Indeed has discontinued supporting this project. Archiving will take place on 7/10/24.\nIf you are interested in taking over as the Maintainer, please contact Indeed at opensource@indeed.com\n\nProctor is a A/B testing framework written in Java that enables [data-driven product design](https://engineering.indeedblog.com/talks/data-driven-product-design/) at Indeed.\n\nProctor consists of data-model, client specification, client loader, matrix builder, java code generator.\n\n# Features:\n- consistent tests across multiple applications\n- group assignment adjustments without code deploys\n- rule-based group assignment: e.g. US users experience 50% A, 50% B and non-US users are 25% A, 25% B, 25% C, 25% D\n- human-readable test format\n- forcing of test groups for internal testing\n- java code generation for A/B tests groups\n\n# Installation\nSee [Quick Start](http://indeedeng.github.io/proctor/docs/quick-start) guide\n\n# Example\nSee [proctor demo](http://www.github.com/indeedeng/proctor-demo)\n\n# Documentation\nhttp://indeedeng.github.io/proctor\n\n## Building documentation locally\n\n```bash\n$ git checkout gh-pages\n$ gem install bundler\n$ bundle install\n$ rake clean serve\n  =\u003e open http://localhost:4000/ in browser\n```\n\n# Building\n\nNeed to use Java 11 SDK for using gradle:\n\nList installed java JVMs on MacOS:\n```bash\n$ /usr/libexec/java_home -V\n```\n\nExample output:\n```\nMatching Java Virtual Machines (9):\n    17.0.6 (arm64) \"Azul Systems, Inc.\" - \"Zulu 17.40.19\" /Library/Java/JavaVirtualMachines/jdk17.0.6.jdk/Contents/Home\n    11.0.18 (arm64) \"Azul Systems, Inc.\" - \"Zulu 11.62.17\" /Library/Java/JavaVirtualMachines/jdk11.0.18.jdk/Contents/Home\n    11.0.17 (arm64) \"Azul Systems, Inc.\" - \"Zulu 11.60.19\" /Library/Java/JavaVirtualMachines/jdk11.0.17.jdk/Contents/Home\n    11.0.16 (arm64) \"Azul Systems, Inc.\" - \"Zulu 11.58.15\" /Library/Java/JavaVirtualMachines/jdk11.0.16_8.jdk/Contents/Home\n    11.0.15 (arm64) \"Azul Systems, Inc.\" - \"Zulu 11.56.19\" /Library/Java/JavaVirtualMachines/jdk11.0.15_10.jdk/Contents/Home\n    1.8.0_362 (arm64) \"Azul Systems, Inc.\" - \"Zulu 8.68.0.21\" /Library/Java/JavaVirtualMachines/jdk1.8.0_362.jdk/Contents/Home\n    1.8.0_345 (arm64) \"Azul Systems, Inc.\" - \"Zulu 8.64.0.19\" /Library/Java/JavaVirtualMachines/jdk1.8.0_345.jdk/Contents/Home\n    1.8.0_332 (arm64) \"Azul Systems, Inc.\" - \"Zulu 8.62.0.19\" /Library/Java/JavaVirtualMachines/jdk1.8.0_332.jdk/Contents/Home\n    1.8.0_322 (arm64) \"Azul Systems, Inc.\" - \"Zulu 8.60.0.21\" /Library/Java/JavaVirtualMachines/jdk1.8.0_322.jdk/Contents/Home\n```\n\nSet JVM version in MacOS:\n```bash\n$ export JAVA_HOME=`/usr/libexec/java_home -v 11.0.18`\n```\n\nHow to Build:\n\n```bash\n$ ./gradlew build\n```\n\n# Local Install\n\nRun the following gradle command and note the local version from the output:\n\n```bash\n$ ./gradlew clean check publish --refresh-dependencies \n```\n\nExample output:\n\n```\nCalculating version to use for publish ...\nNow using version: 0.local.20230711170543\n\n\u003e Task :proctor-common:compileJava\n```\n\nExample above would create local installation of proctor with version equal to `0.local.20230711170543`\n\n# Discussion\n\nUse the [indeedeng-proctor-users](https://groups.google.com/d/forum/indeedeng-proctor-users) Q\u0026A forum to ask and answer questions about the use of Proctor.\n\n# Deploying\n\n# Contributing\n\n# See Also (other A/B test frameworks)\n- [seatgeek/sixpack](https://github.com/seatgeek/sixpack)\n- [bitlove/rollout](https://github.com/bitlove/rollout)\n- [maccman/abba](https://github.com/maccman/abba)\n- [assaf/vanity](https://github.com/assaf/vanity)\n\n# Code of Conduct\nThis project is governed by the [Contributor Covenant v 1.4.1](CODE_OF_CONDUCT.md)\n\n# License\n\n[Apache License Version 2.0](https://github.com/indeedeng/proctor/blob/master/LICENSE)\n","funding_links":[],"categories":["测试"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Findeedeng%2Fproctor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Findeedeng%2Fproctor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Findeedeng%2Fproctor/lists"}