Altassian | Bitbucket Python API使用及相关任务自动化的实现

16 篇文章 3 订阅

本文总结如何调用Altassian的Bitbucket API及相关任务自动化的实现。
Updated: 2022 / 6 / 22


Altassian | Bitbucket Python API使用及相关任务自动化的实现


Bitbucket Python API

目前可行的Bitbucket API 12

  • stashy 34
  • python-bitbucket 5
  • atlassian-python-api 67

stashy

根据用户名和密码登录Bitbucket Server

from stashy

stash = stashy.connect()
	url = 'http://YourServerAddr:7990',
	username = 'YourUsername',
	password = 'YourPassword')

atlassian-python-api

Bitbucket Module

根据用户名和密码登录Bitbucket Server

from atlassian import Bitbucket

bitbucket = Bitbucket(
	url = 'http://YourServerAddr:7990',
	username = 'YourUsername',
	password = 'YourPassword')

Manage Projects

  • bitbucket.project.list()
bitbucket.project.list()
# {'key': ..., 'id': ..., 'name': ..., 'description': ..., 'public': ..., 'type': ..., 'links': {'self': [{'href': 'http://YourServerAdd:7990/projects/'key''}]}}
  • bitbucket.repo_list()
bitbucket.repo_list('YourProjectKey')
# {'slug': ..., 'id': ..., 'name': ..., 'description': ..., 'scmId': ..., 'state': ..., 'statusMessage': ..., 'forkable': ..., 'project': {'key': ..., 'id': ..., 'name': ..., 'description': ..., 'public': ..., 'type': ..., 'links': {'self': [{'href': 'http://YourServerAddr:7990/projects/YourProjectKey'}]}}, 'public': ..., 'links': {'clone': ..., [{'href': 'ssh://git@YourServerAddr: 7999/YourProjectKey/YourRepoSlug.git', 'name': 'ssh'}, {'href: 'http://YourServerAddr:7990/scm/YourProjectKey/YourReposlug.git', 'name': 'http'}], 'self': [{'href': 'http://YourServerAddr:7990/projects/YourProjectKey/repos/YourReposlug/browse'}]}
  • [x]

Repository

File
  • bitbucket.get_file_list(project_key, repository_slug, sub_folder, query, start, limit)
FileList = bitbucket.get_file_list(project_key = YourProjectKey, repository_slug = YourRepoSlug, sub_folder = YourFilePath, query = YourBranchName, start = FromwhereStart, limit=None)

# list(FileList)可列出在该Project该Repo该Branch该Subfolder下从start开始的所有file name

  • bitbucket.get_content_file(project, repository, filename, at=None, markup=None)
FileCont = bitbucket.get_content_file(YourProjectKey, YourRepoSlug, YourFilePath&Name, YourBranch, markup=None)

type(FileCont)
# <class 'bytes'>

FILE = open('./FILE.csv', 'wb').write(FileCont)

  • bitbucket.download_repo_archive(project_key, repository_slug, dest_fd, at, filename, format, path, prefix, chunk_size)
with open('./File', mode='wb') as Yourfd:
	bitbucket.download_repo_archive(
		project_key = YourProjectKey,
		repository_slug = YourRepoSlug,
		dest_fd = Yourfd,
		at = YourBranch,
		path = YourFilePath&Name,
		format = zip)

# 或者
# fd = open('./File', mode = 'wb')
# bitbucket.download_repo_archive(
# 		project_key = YourProjectKey,
#		repository_slug = YourRepoSlug,
#		dest_fd = Yourfd,
#		at = YourBranch,
#		path = YourFilePath&Name,
#		format = zip)
# dest_fd.close()

参考链接


  1. python api for bitbucket ↩︎

  2. Bitbucket API ↩︎

  3. stashy ↩︎

  4. stashy Github ↩︎

  5. python-bitbucket ↩︎

  6. atlassian-python-api ↩︎

  7. atlassian-python-api Github ↩︎

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值