如何通过GitHub API获取项目徽章?

时间:2015-03-02 07:42:16

标签: api github github-api badge

我为自己构建了一个简历页面,并使用Gi​​tHub API列出了我在那里的所有项目。一些项目是具有rtfd build passing徽章的文档,一些是具有travis-ci和pep-lint徽章的python项目。

现在,我想像项目一样显示徽章,我应该如何使用API​​?

我的页面在这里:http://gh.windrunner.info/resume/#/github

2 个答案:

答案 0 :(得分:6)

您还可以使用与https://github-shields.com/

不同的API

请参阅“How to embed live Github PR status in your blogs & docs

  

考虑PR https://github.com/cloudfoundry/bosh/pull/715   该URL不表示PR是打开/合并/关闭。

     

网址的cloudfoundry/bosh/pull/715部分会直接复制到以下基本网址中:

     

https://github-shields.com/github/ + cloudfoundry/bosh/pull/715 + .svg提供重定向到PR的网址。

     

https://github-shields.com/github/cloudfoundry/bosh/pull/715.svg

     

作为图片网址,它会提供cloudfoundry/bosh/pull/715

     

太棒了,它被合并了!


对于项目的状态,OP kxxoling报告in the comments找到了shields.io

https://img.shields.io/badge/<SUBJECT>-<STATUS>-<COLOR>.svg
  

表示如何获取徽章的状态   如果没有为该项目添加徽章,则会返回一个无法访问的徽章,如下所示:https://img.shields.io/travis/kxxoling/z42-doc.svg =&gt; inaccessible

答案 1 :(得分:1)

对于像https://github.com/kxxoling/z42-doc这样的项目(其中有徽章),您需要获取README,然后在其中搜索可能的徽章。在不知道您喜欢使用哪种语言的情况下,我将编写一些伪代码

首先,您需要检索GitHub在主页上标识为要呈现的README的README。你可以通过

来做到这一点
 GET /repos/kxxoling/z42-doc/readme
 Host: https://api.github.com
 Accept: application/vnd.github.v3.raw

相反,如果您要解析HTML,请更改&#34; raw&#34;到&#34; html&#34;在最后一个标题中,例如,

 GET /repos/kxxoling/z42-doc/readme
 Host: https://api.github.com
 Accept: application/vnd.github.v3.html

使用自述文件的内容,现在您只需要解析特定于您为自述文件选择的标记语言的链接或指令。您可以使用正则表达式或您选择的HTML / XML解析库解析它们(如果您要从GitHub检索呈现的内容)。