与jfrog artifactory rest api的类型化交互
pyartifactor的Python项目详细描述
python工件厂
python-artifactory
是访问Artifactory REST API的python库。
此库使您能够管理应用程序中的工件资源,如用户、组、权限、存储库和工件。 它至少需要python 3.6
目录
用法
认证
frompyartifactoryimportArtifactoryart=Artifactory(url="ARTIFACTORY_URL",auth=('USERNAME','PASSORD_OR_API_KEY'))
ssl证书验证选项
指定要用作客户端证书的本地证书
frompyartifactoryimportArtifactoryart=Artifactory(url="ARTIFACTORY_URL",auth=('USERNAME','PASSORD_OR_API_KEY'),cert="/path_to_file/server.pem")
禁用主机证书验证
frompyartifactoryimportArtifactoryart=Artifactory(url="ARTIFACTORY_URL",auth=('USERNAME','PASSORD_OR_API_KEY'),verify=False)
管理对象
用户
首先,您需要创建一个新的artifactory对象。
frompyartifactoryimportArtifactoryart=Artifactory(url="ARTIFACTORY_URL",auth=('USERNAME','PASSORD_OR_API_KEY'))
获取用户列表:
users=art.users.list()
获取单个用户:
users=art.users.get("test_user")
创建/更新用户:
frompyartifactory.models.UserimportNewUser# Create Useruser=NewUser(name="test_user",password="test_password",email="user@user.com")new_user=art.users.create(user)# Update useruser.email="test@test.com"updated_user=art.users.update(user)
删除用户:
art.users.delete("test_user")
组
获取组列表:
users=art.groups.list()
获取单个组:
users=art.groups.get("group_name")
创建/更新组:
frompyartifactory.models.GroupimportGroup# Create a Groupgroup=Group(name="test_group",description="test_group")new_group=art.groups.create(group)# Update usergroup.description="test_group_2"updated_group=art.groups.update(group)
删除组:
art.groups.delete("test_group")
安全性
一组对apikey、密码执行操作的方法…
>>>art.security.art.security.create_api_key(art.security.get_encrypted_password(art.security.revoke_api_key(art.security.get_api_key(art.security.regenerate_api_key(art.security.revoke_user_api_key(
储存库
获取存储库列表:
repositories=art.repositories.list()
获取单个存储库(本地、虚拟或远程):
local_repo=art.groups.get_local_repo("local_repo_name")virtual_repo=art.groups.get_virtual_repo("virtual_repo_name")remote_repo=art.groups.get_remote_repo("remote_repo_name")
创建/更新存储库:
frompyartifactory.models.RepositoryimportLocalRepository,VirtualRepository,RemoteRepository# Create a repositorylocal_repo=LocalRepository(key="test_local_repo")new_local_repo=art.repositories.create_local_repo(local_repo)# Update a repositorylocal_repo.description="test_local_repo"updated_local_repo=art.repositories.update_local_repo(local_repo)# Same process for Virtual and Remote repositories
删除存储库:
art.repositories.delete("test_local_repo")
权限
获取权限列表:
permissions=art.permissions.list()
获得单一权限:
users=art.permissions.get("test_permission")
创建/更新权限:
frompyartifactory.models.PermissionimportPermission# Create a permissionpermission=Permission(**{"name":"test_permission","repositories":["test_repository"],"principals":{"users":{"test_user":["r","w","n","d"]},"groups":{"developers":["r"]},},})perm=art.permissions.create(permission)# Update permissionpermission.repositories=["test_repository_2"]updated_permission=art.permissions.update(permission)
删除权限:
art.permissions.delete("test_permission")
工件和构建
工件
待定