{"id":14008420,"url":"https://github.com/jenkins-infra/ircbot","last_synced_at":"2025-04-08T17:31:15.562Z","repository":{"id":1200312,"uuid":"1108234","full_name":"jenkins-infra/ircbot","owner":"jenkins-infra","description":"Jenkins IRCbot","archived":false,"fork":false,"pushed_at":"2023-11-01T01:33:55.000Z","size":604,"stargazers_count":24,"open_issues_count":10,"forks_count":29,"subscribers_count":9,"default_branch":"main","last_synced_at":"2025-03-23T16:43:06.643Z","etag":null,"topics":["docker","ircbot","jenkins","jenkins-infra"],"latest_commit_sha":null,"homepage":"https://jenkins.io/projects/infrastructure/ircbot/","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jenkins-infra.png","metadata":{"funding":{"community_bridge":"jenkins","custom":["https://jenkins.io/donate/#why-donate"]},"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}},"created_at":"2010-11-24T06:09:37.000Z","updated_at":"2024-12-22T09:18:01.000Z","dependencies_parsed_at":"2024-01-31T09:20:55.000Z","dependency_job_id":"42cc592f-69dd-4c6b-adb7-44c47ccfd86e","html_url":"https://github.com/jenkins-infra/ircbot","commit_stats":null,"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jenkins-infra%2Fircbot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jenkins-infra%2Fircbot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jenkins-infra%2Fircbot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jenkins-infra%2Fircbot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jenkins-infra","download_url":"https://codeload.github.com/jenkins-infra/ircbot/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247892360,"owners_count":21013691,"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":["docker","ircbot","jenkins","jenkins-infra"],"created_at":"2024-08-10T11:01:39.545Z","updated_at":"2025-04-08T17:31:15.169Z","avatar_url":"https://github.com/jenkins-infra.png","language":"Java","funding_links":["https://funding.communitybridge.org/projects/jenkins","https://jenkins.io/donate/#why-donate"],"categories":["Java"],"sub_categories":[],"readme":"# JIRA/GitHub management IRCBot\n\n[![Build Status](https://ci.jenkins.io/job/Infra/job/ircbot/job/main/badge/icon)](https://ci.jenkins.io/job/Infra/job/ircbot/job/main/)\n[![Docker Pulls](https://img.shields.io/docker/pulls/jenkinsciinfra/ircbot)](https://hub.docker.com/r/jenkinsciinfra/ircbot)\n\nThis IRC bot sits on `#jenkins` as `jenkins-admin` and allow users to create/fork repositories on GitHub, etc. More info: [Jenkins IRC Bot Page](https://jenkins.io/projects/infrastructure/ircbot/)\n\n## Deployment\n\nThis repo is containerized (image available [on docker hub](https://hub.docker.com/r/jenkinsciinfra/ircbot/)), then [deployed to our infrastructure](https://github.com/jenkins-infra/kubernetes-management/blob/ccf43dc44f10e813ec50d9c3358b3ae0b4482f8b/clusters/privatek8s.yaml#L137-L144) via Helmfile.\n\nYou can find the helm chart and instructions to install it in [jenkins-infra/helm-charts](https://github.com/jenkins-infra/helm-charts/tree/main/charts/ircbot).\n\n## License\n\n[MIT License](https://opensource.org/licenses/mit-license.php)\n\n## Developer guide\n\nThis section contains some info for developers.\n\n### Reusing IRCBot in non-Jenkins project\n\nThe bot is designed to be used in Jenkins, but it can be adjusted in other projects, \nwhich use the similar infrastructure (GitHub, IRC, JIRA). \nAdjustements can be made via System properties.\nThese properties are located and documented in the \n\u003ccode\u003eorg.jenkinsci.backend.ircbot.IrcBotConfig\u003c/code\u003e class.\n\nSeveral examples are provided below.\n\n### Building the bot\n\n0. Use Maven to build the project and to run the unit tests.\n0. Then use Dockerfile to create a Docker image\n\nFor detailed examples see [Jenkinsfile](Jenkinsfile) located in this repository.\n\n### Testing the bot locally\n\nPreconditions:\n\n0. You have a JIRA **Test** Project, where you have admin permissions.\n1. You have a GitHub Organization with ```Administer``` permissions\n\nSetting up the environment:\n\n0. Setup Github credentials in the ```~/.github``` file\n * Format: Java properties\n * Entries to set: ```login``` and ```password```\n * It's also possible ```oauth``` and ```endpoint``` properties \n (see [github-api](https://github.com/kohsuke/github-api))\n1. Setup JIRA credentials in the ```~/.jenkins-ci.org``` file\n * Format: Java properties\n * Entries to set: ```userName``` and ```password```\n\nRunning the bot for testing:\n\n```sh\njava -Dircbot.name=test-ircbot \\ \n-Dircbot.channels=\"#jenkins-ircbot-test\" \\ \n-Dircbot.testSuperUser=\"${YOUR_IRC_NAME}\" \\ \n-Dircbot.github.organization=\"jenkinsci-infra-ircbot-test\" \\\n-Dircbot.jira.url=${JIRA_URL} \\\n-Dircbot.jira.defaultProject=TEST \\\n-Dorg.slf4j.simpleLogger.showDateTime=true \\\n-Dorg.slf4j.simpleLogger.dateTimeFormat=\"yyyy-MM-dd HH:mm:ss:SSS Z\"\n-jar target/ircbot-2.0-SNAPSHOT-bin/ircbot-2.0-SNAPSHOT.jar \n```\n\nAfter executing this command the bot should connect to your IRC chat.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjenkins-infra%2Fircbot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjenkins-infra%2Fircbot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjenkins-infra%2Fircbot/lists"}