标签: github-api

Github上组织的Repos(公共和私人)列表

我想在我的rails应用程序中使用github api gem获取与组织关联的所有repos的列表.我使用omniauth来验证用户,然后我可以访问他们的组织列表以及用户的存储库列表,但我正在尝试获取用户组织(他们具有管理访问权限)的存储库列表.

有一个关于stackoverflow的问题看起来很有希望并且它回答了我的问题,即访问组织的回购信息,我已经知道了这个名称,但是我没有名字的回购信息呢?

任何想法如何使用github api gem列出组织的所有回购?

ruby-on-rails github github-api

8
推荐指数
1
解决办法
7240
查看次数

GitHub Webhook秘密永远不会验证

我正在使用GitHub webhook将事件传递给我的应用程序(GitHub的Hubot的一个实例),并使用sha1秘密进行保护.

我正在使用以下代码验证传入webhooks上的哈希值

crypto    = require('crypto')
signature = "sha1=" + crypto.createHmac('sha1', process.env.HUBOT_GITHUB_SECRET).update( new Buffer request.body ).digest('hex')
unless request.headers['x-hub-signature'] is signature
  response.send "Signature not valid"
  return
Run Code Online (Sandbox Code Playgroud)

在webhook中传递的X-Hub-Signature标头看起来像这样

X-Hub-Signature:sha1 = 1cffc5d4c77a3f696ecd9c19dbc2575d22ffebd4

我按照GitHub的文档准确传递密钥和数据,但哈希总是不同.

这是GitHub的文档. https://developer.github.com/v3/repos/hooks/#example

这是我最有可能误解的部分

secret:作为X-Hub-Signature标头与HTTP请求一起传递的可选字符串.使用秘密作为密钥,将此标头的值计算为正文的HMAC十六进制摘要.

谁能看到我哪里出错了?

git cryptography github node.js github-api

8
推荐指数
3
解决办法
2659
查看次数

可以在网站上嵌入Github问题清单(带有特定标签)吗?

有没有人知道从github将特定标签的问题列表嵌入网站的简单方法?

这是在项目网站上嵌入一个开放式错误列表.

javascript jquery github github-api

8
推荐指数
2
解决办法
1173
查看次数

通过 API 将文件附加到 GitHub 中的问题

我的要求是将问题从 Redmine 迁移到 GitHub 问题跟踪器。我将 Redmine 问题导出到 csv 文件。使用 GitHub 问题 api 我可以在 github 中创建问题和标签。

但我还需要在创建问题时附加文件,使用 GitHub REST api。通过 API 在 github 中创建问题时是否可以附加文件?

如果有人知道此问题的解决方案,请告诉我。

redmine github-api

8
推荐指数
1
解决办法
1754
查看次数

(GitHub)非OA网站应用程序的API OAuth身份验证?

我困惑的开始

我特意与GitHub合作,但这似乎很普遍.

GitHub文档状态[格式化已由我修改]:

有三种方法可以通过GitHub API v3进行身份验证....

  • 基本认证
  • OAuth2令牌(在标头中发送)
  • OAuth2令牌(作为参数发送)
  • OAuth2密钥/秘密

...请注意,对于非网站的应用程序,可以通过编程方式获取 OAuth2令牌.

[我假设第二个和第三个项目实际上被认为是单一的"身份验证方式"但是,根据该部分中的格式,"失败的登录限制"也可能被误解为"验证方式"为没有明确的"三种方式"清单.]

以上"以编程方式获取"链接的文本开始:

如果您需要少量令牌,实施Web流程可能很麻烦.相反,可以使用OAuth Authorizations API使用基本身份验证创建令牌.要为特定OAuth应用程序创建令牌,您必须提供其在OAuth应用程序设置页面上找到的客户端ID和密码,该页面是从GitHub上的OAuth应用程序列表链接的.如果您的OAuth应用程序打算为一个用户创建多个令牌,则应使用指纹来区分它们.

通过另一种身份验证形式的授权验证?

解析我的困惑

让我们一句一句地解析上述所有内容.

第一句

如果您需要少量令牌,实施Web流程可能很麻烦.

好吧,希望我真棒的非网站应用程序会有很多用户,所以我需要很多令牌,对吧?那么这是不是意味着,我应该"实施网络流程"?我怀疑它确实如此.

第二句

相反,可以使用OAuth Authorizations API使用基本身份验证创建令牌.

现在,这非常令人困惑.我希望我的非网站应用程序(NAWP)代表我的用户与GitHub进行交互,我希望他们能够避免未经身份验证的用户API请求速率限制.我不能只用GitHub注册我的应用程序,并在我的请求中包含我的注册客户端ID和秘密,因为:

此方法仅应用于服务器到服务器调用.您永远不应与任何人共享您的客户机密,或将其包含在客户端浏览器代码中.

因此,我想使用我的NAWP向GitHub或代表用户进行身份验证.

因此,我可以使用特殊授权API创建身份验证令牌,以访问常规GitHub API,但我必须首先使用基本身份验证进行身份验证.大.一个问题 - 我通过基本身份验证提供哪些凭据才能访问授权API?矿?一个特殊的GitHub帐户只适用于我的应用程序?用户的?

我猜我应该使用用户的凭据,并且用户必须信任我的NAWP,一旦使用它们为自己创建身份验证令牌,就会立即忘记这些凭据.好吧,这似乎不太理想,但我现在愿意继续.

第三句

要为特定OAuth应用程序创建令牌,您必须提供其在OAuth应用程序设置页面上找到的客户端ID和密码,该页面是从GitHub上的OAuth应用程序列表链接的.

等待.WTF.我使用我的用户的GitHub用户名和密码(或用户必须自己生成的令牌?)进行身份验证,他们可以让我的NAWP永远使用,特别是如果我只是想访问公共信息但是避免速率限制?) ,然后我的NAWP必须通过发出请求来请求生成OAuth令牌,其中一个必需参数是......"要为其创建令牌的40个字符OAuth app客户端密钥."

这似乎不对.

在文档的第一部分中,引用了这个问题的顶部,在"OAuth2密钥/秘密"子部分下,它写成:

这应该仅用于服务器到服务器方案.不要将OAuth应用程序的客户端密钥泄露给您的用户.

此外,在"增加OAuth应用程序的未经身份验证的速率限制"子部分中,写入:

如果您的OAuth应用程序需要以更高的速率限制进行未经身份验证的调用,则可以将应用程序的客户端ID和机密作为查询字符串的一部分传递.

...

此方法仅应用于服务器到服务器调用.您永远不应与任何人共享您的客户机密,或将其包含在客户端浏览器代码中.

我错过了什么吗?我肯定错过了什么.因为当然我无法安全地分发GitHub在我的NAWP中为我生成的客户端秘密.

第四句

如果您的OAuth应用程序打算为一个用户创建多个令牌,则应使用指纹来区分它们.

这根本不是混乱(我不是讽刺).如果我的NAWP的单个实例被多个用户使用,那么我只需要包含某种标识符来区分我需要或想要创建的任何标记; 非常简单.

但理解这句话并没有消除我对前三个的困惑.

重申我的困惑

那么,是否或者不可能代表GitHub用户使用OAuth对NAWP 进行安全身份验证? …

authentication oauth github-api oauth-2.0

8
推荐指数
1
解决办法
2081
查看次数

如何使用 github API 从 github 的 URL 获取主要语言或语言列表?

我有一个 github repo 的 URL,例如: https://github.com/dotnet/corefx

在 github 的 API 中是否有任何可能的方法可以将“C#”作为存储库的主要语言?

api github github-api

8
推荐指数
1
解决办法
4295
查看次数

可以删除“user-images.githubusercontent.com”上的图片吗?

我不小心上传了一张我不想在 GitHub 上的图片。我以为我已经从上传的图像中删除了私人信息,但私人信息仍然存在。它包含诸如我希望不是公共知识的主机名之类的东西。

有没有办法从 github 的图像注册表中删除该图像?

我知道不太可能有人通过检查其服务器上图像的所有可能目的地来发现它,但这会让我安心。

image github github-api

8
推荐指数
1
解决办法
1928
查看次数

StackBlitz 与 github 同步 - 从 StackBlitz 上传到 github

我有一个 angular 项目,我知道可以在 StackBlitz 中打开一个 github 项目,但是对 StackBlitz 项目所做的更改呢?是否可以在不将代码下载到您的 PC 的情况下提交到 github?

github github-api angular stackblitz

8
推荐指数
2
解决办法
6445
查看次数

使用github API v4 graphQL获取提交更改的文件和补丁

In the Rest v3, I could easily query a commit and get the changed files and patch for each file: https://developer.github.com/v3/repos/commits/#get-a-single-commit

I don't seem to be able to retrieve this info using the new v4 graphQL, does anyone have a clue how?

github-api graphql

8
推荐指数
1
解决办法
141
查看次数

在 GitHub 操作中评论拉取请求

我正在尝试从 GitHub 操作的拉取请求中插入常规评论。我似乎无法正确理解。Octokit 是底层库,允许您为PR创建reviewComments,但那些指的是提交,这不是我想要的,我想要一个简单的评论。我想我可以只使用octokit.issues.createComment. 但是,这似乎不起作用。这是代码

import * as core from '@actions/core';
const {GitHub, context} = require('@actions/github')
const parse = require('parse-diff')

async function run() {
    try {
        // get information on everything
        const token = core.getInput('github-token', {required: true})
        const github = new GitHub(token, {} )
        console.log( context )
        const PR_number = context.payload.pull_request.number

        // Check if the body contains required string
        const bodyContains = core.getInput('bodyContains')

        if ( context.payload.pull_request.body.indexOf( bodyContains) < 0  ) {
            core.setFailed("The body of the …
Run Code Online (Sandbox Code Playgroud)

github github-api

8
推荐指数
4
解决办法
5992
查看次数