标签: github-api

使用 github v3 API 删除标签

我可以按照他们的指示使用 GitHub v3 API 创建带注释的标签。我创建标签对象,然后创建引用对象。那里一切都很好。

我可以像这样删除引用:

curl -X DELETE -i -u 'myuser:mypassword' https://api.github.com/repos/:user/:repo/git/refs/tags/ben-test-310
Run Code Online (Sandbox Code Playgroud)

不幸的是,这似乎还不够。如何使用 API 完全删除标签?

github-api

7
推荐指数
1
解决办法
4988
查看次数

如何通过 GitHub API 获取 Git 标签中的所有提交

我必须获取在 Git 存储库上创建新标签时作为一部分的所有新提交。这需要通过 GitHub API 来完成。

例如,Git UI 说 Tagging Tag1 并有一个与之关联的 sha...假设 sha 是:SHA1

现在我如何通过 GitHub API 获取所有发生的或属于 Tag1 的提交?我想存储所有这些提交并对它们进行一些分析。

github github-api git-commit git-tag

7
推荐指数
1
解决办法
3380
查看次数

来自提交哈希的 GitHub 拉取请求 ID

如何从提交哈希中获取 GitHub PR id?可以在 git 控制台或 GitHub API 中使用吗?

git github github-api

7
推荐指数
2
解决办法
7649
查看次数

每次合并到 master 时触发 webhook - GitHub Webhooks

我不确定这到底是如何工作的,但我希望运行一个 bash 脚本,每次通过Github. 是否有可以在 PR 合并时触发的 GitHub webhook?另外,我不确定如何通过此网络钩子更新 master?或任何其他建议如何做到这一点?我不知道我是否朝着正确的方向前进。

通过updating master,我的意思是,拉一切从主。运行一个 bash 脚本,该脚本几乎没有更改并将新更改推送回 master。

github githooks github-api

7
推荐指数
1
解决办法
5149
查看次数

Github API 生成的带注释的标签未显示在 git describe 中

我正在尝试编写一个脚本来使用自定义 CI 触发器自动设置 github 版本。我有一个pygithub用于自动创建标签和发布的 python 脚本。

# roughly the following code:
repo.create_git_tag(...)
repo.create_git_ref(...)
repo.create_git_release(...)
Run Code Online (Sandbox Code Playgroud)

运行脚本后,一切都显示在 GitHub Web UI 中,在 之后git fetch origin && git tag -l,我可以在本地看到标签。但是当我使用git describe(甚至使用--tags)时,它失败了fatal: No tags can describe '<head_commit_hash>'

使用git show-ref --tags,我得到如下内容:

hash1 refs/tags/releases/1.0.0
hash2 refs/tags/releases/1.1.0
hash3 refs/tags/releases/1.1.1
Run Code Online (Sandbox Code Playgroud)

然后git cat-file -p hash1给我:

object hash_of_commit_at_tag
type commit
tag releases/1.0.0
tagger ...

Release: 1.0.0
Run Code Online (Sandbox Code Playgroud)

但是,如果我使用 自己创建并推送标签git tag -a releases/1.0.0 hash_of_commit -m "Release 1.0.0",则会为我 …

git github-api python-3.x pygithub

7
推荐指数
1
解决办法
287
查看次数

GitHub OAuth 注销或撤销令牌

要使用GitHub应用程序对用户进行身份验证,我们只需要向loginapi发出两个请求:

GET https://github.com/login/oauth/authorize
POST https://github.com/login/oauth/access_token
Run Code Online (Sandbox Code Playgroud)

现在我们已经使用了token,我们如何撤销它以注销用户?

javascript oauth github logout github-api

7
推荐指数
0
解决办法
278
查看次数

如何使用 Git API 或任何逻辑获取我的 Github 存储库的社交预览图像链接?

我拥有许多 github 存储库,我通常每周添加项目。我正在使用 github 页面制作自己的网站,因为我只能在 Github 页面上托管静态网站,因此我将使用 Github API 来自动更新我网站上的新项目。但我也想为其添加预览/示例图像。

我知道有一个名为 Social Preview 的选项,我可以在其中添加要在社交媒体上显示的存储库图像。

虽然我可以从中获取我的所有回购信息,api.github.com但我无法获取我的社交媒体预览图像 URL。

github github-api

7
推荐指数
2
解决办法
1821
查看次数

使用 httr 通过 Travis-CI 在 Github 进行身份验证以及本地身份验证(本地有效,远程无效)

我有一个Rmd文件,它使用httr访问Github的API。在本地,如果我R在渲染之前在控制台中运行以下内容,我可以很好地通过 Github 进行身份验证Rmd:

myapp <- oauth_app("APP", key = "xyz", secret = "pqr")
github_token <- oauth2.0_token(oauth_endpoints("github"), myapp)
Run Code Online (Sandbox Code Playgroud)

密钥和秘密是在 Github 上创建的,并且在我渲染时存在于我的工作区中,因此github_token被选中并且我可以在本地渲染时访问 Github-API 而不会达到访问限制。

现在,同样Rmd在 Travis-CI 中自动构建,然后在我推送 master 分支时部署到 gh-pages。我有这个没有身份验证的工作,但这将我的 Githhub-API 请求限制限制为 60/小时,我需要通过身份验证获得的更高限制。为此,我在 Github 中也设置了个人访问令牌 (PAT);设置 PAT 的页面说“个人访问令牌的功能类似于普通的 OAuth 访问令牌。它们可以用来代替 Git over HTTPS 的密码,或者可以用来通过基本身份验证对 API 进行身份验证”。

这是Rmd我尝试检测渲染是本地还是远程并获取适当令牌的部分内容。但是,当它在 Travis-CI 上运行时,令牌似乎没有被识别,所以我认为我没有正确使用它。

# Figure out the build location, and get the needed token
at_home <- FALSE
at_TCI <- FALSE
token_found <- FALSE …
Run Code Online (Sandbox Code Playgroud)

r github-api travis-ci httr

7
推荐指数
1
解决办法
173
查看次数

RESTful API 设计:CRUD 轻量级连接的最佳方式?

(请原谅问题标题;很难总结这个问题。)

在 Facebook 上,你的like东西。在推特上,你们这些follow人。在 GitHub 上,您还可以看到follow人员、star存储库和要点。

所有这些情况都非常相似:这些连接是轻量级的,本身并不是真正的“资源”。例如,这三个 API 都没有公开此类连接的公共 ID。

这就提出了一个问题:公开用于创建/查询/删除这些连接的 API 的“最佳”(就 REST 而言)方法是什么?


Facebook 的做法 [ 1 ]:

  • GET /:id/likes查询某个对象的喜欢程度(更准确地说,喜欢该对象的用户)

  • POST /:id/likes喜欢某事(代表经过授权的用户;不需要请求正文)

  • DELETE /:id/likes不喜欢某些东西(代表经过授权的用户)

查询和创建是有意义的,但DELETE有点“非 RESTful”,因为您实际上并没有删除/:id/likes资源(喜欢该对象的用户数组)。

这种差异在另一种情况下也表现出来[ 2 ]:

  • GET /me/likes/:id询问你是否喜欢某事

因此,查询连接是查询与创建或删除它完全不同的资源。


GitHub倾向于/me/likes/:id以下用户和明星存储库的风格[ 3 ]:

(请注意,GitHub/user代表经过身份验证的用户,如 Facebook 的/me。)

  • GET /user/starred/:owner/:repo用于查询您是否有一个已加星标的存储库(返回 204 或 404,两者都没有正文)

  • PUT /user/starred/:owner/:repo用于为回购加注星标(请求中不需要正文)

  • DELETE /user/starred/:owner/:repo用于取消仓库星标

这更加一致,但不幸的是,这将个体“明星”与群体分开: …

api rest web-services github-api facebook-graph-api

6
推荐指数
1
解决办法
1601
查看次数

如何获取与通知站点匹配的GitHub API通知

我试图从https://github.com/notifications页面上显示的GitHub中获取相同的信息.不幸的是,标准通知API与该视图并不真正匹配.

如果我从该API获得通知(即使有participating=false),我也看不到网站上显示的所有项目.另一方面,API似乎是基于这个last_read_at想法,我在网站上看到的东西不会自动从通知列表中消失.

有没有办法(没有抓取网站)获得相同的/notifications视图?

github github-api

6
推荐指数
1
解决办法
328
查看次数