- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在repository
主页中,我可以在底部看到recent activity
中发布的评论,该位仅显示10个commnet。
我想要自开始以来发布的所有评论。
有什么办法吗
最佳答案
可以使用bitbucket’s REST API检索对拉取请求,问题和提交的注释。
但是,似乎没有办法在一个地方列出所有它们,因此获取它们的唯一方法是针对存储库的每个PR,发行或提交查询API。
请注意,这花费了很长时间,因为bitbucket似乎对通过API访问存储库数据的访问次数设置了限制:在检索到大约一千个结果后,我得到了超出此资源的速率限制的错误,因此我只能获取大约从上次速率限制错误起,每秒输入一个条目。
查找存储库的API URL
第一步是找到仓库的URL。对于私人存储库,有必要通过提供用户名和密码(使用curl的-u
开关)进行身份验证。 URL的格式为:
https://api.bitbucket.org/2.0/repositories/{repoOwnerName}/{repoName}
git remote -v
应该提供缺少的值。通过验证是否从存储库信息(
$url
)中正确检索了存储库信息作为JSON数据来检查伪造的URL(以下称为
curl -u username $url
)。
$url/commit/{commitHash}/comments
访问。
size
的值指示;我还通过添加GET参数
fields=size
来请求
partial response。
getNComments.sh
:
#!/bin/sh
pw=$1
id=$2
json=$(curl -s -u username:"$pw" \
https://api.bitbucket.org/2.0/repositories/{repoOwnerName}/{repoName}/commit/$id/comments'?fields=size')
printf '%s' "$json" | grep -q '"type": "error"' \
&& printf "ERROR $id\n" && exit 0
nComments=$(printf '%s' "$json" | grep -o '"size": [0-9]*' | cut -d' ' -f2)
: ${nComments:=EMPTY}
checkNumeric=$(printf '%s' "$nComments" | tr -dc 0-9)
[ "$nComments" != "$checkNumeric" ] \
&& printf >&2 "!ERROR! $id:\n%s\n" "$json" && exit 1
printf "$nComments $id\n"
git fetch -a
,然后更新本地git repo);查看
git help rev-list
如何进行自定义。
git rev-list --all | sort > sorted-all.id
cp sorted-all.id remaining.id
stty -echo; IFS= read -r passwd; stty echo
将其安全地分配给变量,并在一行中输入;另请参阅下面的安全注意事项。使用选项
-P
在此处将处理并行化为15个进程。
< remaining.id xargs -P 15 -L 1 ./getNComments.sh "$passwd" > commits.temp
getNComments.sh
打印!ERROR !,然后终止上面的命令(
Ctrl-C
),并在下面执行以下命令以更新输入和输出文件。等待一段时间,以增加请求限制,然后重新执行上述一个命令并重复执行,直到处理完所有数据为止(即
wc -l remaining.id
返回
0
时)。
cat commits.temp >> commits.result
cut -d' ' -f2 commits.result | sort | comm -13 - sorted-all.id > remaining.id
grep '^[1-9]' commits.result
commit
中用
pullrequests
或
issues
替换;
$n
为要搜索的问题/ PR的数量。上面的
git rev-list
命令变为:
seq 1 $n > sorted-all.id
curl -su username $url/pullrequests'?state=&fields=size'
curl -su username $url/issues'?fields=size'
https://bitbucket.org/{repoOwnerName}/{repoName}/commits/{commitHash}
https://bitbucket.org/{repoOwnerName}/{repoName}/pull-requests/{prId}
https://bitbucket.org/{repoOwnerName}/{repoName}/issues/{issueId}
awk '/^[1-9]/{print "https://bitbucket.org/{repoOwnerName}/{repoName}/pull-requests/"$2}' PRs.result | xargs firefox
ps ax
(或
/proc/$PID/cmdline
),命令行上传递的参数对系统的所有用户都是可见的。因此,将公开位桶密码,如果系统由多个用户共享,则可能是一个问题。
ps axe
(或
/proc/$PID/environ
)以root用户身份查看;尽管似乎有些系统允许所有用户访问此信息(执行
ls -l /proc/*/environ
来检查环境文件的权限)。
pw=$1 id=$2
行替换为
id=$1
,然后在命令行调用中在
pw="$passwd"
之前传递
xargs
。它将使环境变量
pw
对
xargs
及其所有后代进程可见,即脚本及其子级(
curl
,
grep
,
cut
等),它们可能会或可能不会读取变量。 curl不会从环境中读取密码,但是如果上面提到的密码隐藏技巧有效,那么它可能就足够了。
-K -
的标准输入。在脚本中,将
curl -s -u username:"$pw"
替换为
printf -- '-s\n-u "%s"\n' "$authinfo" | curl -K -
,然后定义变量
authinfo
以包含username:password格式的数据。请注意,此方法需要
printf
是安全的内置shell(使用
type printf
进行检查),否则密码将显示在其进程参数中。如果不是内置的,请尝试使用
print
或
echo
。
ps
输出中的环境变量的简单替代方法是通过文件。创建一个具有对当前用户(
chmod 600
)限制的读/写权限的文件,并对其进行编辑,使其包含username:password作为第一行。在脚本中,将
pw=$1
替换为
IFS= read -r authinfo < "$1"
,然后对其进行编辑,以使用curl的-K选项,如上段所述。在命令行调用中,将
$passwd
替换为文件名。
/proc
中的文件不在磁盘上)。如果这也是不希望的,则可以传递命名管道而不是常规文件:
mkfifo pipe
chmod 600 pipe
# make sure printf is a builtin, or use an equivalent instead
(while :; do printf -- '%s\n' "username:$passwd"; done) > pipe&
pid=$!
exec 3<pipe
pipe
而不是文件的脚本。最后,进行清理:
kill $pid
exec 3<&-
ps
暴露给其他用户。
关于repository - 如何查看用户在bitbucket存储库中发布的所有评论,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20649225/
在为 Web 应用程序用例图建模时,为用户可以拥有的每个角色创建一个角色是否更好?或拥有一个角色、用户和一个具有特权的矩阵? guest < 用户 < 版主 < 管理员 1: guest 、用户、版主
我无法使用 Elixir 连接到 Postgres: ** (Mix) The database for PhoenixChat.Repo couldn't be created: FATAL 28P
这个问题已经有答案了: Group by field name in Java (7 个回答) 已关闭 7 年前。 我必须编写一个需要 List 的方法并返回 Map> . User包含 Person
感谢您的帮助,首先我将显示代码: $dotaz = "Select * from customers JOIN contracts where customers.user_id ='".$_SESS
我只想向所有用户中的一个用户显示一个按钮。我尝试了 orderByKey() 但没有成功! 用户模型有 id 成员,我尝试使用 orderByChild("id") 但结果相同! 我什至尝试了以下技巧
我们在工作中从 MongoDB 切换到 Postgres,我正在建立一个 BDR 组。 在这一步,我正在考虑安全性并尽可能锁定。因此,我希望设置一个 replication 用户(角色)并让 BDR
export class UserListComponent implements OnInit{ users; constructor(private userService: UserS
我可以使用 Sonata User Bundle 将 FOS 包集成到 sonata Admin 包中。我的登录功能正常。现在我想添加 FOSUserBundle 中的更改密码等功能到 sonata
在 LinkedIn 中创建新应用程序时,我得到 4 个单独的代码: API key 秘钥 OAuth 用户 token OAuth 用户密码 我在 OAuth 流程中使用前两个。 的目的是什么?最后
所以..我几乎解决了所有问题。但现在我要处理另一个问题。我使用了这个连接字符串: SqlConnection con = new SqlConnection(@"Data Source=.\SQLEX
我有一组“用户”和一组“订单”。我想列出每个 user_id 的所有 order_id。 var users = { 0: { user_id: 111, us
我已经为我的Django应用创建了一个用户模型 class User(Model): """ The Authentication model. This contains the u
我被这个问题困住了,找不到解决方案。寻找一些方向。我正在用 laravel 开发一个新的项目,目前正致力于用户认证。我正在使用 Laravels 5.8 身份验证模块。 对密码恢复 View 做了一些
安装后我正在使用ansible配置几台计算机。 为此,我在机器上本地运行 ansible。安装中的“主要”用户通常具有不同的名称。我想将该用户用于诸如 become_user 之类的变量. “主要”用
我正在尝试制作一个运行 syncdb 的批处理文件来创建一个数据库文件,然后使用用户名“admin”和密码“admin”创建一个 super 用户。 到目前为止我的代码: python manage.
关闭。这个问题是opinion-based 。目前不接受答案。 想要改进这个问题吗?更新问题,以便 editing this post 可以用事实和引文来回答它。 . 已关闭 6 年前。 Improv
我已在 Azure 数据库服务器上设置异地复制。 服务器上运行的数据库之一具有我通过 SSMS 创建的登录名和用户: https://learn.microsoft.com/en-us/azure/s
我有一个 ionic 2 应用程序,正在使用 native FB Login 来检索名称/图片并将其保存到 NativeStorage。流程是我打开WelcomePage、登录并保存数据。从那里,na
这是我的用户身份验证方法: def user_login(request): if request.method == 'POST': username = request.P
我试图获取来自特定用户的所有推文,但是当我迭代在模板中抛出推文时,我得到“User”对象不可迭代 观看次数 tweets = User.objects.get(username__iexact='us
我是一名优秀的程序员,十分优秀!