{"id":20074117,"url":"https://github.com/juniper/healthbot-rules","last_synced_at":"2025-04-05T01:07:24.441Z","repository":{"id":33272289,"uuid":"122032899","full_name":"Juniper/healthbot-rules","owner":"Juniper","description":null,"archived":false,"fork":false,"pushed_at":"2025-02-20T04:25:32.000Z","size":5144,"stargazers_count":43,"open_issues_count":55,"forks_count":86,"subscribers_count":30,"default_branch":"master","last_synced_at":"2025-02-28T21:41:52.455Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Juniper.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"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":"2018-02-19T07:58:24.000Z","updated_at":"2024-11-22T12:46:54.000Z","dependencies_parsed_at":"2024-04-15T07:04:08.377Z","dependency_job_id":"be6e4a39-a310-481c-a9e2-dd1904cfc4b6","html_url":"https://github.com/Juniper/healthbot-rules","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Juniper%2Fhealthbot-rules","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Juniper%2Fhealthbot-rules/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Juniper%2Fhealthbot-rules/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Juniper%2Fhealthbot-rules/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Juniper","download_url":"https://codeload.github.com/Juniper/healthbot-rules/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247271530,"owners_count":20911587,"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":[],"created_at":"2024-11-13T14:49:28.802Z","updated_at":"2025-04-05T01:07:24.425Z","avatar_url":"https://github.com/Juniper.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# How to write rules\r\nPlease follow the DATA model user guide present [here](https://www.juniper.net/documentation/en_US/healthbot/help/information-products/pathway-pages/topic-131332.html).\r\nSubmit only the .conf files\r\n\r\n# How to contribute\r\n- Create a personal fork of the project on Github\r\n- Clone the fork on your local machine. Your remote repo on Github is called origin\r\n- Add the original repository as a remote called upstream\r\n- 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\r\n- Make changes \r\n- From your fork open a pull request to the development branch\r\n\r\n**NOTE**\r\n- To contribute to \"juniper_official\"\r\n  - You must be a juniper employee.\r\n  - Subscribe to 'healthbot-rules-official' alias on [jam.juniper.net](jam.juniper.net/)\r\n  - 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.\r\n- Rules can get promoted from “community-contribution” to “juniper-official” based on field feedback and its applicability \r\n- 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\r\n\r\n### Signing a commit\r\n- Follow the steps from [here](https://help.github.com/articles/generating-a-new-gpg-key/) to generate and add gpg key to your github user account. Use your internal juniper email address for the key. \r\n- Follow the steps from [here](https://help.github.com/articles/adding-an-email-address-to-your-github-account/) to add and verify the internal juniper email address to your github account \r\n- Set your local repo to use the key generated above for making signed commits\r\n  - Use the `gpg --list-secret-keys --keyid-format LONG` command to list GPG keys and copy the short key\r\n    ```\r\n    $ gpg --list-secret-keys --keyid-format LONG\r\n    /Users/hubot/.gnupg/secring.gpg\r\n    ------------------------------------\r\n    sec   4096R/\u003cCOPY_SHORT_KEY\u003e 2016-03-10 [expires: 2017-03-10]\r\n    uid                          Hubot \r\n    ssb   4096R/42B317FD4BA89E7A 2016-03-10\r\n    ```\r\n  - Set git to use commit signing using `git config commit.gpgsign true`\r\n  - Set git to use the key generated above using `git config user.signingKey \u003cPASTE_SHORT_KEY_HERE\u003e`\r\n  - Use '-S' flag while making a commit e.g. `git commit -S -m your commit message`\r\n  - NOTE - You need to set the juniper email id in your git configuration\r\n\r\n# Automated Testing\r\n- CI pipeline is run for every submitted and updated pull request. Reviewer will only review the rules after it passes the automated syntax testing.\r\n- Any syntax error occured on all the changed files will be reported back as a review comment.\r\n- CI pipeline can also be triggered by commenting 'Jenkins please retry a build' on the pull request\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjuniper%2Fhealthbot-rules","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjuniper%2Fhealthbot-rules","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjuniper%2Fhealthbot-rules/lists"}