How to write rules
Please follow the DATA model user guide present here. Submit only the .conf files
How to contribute
- Create a personal fork of the project on Github
- Clone the fork on your local machine. Your remote repo on Github is called origin
- Add the original repository as a remote called upstream
- If you created your fork a while ago be sure to pull upstream changes into your local repository. Your fork needs to be in sync with upstream for pull request to get merged
- Make changes
- From your fork open a pull request to the development branch
- To contribute to "juniper_official"
- You must be a juniper employee.
- Subscribe to 'healthbot-rules-official' alias on jam.juniper.net
- Your latest commit on the pull request must be a verified commit and must be signed with your juniper employee email id. Follow the below section for signing a commit.
- Rules can get promoted from “community-contribution” to “juniper-official” based on field feedback and its applicability
- Pull request will be closed automatically if you contributed to the 'Juniper_Official' folder. Please refrain from doing that if you are not a employee
Signing a commit
- Follow the steps from here to generate and add gpg key to your github user account. Use your internal juniper email address for the key.
- Follow the steps from here to add and verify the internal juniper email address to your github account
- Set your local repo to use the key generated above for making signed commits
- Use the
gpg --list-secret-keys --keyid-format LONGcommand to list GPG keys and copy the short key
$ gpg --list-secret-keys --keyid-format LONG /Users/hubot/.gnupg/secring.gpg ------------------------------------ sec 4096R/<COPY_SHORT_KEY> 2016-03-10 [expires: 2017-03-10] uid Hubot ssb 4096R/42B317FD4BA89E7A 2016-03-10
- Set git to use commit signing using
git config commit.gpgsign true
- Set git to use the key generated above using
git config user.signingKey <PASTE_SHORT_KEY_HERE>
- Use '-S' flag while making a commit e.g.
git commit -S -m your commit message
- NOTE - You need to set the juniper email id in your git configuration
- Use the
- CI pipeline is run for every submitted and updated pull request. Reviewer will only review the rules after it passes the automated syntax testing.
- Any syntax error occured on all the changed files will be reported back as a review comment.
- CI pipeline can also be triggered by commenting 'Jenkins please retry a build' on the pull request