我是一个组织的成员,该组织在 GitHub 上拥有很多私人存储库。我需要使用 GitHub API 从私有存储库获取数据。我正在使用以下 python 代码:
url = "https://api.github.com/orgs/myorg/repos?access_token=[mytokenhere]"
headers = {"Authorization": "token [myPATHhere]"}
session = requests.Session()
response = session.get(url, headers = headers)
content = response.text
my_json = json.loads(response.text)
for item in my_json:
print(item['html_url'])
Run Code Online (Sandbox Code Playgroud)
其中 PAT = 我的访问令牌。这仍然只返回公共存储库。我已经看到了相关的问题,但列出的解决方案并不能解决我的问题。请注意,我已授权我的访问令牌进入私有存储库。我还尝试过 api.github.com/users/repos 和 api.github.com/users/[myorghere] ,但仍然没有返回私人存储库。难道是我没有正确提交token吗?
我正在尝试从 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) 我的 Web 应用程序的用户应该将错误报告作为 GitHub 问题提供,并带有预先生成的标题和正文。
这对于小型机构使用 GET 非常好:
const title = getLastErrorTitle();
const body = getAllTheLogMessages();
window.open(`https://github.com/theuser/therepo/issues/new?title=${encodeURIComponent(title)}&body=${encodeURIComponent(body)}`);
Run Code Online (Sandbox Code Playgroud)
如果用户已登录,GitHub 会向用户显示一个新问题,标题和正文已填写,完美。如果没有,GitHub 会提示用户登录,下次再运行。
但是,如果正文太大,则 GET 请求会因为 URL 变得太长而失败。
在查阅手册后,我尝试对 POST 做同样的事情,但我从 GitHub 获得了一个 404 并带有以下测试请求(为简洁起见是 jQuery):
$.ajax({
type: "POST",
url: "https://api.github.com/repos/theuser/therepo/issues",
data: data = {title: "Test", body: "Test Body"},
});
Run Code Online (Sandbox Code Playgroud)
我的怀疑是,GitHub API 的设计并没有考虑到我的用例,但是 POST 总是需要身份验证并一次性创建完整的问题,而不会让用户像使用 GET 那样事先更改它。
如何将 GET 方法的功能转移到 POST 方法?我只希望 GitHub 向当前登录浏览器的用户显示一个预填充的问题,而不需要令牌。
您将使用 github api 搜索已注册主题的存储库。
但是,由于搜索结果限制为 1000 个,因此我想以搜索日期为限制。就像下面这样。
https://api.github.com/search/repositories?q=topic:AAA&createdat:2020-10-11
既然我忽略了日期并进行了搜索,还有其他方法吗?
我想请求你的帮助。谢谢。
加载 github.com 页面时,我看到一个仪表板提要,其中显示了我关注的所有存储库的“推送”/“加星标”更新列表。
当检查 Chrome 上的“网络”选项卡时,我可以看到此源来自此端点:
https://github.com/dashboard-feed
Run Code Online (Sandbox Code Playgroud)
如何通过 GitHub API 获取此数据?也可以通过 RSS 获取吗?
谢谢
根据文档,我可以用来-从搜索 API 中排除某些内容......我对其进行了测试,例如,这适用于语言领域,但不适用于主题。
根据文档:
注意 cat stars:>10 -language:javascript 匹配包含超过 10 个星但不是用 JavaScript 编写的单词“cats”的存储库。
但是如果我想搜索cats stars:>10 -topic:javascript它就不再工作了,尽管我测试了它并且恰好有 9 个存储库javascript作为主题。
所以
cats stars:>10 返回 714 个结果
cats stars:>10 -topic:javascript返回 714 个结果(-不起作用)
cats stars:>10 +topic:javascript返回 9 个结果
cats stars:>10 -language:javascript返回 602 个结果(-按预期工作)
cats stars:>10 +language:javascript返回 112 个结果
如何通过 GitHub API获取https://github.com/{user}/{repo}/security/dependabot?page=1&q=is%3Aopen上可用的依赖机器人警报列表?
我搜索了文档,但在那里找不到任何东西。
谢谢!
我是一些 Julia GitHub 存储库的维护者,这些存储库通过 cron 使用 GitHub Actions 进行夜间 CI 运行。其中一些软件包几个月都没有得到维护,但在生态系统中使用,我想让它们保持活跃。GitHub 的当前政策是在 60 天内没有发生存储库活动时禁用这些操作。
我想知道是否有定义什么存储库活动是为了防止操作被禁用。这是评论一个问题那么简单吗?还是需要将提交推送到主分支?
其次,有没有人找到保持存储库活跃的好解决方案?我正在考虑创建一个每 59 天运行一次的 Lambda 函数,并执行某种形式的存储库活动以保持活动状态。我只找到了这个HackerNews帖子,它提出了这个问题,但是没有评论:
默认情况下,在公共存储库的分支和连续 60 天没有活动的公共存储库中,计划工作流将被禁用。我们对 GitHub Actions 的使用政策进行了两项更改。这些变化将使 GitHub Actions 能够随着我们从 GitHub 社区看到的令人难以置信的采用而扩展。这是一个快速概述:
从今天开始,默认情况下将在公共存储库的新分支中禁用计划工作流。
在连续 60 天没有活动的公共存储库中,计划工作流将被禁用。
我正在寻找一种在 github 上隐藏分支的方法,有可能吗?例如:我是存储库所有者,我想要三个贡献者,他们不能在主分支上合并,但他们可以打开 PR 并且他们看不到其他分支,只能看到他们自己的分支和主分支。我需要这个到一个特定的存储库。
有谁知道如何做到这一点?Github 操作或类似的东西?
我知道这可能会引起争议,但是......
谢谢你!:D
没有真正的指南,这是现有的文档:
https://www.jetbrains.com/help/rider/GitHub.html
它已经过时了。
Rider 实际上希望您提供一个令牌:
这似乎不是个人令牌。
还有一个用于生成令牌的按钮不起作用。
我假设“服务器”字段应该位于
https://github.com/<SERVERNAME>
Run Code Online (Sandbox Code Playgroud)
或者
https://github.com/organizations/<SERVERNAME>
Run Code Online (Sandbox Code Playgroud)
格式。
但我一生都无法弄清楚从哪里获取服务器的令牌。
我再次生成了一个 github 个人用户令牌,但是这个令牌被 github 企业登录拒绝。
就像个人用户设置一样,Github 企业设置有一个“开发者设置”选项卡:
但这个选项卡似乎有不同的用途,您创建一个要在“github应用程序市场”上浏览的“应用程序”,我确实创建了这个,但这是可以访问的操作的完整列表:
这些都不涉及给我一个令牌。
这既不是可以通过暴力在选项中找到的东西,也不是谷歌产生结果的东西。
我需要帮助。
更新:
更多的搜索引导我找到这个文档:https://docs.github.com/en/actions/reference/authentication-in-a-workflow#modifying-the-permissions-for-the-github_token
似乎他们正在谈论的 GITHUB_TOKEN 是我感兴趣的东西。在文档的顶部,信息气泡声称此功能不提供给 Github 免费用户?
这是怎么回事?
对于 GitHub 和 Jet Brain 来说,这将是一次糟糕的沟通。用户如何理解这一点?为什么在直接从具有 SSH 密钥的终端克隆存储库时,Rider 希望强制您使用此付费功能来与 github enterprise 集成?
这是荒谬的。至少通过 SSH 添加带有 github 登录的个人存储库应该是一个可用的功能。