Python wrapper for JFROG Xray REST API
Project description
Python wrapper for JFROG Xray REST API
jfrog-xray-api
is a live python package for JFrog Xray REST API.
Tables of Contents
Install
pip install jfrog-xray-api
Usage
Authentication
# User and password OR API_KEY
from xray import XrayRestClient
xray_rest_client = XrayRestClient(
base_url="http://localhost:8082/xray",
username='USERNAME',
password='PASSWORD or API_KEY'
)
SYSTEM
Create Bundle
system = xray_rest_client.system
response = system.create_bundle("bundle-2023-001")
print(response.json())
Ping Request
system = xray_rest_client.system
response = system.system.send_ping()
print(response.json())
Get Version
system = xray_rest_client.system
response = system.get_version()
print(response.json())
Metrics
system = xray_rest_client.system
response = system.get_metrics()
print(response.json())
Components
Find Component by Name
components = xray_rest_client.components
response = components.find_component_by_name("jenkinsapi")
print(response.json())
Find Components by CVEs
components = xray_rest_client.components
cve_list = ['CVE-2021-4104']
response = components.find_components_by_cves(cve_list)
print(response.json())
Find CVEs by Components
components = xray_rest_client.components
components_id_list = ['gav://commons-collections:commons-collections:3.2.1', 'gav://commons-collections:commons-collections:3.2.2']
response = components.find_cves_by_components(components_id_list)
print(response.json())
Get Component List Per Watch
# TODO
Get Artifact Dependency Graph
components = xray_rest_client.components
artifact_path = '/Artifactory/pnnl/goss/goss-core-client/0.1.7/goss-core-client-0.1.7-sources.jar'
response = components.get_artifact_dependency_graph(artifact_path)
print(response.json())
Compare Artifacts
components = xray_rest_client.components
source_artifact_path = '/Artifactory/pnnl/goss/goss-core-client/0.1.7/goss-core-client-0.1.7-sources.jar'
target_artifact_path = '/Artifactory/pnnl/goss/goss-core-client/0.1.8/goss-core-client-0.1.8-sources.jar'
response = components.compare_artifacts(source_artifact_path, target_artifact_path)
print(response.json())
Get Build Dependency Graph
components = xray_rest_client.components
artifactory_instance = "myInstance",
build_name = "someBuild",
build_number = "someNumber"
response = components.get_build_dependency_graph(artifactory_instance, build_name, build_number)
print(response.json())
Compare Builds
components = xray_rest_client.components
response = components.compare_builds(
"my-instance", "someOriginBuild", "111",
"my-instance", "someTargetBuild", "222",
)
print(response.json())
Export Component Details
# TODO
SUMMARY
Build Summary
summary = xray_rest_client.summary
response = summary.get_build_summary("build_name", "123")
print(response.json())
Artifact Summary
summary = xray_rest_client.summary
response = summary.get_artifact_summary(paths=["/Artifactory/pnnl/goss/goss-core-client/0.1.7/goss-core-client-0.1.7-sources.jar"])
print(response.json())
Issues
Create Issue Event
from xray.common import PackageType
issues = xray_rest_client.issues
response = issues.create_issue_event(
issue_id='test-2023-0221',
summary='test-2023-0221',
description='test-2023-0221',
package_type=PackageType.MAVEN,
component_id='com.test:test',
vulnerable_versions=["[1.0.10.2,)"],
)
print(response.json())
Update Issue Event
from xray.common import PackageType
issues = xray_rest_client.issues
response = issues.update_issue_event(
issue_id='test-2023-0221',
summary='test-2023-0221',
description='test-2023-0221 update',
package_type=PackageType.MAVEN,
component_id='com.test:test',
vulnerable_versions=["[1.0.10.2,)"],
)
print(response.content)
Get Issue Event
issues = xray_rest_client.issues
# get issue event v1
# Note: This API is deprecated in Xray version 3.51.0
response = issues.get_issue_event("test-2023-0221")
# get issue event v2
# Since: Xray 3.51.0
response = issues.get_issue_event("test-2023-0221", api_version="v2")
print(response.json())
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file jfrog-xray-api-0.0.2.1.tar.gz
.
File metadata
- Download URL: jfrog-xray-api-0.0.2.1.tar.gz
- Upload date:
- Size: 6.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.11.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 470504943a83c4c0282446f52103a9521cbc486d282e43c2f44b6886f052126f |
|
MD5 | a670b823f7fa7f8265d30e79b7d7e195 |
|
BLAKE2b-256 | 6b841e3d1dd5a7513439accb81d27f45525ec656e397ae9fcc765788c9771629 |
File details
Details for the file jfrog_xray_api-0.0.2.1-py3-none-any.whl
.
File metadata
- Download URL: jfrog_xray_api-0.0.2.1-py3-none-any.whl
- Upload date:
- Size: 9.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.11.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b181a208076f7806ea760801bf99a2a788151449cc837d2ca23a84bba4780e89 |
|
MD5 | 54fdd6557c502988054e57e34443c571 |
|
BLAKE2b-256 | 37aa8c49708ccce3d9d459cf265d1f735efedaddfcd3234e0b5aca75d695d51d |