Thanks for your interest in improving fastlane-plugin-testingbot! Contributions of all kinds are welcome — bug
reports, documentation fixes, and code.
-
Fork and clone the repository.
-
Install dependencies:
bundle install
-
Run the test suite and linter (this is the same gate CI enforces):
bundle exec rakerakeruns RSpec and RuboCop. Run them individually withbundle exec rspecandbundle exec rubocop(auto-fix style issues withbundle exec rubocop -a).
lib/fastlane/plugin/testingbot/
actions/ # one file per fastlane action (auto-loaded)
helper/ # shared logic (HTTP/upload) so actions stay thin
version.rb # gem version (single source of truth)
spec/ # RSpec specs + fixtures (HTTP is stubbed with WebMock)
Actions are kept thin: validation and lane-context wiring live in the action, while the HTTP work lives in
Helper::TestingbotHelper. New actions added under actions/ are auto-required, so no wiring is needed.
- Add tests for any behavior change. Network calls must be stubbed with WebMock — never hit the real TestingBot API in the test suite.
- Keep
bundle exec rakegreen (specs + RuboCop) before opening a PR. - Update the
README.mdandCHANGELOG.mdwhen you change user-facing behavior. - Use
UI.message/UI.success/UI.user_error!(notputs/raise) for user-facing output, matching fastlane conventions. - Never commit credentials, and redact any TestingBot key/secret from logs or test data.
- Create a feature branch off
main. - Make your change with tests and docs.
- Ensure
bundle exec rakepasses. - Open a PR using the template and describe the change and motivation.
By contributing, you agree that your contributions are licensed under the MIT License.
Please do not open public issues for security problems — see SECURITY.md for the private reporting process.