General rules:
- check the general Jenkins development guide
- make sure to provide tests
- when adding new fields, make sure to include backward-compatibility and tests for that
- mark the Pull Request as draft initially, to make sure all the checks pass correctly, then convert it to non-draft.
The pre-commit hooks run various checks to make sure no unwanted files are committed and that the submitted change follows the code style and formatting rules:
brew install pre-commit && pre-commit install --install-hooksUse docker-compose to run a local Jenkins instance with the plugin installed. The configuration includes local volumes for both: Jenkins and ssh-agent, so you can easily test the plugin in a clean environment.
To resolve some binary compatibility issues, the sources from the artifact com.atlassian.httpclient:atlassian-httpclient-plugin:0.23 has been imported in the project to have control over http(s) protocol transport layer. The downloaded sources didn't have any license headers but based on the pom sources are Apache License (see pom in src/main/resources/atlassian-httpclient-plugin-0.23.0.pom)
There is a Jira Cloud test instance that the changes can be tested against, official maintainers are admins that can grant access for testing to PR submitters on a need-to-have basis.