Never report security issues on GitHub or other public channels (Gitter/Twitter/etc.), follow the instruction from Jenkins Security to report it on Jenkins Jira
See COMPATIBILITY
You can contribute in many ways, and whatever you choose we're grateful! Source code contribution is the obvious one but we also need your feedback and if you don't really want to participate in the implementation directly you may still have great ideas about features we need (or should get rid of).
We have our vision for the plugin and we have an experience with maintaining Jenkins instances, but the plugin is not supposed to solve only our problems. Surely we haven't experienced all of them... That's why we want to hear from you.
Please use GitHub issues if you need to report a bug or request changes/improvements. Whenever you report a problem please provide information about:
- Plugin version (Configuration as Code plugin as well any other plugin you suspect your problem to be related to)
- Jenkins version
- Operating system
- Description!
- Create a GitHub issue for your feature/problem you want to solve
- Implement solution on a branch in your fork
- Make sure to include issue number in commit message, and make the message speak for itself
- Once you're done create a pull request and ask at least one of the maintainers for review
- Remember to title your pull request properly as it is used for release notes
Never push directly to this repository!
If you are just starting with contribution to Jenkins, we have identified some newbie-friendly issues related to Configuration-as-Code. Here are some queries you can use to find such issues:
Somebody keeps fixing these issues all the time 😱. If the lists are empty, just ask in our Gitter Channel.
Meeting minutes and meeting recordings of Jenkins Configuration as Code office hours are available for reference. See our Gitter chat for online chat.
Prerequisites: Java, Maven & IntelliJ IDEA
-
Ensure Java 11 or 17 is available.
java --version
-
Ensure Maven is included in the PATH environment variable.
export PATH=$PATH:/path/to/apache-maven-3.8.6/bin
-
Open the root directory of this project in IntelliJ IDEA.
-
If you are opening the first time, wait patiently while project dependencies are being downloaded.
-
Verify that IntelliJ IDEA is not using bundled maven.
- Click
File
->Preferences...
->Build, Execution, Deployment
->Build Tools
->Maven
. Maven home directory:
has/path/to/apache-maven-x.y.z
value, notBundled (Maven 3)
.
- Click
-
Use the
start jenkins
run configuration stored in the.run
folder of this project, (if you wish to change it then duplicate it and maintain your own local copy) -
Open http://localhost:8085/jenkins/configuration-as-code/ to test the plugin locally.
- Go into the
plugin
child directory under the root directory of this project. - Use the below commands.
export JAVA_HOME=`/usr/libexec/java_home -v 1.8`
export PATH=$PATH:/path/to/apache-maven-3.8.6/bin
mvn hpi:run
...
INFO: Jenkins is fully up and running
- Open http://localhost:8080/jenkins/configuration-as-code/ to test the plugin locally.