Reputation: 23
I am working on a Atlassian Jira cloud product. I have a requirement to get the details of Jira cloud assets and update a field with some specific key-value pair. To achieve same, I have chosen python api to interact with Atlassian jira cloud and do those changes.
But, I am unable to access jira cloud assets using the atlassian-python-api
which I have got from the https://pypi.org/project/atlassian-python-api/. Even I tried with different versions of it to achieve same.
Here is my sample code.
from atlassian import Jira
# Enter your Jira Cloud site URL and API token
JIRA_URL = "https://<your-domain>.atlassian.net"
JIRA_API_TOKEN = "<your-api-token>"
# Initialize the Jira API client
jira = Jira(
url=JIRA_URL,
username="",
password="",
cloud=True,
api_token=JIRA_API_TOKEN,
)
# Fetch a list of all assets
assets = jira.assets().search("")
# Print the asset details in a tabular format
print("Asset ID\tAsset Type\tName\tDescription")
for asset in assets:
print(f"{asset['id']}\t{asset['type']}\t{asset['name']}\t{asset['description']}")
But, getting below error.
assets = jira.assets().search("")
AttributeError: 'Jira' object has no attribute 'assets'
After that, I tried to fetch with different components like - jira.jira_service_desk().get_all_assets()
, jira.get_all_assets()
and jira.cloud.asset_management.get_all_assets() . But, everytime I am facing respective issue like
'Jira' object has no attribute <>`.
Could you please suggest a way make the bulk operations on jira-cloud-assets.
FYI, Even I went with the atlassian provided api - https://developer.atlassian.com/cloud/assetsapi/rest/api-group-assets/#api-asset-get - It also doesn't help to get them.
Expecting a solution to make write operations on Jira-Cloud assets.
Upvotes: 2
Views: 1273
Reputation: 129
I once have the same problem. After I trace codes of the library. It is not documented on the atlassian python API website.
The APIs you seek are in Insight
. Here is the link to the source file on gitHub.
from atlassian import Insight
from config import Config # modify this
import json
insight = Insight(
url=Config.JSM_SERVER,
username=Config.JSM_USER,
password=Config.JSM_TOKEN,
cloud=True
)
result = insight.list_object_schema()
print (json.dumps(result, indent=2, ensure_ascii=False))
However, not all functions are implemented. You have to patch them yourself.
Hope this can help you. :D
Upvotes: 2