{"id":14984613,"url":"https://github.com/codemc/api","last_synced_at":"2025-10-09T05:06:58.951Z","repository":{"id":249874467,"uuid":"832771485","full_name":"CodeMC/API","owner":"CodeMC","description":"The Backend API for the CodeMC Jenkins and Nexus Services ","archived":false,"fork":false,"pushed_at":"2025-04-09T22:24:05.000Z","size":968,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-09T23:24:35.641Z","etag":null,"topics":["codemc","codemc-api","java","jenkins","kotlin","nexus"],"latest_commit_sha":null,"homepage":"https://codemc.github.io/API/","language":"Kotlin","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/CodeMC.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","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":"2024-07-23T17:35:01.000Z","updated_at":"2025-04-09T22:17:08.000Z","dependencies_parsed_at":"2024-08-29T21:28:59.113Z","dependency_job_id":"8f884bc6-e268-4430-a835-6a23646e31c1","html_url":"https://github.com/CodeMC/API","commit_stats":{"total_commits":77,"total_committers":3,"mean_commits":"25.666666666666668","dds":"0.20779220779220775","last_synced_commit":"ff2af81dd61a507334915b941dd4e4cbb5b0b25b"},"previous_names":["codemc/api"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CodeMC%2FAPI","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CodeMC%2FAPI/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CodeMC%2FAPI/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CodeMC%2FAPI/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CodeMC","download_url":"https://codeload.github.com/CodeMC/API/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248298861,"owners_count":21080418,"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":["codemc","codemc-api","java","jenkins","kotlin","nexus"],"created_at":"2024-09-24T14:09:20.368Z","updated_at":"2025-10-09T05:06:53.901Z","avatar_url":"https://github.com/CodeMC.png","language":"Kotlin","readme":"# CodeMC API\r\n\r\nThis is the official API for CodeMC Jenkins and Nexus services. It is used by the\r\nDiscord Bot to do various tasks as a part of our service to our users.\r\n\r\n## Installation\r\n\r\n[![GitHub branch checks state](https://github.com/CodeMC/API/actions/workflows/build.yml/badge.svg)](https://github.com/gmitch215/SocketMC/actions/workflows/build.yml)\r\n![GitHub](https://img.shields.io/github/license/CodeMC/API)\r\n![GitHub issues](https://img.shields.io/github/issues/CodeMC/API)\r\n\r\n\u003cdetails\u003e\r\n    \u003csummary\u003eMaven\u003c/summary\u003e\r\n\r\n```xml\r\n\u003cproject\u003e\r\n    \r\n    \u003c!-- Import CodeMC Repo --\u003e\r\n    \r\n    \u003crepositories\u003e\r\n        \u003crepository\u003e\r\n            \u003cid\u003ecodemc-public\u003c/id\u003e\r\n            \u003curl\u003ehttps://repo.codemc.io/repository/maven-public/\u003c/url\u003e\r\n        \u003c/repository\u003e\r\n    \u003c/repositories\u003e\r\n    \r\n    \u003cdependencies\u003e\r\n        \u003cdependency\u003e\r\n          \u003cgroupId\u003eio.codemc.api\u003c/groupId\u003e\r\n          \u003cartifactId\u003ecodemc-api\u003c/artifactId\u003e\r\n          \u003cversion\u003e[VERSION]\u003c/version\u003e\r\n        \u003c/dependency\u003e\r\n    \u003c/dependencies\u003e\r\n    \r\n\u003c/project\u003e\r\n```\r\n\u003c/details\u003e\r\n\r\n\u003cdetails\u003e\r\n    \u003csummary\u003eGradle (Groovy)\u003c/summary\u003e\r\n\r\n```gradle\r\nrepositories {\r\n    maven { url 'https://repo.codemc.io/repository/maven-public/' }\r\n}\r\n\r\ndependencies {\r\n    implementation 'io.codemc.api:codemc-api:[VERSION]'\r\n}\r\n```\r\n\u003c/details\u003e\r\n\r\n\u003cdetails\u003e\r\n    \u003csummary\u003eGradle (Kotlin DSL)\u003c/summary\u003e\r\n\r\n```kotlin\r\nrepositories {\r\n    maven(url = \"https://repo.codemc.io/repository/maven-public/\")\r\n}\r\n\r\ndependencies {\r\n    implementation(\"io.codemc.api:codemc-api:[VERSION]\")\r\n}\r\n```\r\n\u003c/details\u003e\r\n\r\n## Local Testing\r\n\r\nTest suites rely on both an active services, such as Nexus and Jenkins instances.\r\nLuckily, the project comes with Docker files to set these up yourself.\r\n\r\nWithout the services, some test suites will fail.\r\n\r\n### Test Script (preferred)\r\n\r\nA bash script is provided to build the containers and run the tests. This is the easiest way to test the project.\r\n\r\nRequires [Docker](https://www.docker.com) to be installed.\r\n\r\n```bash\r\nbash .github/test.sh\r\n```\r\n\r\n### [Act](https://nektosact.com)\r\n\r\nTest the project by using Act, a GitHub Action emulator. This will set up and test everything for you.\r\n\r\n```bash\r\nact push -j 'test'\r\n```\r\n\r\n### Manual\r\n\r\nFirst, build and run both containers:\r\n\r\n```bash\r\n# MariaDB\r\ndocker build -t codemc/mariadb src/test/docker/mariadb\r\ndocker run -d -p 3306:3306 --name mariadb codemc/mariadb\r\n\r\n# Jenkins\r\ndocker build -t codemc/jenkins src/test/docker/jenkins\r\ndocker run -d -p 8080:8080 --name jenkins-rest codemc/jenkins\r\n\r\n# Nexus\r\ndocker build -t codemc/nexus src/test/docker/nexus\r\ndocker run -d -p 8081:8081 --name nexus-rest codemc/nexus\r\n```\r\n\r\nBefore running, copy over the `admin.password` file into the `/tmp/` folder so that the API can log in to the newly created Nexus instance.\r\n\r\n```bash\r\ndocker cp nexus-rest:/nexus-data/admin.password /tmp/admin.password\r\n```\r\n\r\nThen, run the tests:\r\n\r\n```bash\r\n./gradlew test\r\n```","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodemc%2Fapi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcodemc%2Fapi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodemc%2Fapi/lists"}