
Java实现的面向对象GitHub API适配器
jcabi-github是一个基于Java的GitHub API适配器,专注于面向对象编程。它提供GitHub服务器端功能模拟,便于单元测试。支持Java 8及以上版本,具有简洁的API接口。适用于标准GitHub和企业版GitHub,并提供模拟版本用于测试。该库实现了GitHub RESTful API的Java适配,采用面向对象设计。特色功能包括GitHub服务器端模拟,便于进行无需连接实际GitHub服务的单元测试。
这是一个GitHub RESTful API的Java适配器。 市场上有一些类似的实现,但jcabi-github非常注重面向对象的编程原则。此外, 我们还独特地实现了GitHub服务器端功能, 你可以在单元测试中使用它,无需在单元/集成测试期间连接到GitHub。 请阅读这个库的创建者Yegor Bugayenko的博客文章 面向对象的Github API。
需要Java 8或更高版本。
更多详情请见:github.jcabi.com。
你也可以在这个Telegram聊天组获得帮助。
com.jcabi.github
包中的类集是面向对象的API。使用方法如下:
默认情况下,该库与Github的API (https://api.github.com) 配合使用
import com.jcabi.github.*; public class Main { public static void main(String[] args) throws IOException { Github github = new RtGithub(".. 你的OAuth令牌 .."); Repo repo = github.repos().get( new Coordinates.Simple("octocat/Hello-World") ); Issue issue = repo.issues().create("测试标题", "测试描述"); issue.comments().post("我的第一条评论!"); } }
如果你想通过其他域名使用Github的API,你可以使用 RtGithub 类的URI构造函数。例如,如果你在域名 https://github.mydomain.com 下部署了自己的Github实例,可以这样做:
final Github github = new RtGithub(URI.create("https://github.mydomain.com")); //或者 final Github github = new RtGithub( "<<oauth2_token>>", URI.create("https://github.mydomain.com") ); //或者 final Github github = new RtGithub( "username", "password", URI.create("https://github.mydomain.com") );
不要更改或掩盖你的URI!在不同的域名下使用Github是可以的,但不要更改URI的路径。更改请求路径是不可能的,因为这个库的整个架构都依赖于Github的URI路径。
对于更复杂的配置,你可以使用自定义的 Request 来实例化 RtGithub,方法是使用 RtGithub(Request) 构造函数。
请确保正确配置 Request。参考默认Request的创建方式 -- 你基本上需要做同样的事情。
我们还提供了 MkGithub,
这是GitHub服务器的一个模拟版本,你可以在单元测试中使用它,例如:
import com.jcabi.github.*; public class FooTest { public void submitsCommentToGithubIssue() { final Repo repo = new MkGithub().repos().create( Json.createObjectBuilder().add("name", "test").build() ); final Issue issue = repo.issues().create("how are you?", ""); new Foo(issue).doSomething(); // 应该向问题发送一条消息 MasterAssert.assertThat( issue.comments().iterate(), Matchers.iterableWithSize(1) ); } }
fork仓库,进行修改,提交pull request。
我们承诺会在当天审查你的修改,如果看起来没问题就会应用到 master 分支。
在提交pull request之前,请运行Maven(3.1或更高版本!)构建:
$ mvn clean install -Pqulice
有许多集成测试会检查我们的类与实际的Github账户的交互。为了运行这些测试,你需要创建 新的Github OAuth访问令牌 (如何创建?), 并在命令行中提供它们,如下所示:
$ mvn clean install -Dit.test=RtGistITCase -Dfailsafe.github.key=<token> -Dfailsafe.github.key.second=<second-token> -Dfailsafe.github.repo=<repo>
将 <token> 和 <second-token> 替换为两个不同Github账户的OAuth访问令牌。这个测试用例将尝试将第一个账户的gist复刻到第二个账户。将
<repo> 替换为你在第一个账户中创建的仓库名称(仅用于测试目的),
例如 yegor256/test。OAuth访问令牌应该在各自的仓库中拥有集成测试套件所需的所有范围的权限
(包括默认情况下未设置的 delete_repo!)。
请注意,不同的集成测试可能需要具有不同范围权限的密钥。要运行所有集成测试,密钥应该 具有以下OAuth范围:
read:orgrepodelete_repoadmin:public_keygistadmin:repo_hookuseruser:emailRtForksITCase 需要额外的参数 -Dfailsafe.github.organization=<organization>,
其中 <organization> 是用于复刻测试Github仓库的组织名称。
如果只想运行静态分析检查,请使用以下命令:
$ mvn clean install -DskipTests -Dinvoker.skip=true -Pqulice


免费创建高清无水印Sora视频
Vora是一个免费创建高清无水印Sora视频的AI工具


最适合小白的AI自动化工作流平台
无需编码,轻松生成可复用、可变现的AI自动化工作流

大模型驱动的Excel数据处理工具
基于大模型交互的表格处理系统,允许用户通过对话方式完成数据整理和可视化分析。系统采用机器学习算法解析用户指令,自动执行排序、公式计算和数据透视等操作,支持多种文件格式导入导出。数据处理响应速度保持在0.8秒以内,支持超过100万行数据的即时分析。


AI辅助编程,代码自动修复
Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。


AI论文写作指导平台
AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。


AI一键生成PPT,就用博思AIPPT!
博思AIPPT,新一代的AI生成PPT平台,支持智能生成PPT、AI美化PPT、文本&链接生成PPT、导入Word/PDF/Markdown文档生成PPT等,内置海量精美PPT模板,涵盖商务、教育、科技等不同风格,同时针对每个页面提供多种版式,一键自适应切换,完美适配各种办公场景。


AI赋能电商视觉革命,一站式智能商拍平台
潮际好麦深耕服装行业,是国内AI试衣效果最好的软件。使用先进AIGC能力为电商卖家批量提供优质的、低成本的商拍图。合作品牌有Shein、Lazada、安踏、百丽等65个国内外头部品牌,以及国内10万+淘宝、天猫、京东等主流平台的品牌商家,为卖家节省将近85%的出图成本,提升约3倍出图效率,让品牌能够快速上架。


企业专属的AI法律顾问
iTerms是法大大集团旗下法律子品牌,基于最先进的大语言模型(LLM)、专业的法律知识库和强大的智能体架构,帮助企业扫清合规障碍,筑牢风控防线,成为您企业专属的AI法律顾问。


稳定高效的流量提升解决方案,助力品牌曝光
稳定高效的流量提升解决方案,助力品牌曝光


最新版Sora2模型免费使用,一键生成无水印视频
最新版Sora2模型免费使用,一键生成无水印视频