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.
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'
)
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
jfrog-xray-api-0.0.2.tar.gz
(6.4 kB
view details)
Built Distribution
File details
Details for the file jfrog-xray-api-0.0.2.tar.gz
.
File metadata
- Download URL: jfrog-xray-api-0.0.2.tar.gz
- Upload date:
- Size: 6.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.11.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b53d47949c4c275e5f192ab3ccb3cc2af530a20e569f60bc7f2607836d19d3b3 |
|
MD5 | 4a387875e41379c5d8d398237d73f4d8 |
|
BLAKE2b-256 | 44c47b32f9faa8b91bdcdc5778ed3ab2bd3ac9f5d98c6630374251e57dc86391 |
File details
Details for the file jfrog_xray_api-0.0.2-py3-none-any.whl
.
File metadata
- Download URL: jfrog_xray_api-0.0.2-py3-none-any.whl
- Upload date:
- Size: 8.9 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 | 1a71371eaa0e32c92c092b510fc357d1e60dd7d891220f29a962f8cc07b9d3ba |
|
MD5 | 2a5ab91ea6787a4889efff72518e712a |
|
BLAKE2b-256 | cbe7c672f2ca50b6dbd8cd597af2eb3bb76751add0c883a0405ea3180ab79b76 |