有人知道如何通过 cURL 从 bitbucket 中删除存储库吗?
目前我已经制作了脚本来通过 curl 在 bitbucket 上创建远程存储库
#!/bin/bash
while read line
do
curl --user user:password https://api.bitbucket.org/1.0/repositories/ --data name=$line --data is_private=true --data owner=OWNER
done<repo_list.txt
Run Code Online (Sandbox Code Playgroud)
但现在我无法通过 curl 从 bitbucket 中删除该存储库
我正在使用
curl -X DELETE --user user:password https://api.bitbucket.org/1.0/repositories/ --data name=$line --data is_private=true --data owner=OWNER
Run Code Online (Sandbox Code Playgroud)
并有错误 {"error": {"message": "'username'", "detail": " File \"/opt/python/domains/bitbucket.org/current/bitbucket/local/env/lib/python2. 7/site-packages/piston/resource.py\", line 208, in call\n}
https://bitbucket.org/zhemao/bitbucket-cli仅从用户帐户中删除存储库,但不能选择删除我所属的其他所有者拥有的存储库。
有任何想法吗 ?
我尝试了多种方式
curl -you 'USERNAME' https://api.bitbucket.org/1.0/repositories -d '{"name":"REPO"}'
curl -k -X POST --user user: pass \ "https://api.bitbucket.org/1.0/repositories" -d "name=project_name"
Run Code Online (Sandbox Code Playgroud)
我想念什么?
我一直在尝试使用 Jenkins 的“Bitbucket Build Status Notifier”插件来通知 Bitbucket 提交后 Maven 构建是否成功。
可用的文档很好地解释了如何创建凭据并将它们添加到 Jenkins(我将它们全局添加到 Jenkins master)
不幸的是,插件页面(https://wiki.jenkins-ci.org/display/JENKINS/Bitbucket+Cloud+Build+Status+Notifier+Plugin)和 GitHub 项目(https://github.com/jenkinsci/ bitbucket-build-status-notifier-plugin ) 没有描述如何将 Bitbucket 凭据与通知程序的管道版本一起使用 ( https://issues.jenkins-ci.org/browse/JENKINS-33841 )
我曾尝试在 Jenkins 文件中使用它,如下所示:
pipeline {
agent {
label 'jenkins-slave'
}
stages {
stage ('Build') {
steps {
script {
withCredentials([[$class: 'UsernamePasswordMultiBinding', credentialsId: '050a0876-fb6b-....',
usernameVariable: 'USERNAME', passwordVariable: 'PASSWORD']]) {
bitbucketStatusNotify(buildState: 'INPROGRESS')
sh '''#!/bin/bash
mvn clean package
...
'''
bitbucketStatusNotify(buildState: 'SUCCESSFUL')
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
不幸的是,我似乎总是以
[Pipeline] // node
[Pipeline] End of Pipeline …Run Code Online (Sandbox Code Playgroud) bitbucket-api jenkins jenkins-plugins jenkins-pipeline bcbsn
我正在使用以下 API
https://bitbucket.org/site/oauth2/authorize?client_id={client_id}&response_type=token
Run Code Online (Sandbox Code Playgroud)
获取 access_token 但 access_token 在 1 小时后过期,我需要 refresh_token 但我无法在上述 API 的响应中获取 refresh_token。上述API的响应是
https://www.example.com/#access_token={access_token}&scopes={scopes}&expires_in=3600&token_type=bearer
Run Code Online (Sandbox Code Playgroud)
您可以在上面的回复中看到没有或者是否有其他方法可以获得 refresh_token。
我想将上述 API 调用为 GET 方法。
可以请人帮忙。
谢谢你!
我正在用JavaScript 开发一个Bitbucket API包装器.我正在尝试为添加SSH密钥的方法编写测试.我天真地试图创建一个可信的SSH密钥是不成功的.这是我生成虚拟键的方法:
当我发布以这种方式生成的SSH密钥时,Bitbucket返回400 Bad Request .幸运的是我可以访问Bitbucket的源代码,所以我能够深入挖掘一下.Bitbucket通过运行它来验证SSH密钥ssh-keygen.
我不明白SSH密钥是如何生成的,所以我可能会问一个愚蠢的问题.是否有可能生成足够令人信服的SSH密钥ssh-keygen?这是输出:
$ ssh-keygen -l -f ~/Desktop/dummy_rsa.pub
buffer_get_string_ret: bad string length 1903654498
key_from_blob: can't read key type
key_read: key_from_blob cXd2YnRzZXpha3Rld2V4YmdieWdoeWl2aXpla3hkaHBodnlteHl2ZHl0bnloYmRyYWZrdnVxaWR3cHBydnFmZWFkaHp0aGRwYml6ZXVxY3ZlZ3NiZ29lanl0cG9vZmlnZ2dyZmJ3aWxsdXJhb2puYWRjY3F0YW5rcGV3Z3dkc3lxd2tkb3d6emFzbXpubXJ1eGN2bm53a3l6bmRjenV1dnplbnFtZ3Z5bm96ZGZhandwcG9mcHVoaWFkZ25ud3VkdnB0enV6Zm51bWVxanhzanlwa2ZodGxpd2xld2pnY3dhbmJ6aXVyamp6c29rbm54dHp2enJmeWhnY2ZrcWlqemFscGNnbWJsY3lpcmRtYXFkbHB6c3l0 duvrnzsladfrmccr@xqrbenpfryhoklgw.com
failed
/Users/dc/Desktop/dummy_rsa.pub is not a public key file.
Run Code Online (Sandbox Code Playgroud)
为了清楚起见,我不需要生成"有效"的SSH密钥,我只需要能够测试各种API端点.此外,由于测试在浏览器中运行,我无法生成密钥.
我一直在尝试使用OAuthv1.a和bit bucket实现一个简单的身份验证流程.当我使用先前提供的验证程序和oauth_token请求访问令牌时,我的问题就出现了.我总是被给出400错误而没有真正指示为什么.
Client error response
[status code] 400
[reason phrase] BAD REQUEST
[url] https://bitbucket.org/api/1.0/oauth/access_token?oauth_consumer_key=<snip>&oauth_nonce=fba24cfb3147ca7d32b3924fad43fd509bbb9bc1&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1381034857&oauth_token=fFz369NUmCHNyn7PGj&oauth_verifier=6724267371&oauth_version=1.0&oauth_signature=1H7%2Bvx0fVh2Sj%2FcDAE2QzkTx8us%3D
Run Code Online (Sandbox Code Playgroud)
我在guzzle中使用OauthPlugin类来构建签名参数并按文档中的描述提交帖子请求.有没有人有这样的问题与任何其他OAuthv1提供商或Bit Bucket专门?
$client = new Client('https://bitbucket.org/api/1.0/');
$oauth = new OauthPlugin( array(
'request_method' => OauthPlugin::REQUEST_METHOD_QUERY,
'consumer_key' => Config::get('oauthv1.key'),
'token' => Input::get('oauth_token'),
'verifier' => Input::get('oauth_verifier')
)
);
$client->addSubscriber($oauth);
$client->post('oauth/access_token')->send();
Run Code Online (Sandbox Code Playgroud) 我可以看到可以在界面中向Bitbucket添加git钩子,如下所示:

是否可以POST使用Bitbucket的API而不是使用Web界面来添加像这样的钩子?是否可以使用API删除现有的挂钩?
我在 BitBucket 项目中有多个存储库。我希望自动创建一个 bitbucket 存储库,并启用管道(设置管道配置应该很容易,推送一个 bitbucket-pipelines.yml 文件)。我如何使用 REST API 做到这一点?
我正在尝试获取我们公司 bitbucket 云的回购详细信息。使用 API:
curl --request GET \
--url 'https://api.bitbucket.org/2.0/repositories/{workspace}/{repo_slug}' \
--header 'Authorization: Bearer <access_token>' \
--header 'Accept: application/json'
Run Code Online (Sandbox Code Playgroud)
问题是我使用的每个密钥/令牌都会收到以下错误响应
{"type": "error", "error": {"message": "Access token expired."}}
Run Code Online (Sandbox Code Playgroud)
我创建了 OAuth 2.0 密钥和秘密,并尝试了它们。
--header 'Authorization: Bearer <KEY>'
--header 'Authorization: Bearer <SECRET>'
Run Code Online (Sandbox Code Playgroud)
我也尝试过应用程序密码:
--header 'Authorization: Bearer <APP PASSWORD>'
Run Code Online (Sandbox Code Playgroud)
还可以使用 SSH 密钥:
--header 'Authorization: Bearer <SSH KEY>'
Run Code Online (Sandbox Code Playgroud)
但我得到了同样的错误。
谢谢