Bitbucket API的Python包装器

pybitbucket37的Python项目详细描述


Bitbucket Cloud REST API的Python包装器。 这不适用于Bitbucket服务器, 以前被称为藏物。 要开始使用此库,只需执行以下操作:pip install pybitbucket

https://img.shields.io/pypi/v/pybitbucket.svghttps://img.shields.io/pypi/status/pybitbucket.svghttps://img.shields.io/pypi/pyversions/pybitbucket.svghttps://img.shields.io/pypi/l/pybitbucket.svghttps://img.shields.io/pypi/dm/pybitbucket.svg

采用这个库

验证

Authenticator子类用凭据准备API请求。 最简单的情况是Anonymous,它不使用凭据进行连接。 Anonymous可以与公共可用资源一起使用。 对于私人资源, ^{username>和作为凭据使用。 如果您的客户机应用程序有自己的处理这些值的机制, 您可以将BasicAuthenticator子类化以提供自定义行为。在

要“插入”您的实现或标准实现,只需执行以下操作:

bitbucket = Client(
    BasicAuthenticator(
        'your_username_here',
        'your_secret_password_here',
        'pybitbucket@mailinator.com'))

如果已启用two-step verification, 然后需要使用app passwordBasicAuthenticator一起使用, 不是您的常规用户密码。 OAuth2Authenticator是一个示例和超类。 它可能适用于某些命令行客户机。 其他客户端喜欢web应用程序 将需要obtain_authorization()的适当实现 也许还需要使用不同的补助金类型。在

找到东西

例如,要查找所有代码段:

^{pr2}$

该方法表示“for role”,但是如果没有提供,它将使用默认的owner。 因此,你所有的片段。在

一般来说,在每种类型的资源上使用静态find方法来完成查找。 如果资源是复数,如上面的“snippets”,那么find方法就是一个生成器。 您可以将其与迭代器或理解一起使用。 您可以找到的资源包括:

  • 用户和团队
  • 存储库和代码段
  • 请求和评论
  • 提交和生成状态
  • 钩支限制

创造事物

例如,要创建新代码段:

snip = Snippet.create(
    files=open_files(["README.rst"]),
    payload=SnippetPayload().add_title("My New Snippet"),
    client=bitbucket)

您可以创建的资源包括:

  • 存储库和代码段
  • 请求和评论
  • 生成状态
  • 钩支限制

检查事物

例如,要检查代码段上的属性,请执行以下操作:

snip = Snippet.find_snippet_by_id("Xqoz8", bitbucket)
s = '\n'.join([
    "id          : {}".format(snip.id),
    "is_private  : {}".format(snip.is_private),
    "title       : {}".format(snip.title),
    "files       : {}".format(snip.filenames),
    "created_on  : {}".format(snip.created_on),
    "updated_on  : {}".format(snip.updated_on),
    "scm         : {}".format(snip.scm),
    ]) if snip else 'Snippet not found.'
print(s)

有哪些属性可用? 你不会发现它们是用Python硬编码的。 它们是从JSON响应动态填充的。 您可以通过一种方便的方法查询列表:

snip = Snippet.find_snippet_by_id("Xqoz8", bitbucket)
print(snip.attributes())

当心。同一个资源的属性可能会根据您使用它的方式而改变。在

发展中

Python虚拟环境设置(适用于OS X)

它不像虚拟机那样是虚拟的。更像是Python版本和库的专用容器。在

  1. brew install python这将安装python2.7的最新版本,其中包含setuptools和pip的版本。不幸的是,这些setuptools和pip的版本似乎被破坏了。在
  2. pip install --upgrade --no-use-wheel setuptools
  3. pip install --upgrade --no-use-wheel pip
  4. pip install virtualenvwrapper

项目设置

  1. 克隆存储库并将其设置为当前工作目录。在
  2. (可选,但良好做法)创建virtual environmentmkvirtualenv python-bitbucket一旦创建,使用workon python-bitbucket来恢复虚拟环境。在
  3. pip install -r requirements-dev.txt将所需的库加载到虚拟环境中。在
  4. paver test_all运行所有单元测试并分析源代码。在

托多

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java文件路径中的java UTF8字符   java如何可靠地写入OPC UA服务器?   for-my-if语句中的java循环不能产生我想要的结果   java我如何在1个XSL中加入2个XML   macos无法在“/Library/Java/JavaVirtualMachines/jdk15.0.1.jdk/Contents/Home/bin/apt”中找到可执行文件   Java代码简单数学   java如何避免selenium中的sendKeys方法清除之前填充的文本?   java如何将PlacesAPI自动完成小部件传递到自定义对话框?   带有文本块的java Intellij json片段问题   启动时Spring启动错误:java。木卫一。IOException:jsse。别名\u否\u键\u项   移动文件时发生java异常   http Java Web客户端远程连接