Jama Software is the definitive system of record and action for product development. The company’s modern requirements and test management solution helps enterprises accelerate development time, mitigate risk, slash complexity and verify regulatory compliance. More than 600 product-centric organizations, including NASA, Boeing and Caterpillar use Jama to modernize their process for bringing complex products to market. The venture-backed company is headquartered in Portland, Oregon. For more information, visit jamasoftware.com.
Please visit dev.jamasoftware.com for additional resources and join the discussion in our community community.jamasoftware.com.
py-jama-rest-client by Jama Software is a Python REST API client for Jama Connect™. The client will allow customers to easily access the REST API to retrieve, and modify data within their Jama Instance.
Please note that this client is distributed as-is as an example and will likely require modification to work for your specific use-case.
Create a new directory and install py-jama-rest-client using pipenv.
mkdir example_project
cd example_project
pipenv --python 3.7
pipenv install py-jama-rest-client
GET
available endpoints
GET abstract items by document key(Deprecated)GET
abstract items(second method added to support all parameter options. Previous method left to preserve backwards compatibility)GET
a specific abstract item by IDGET
all versions of an abtract itemGET
the numbered version of an abstract itemGET
an abstract item at a specified version
PUT
attachment file, uploads content to an attachment object by attachmentIDGET
a specific attachment by ID
GET
Baseline Gets the baseline with the specified IDGET
Baselines Gets all baselines for a specified projectGET
Baselines versioneditems, Gets all of the versioned items associated with the specified baseline
GET
filter results, gets all results for the specified filter id.
GET
all items by projectGET
a specific item by IDGET
all downstream relationships for an item by item IDGET
all downstream related items for an item by item IDGET
all upstream relationships for an item by item IDGET
all upstream related items for an item by item IDGET
all children of an itemGET
all synced itemsGET
all tags of an itemGET
synced item sync statusGET
Locked state of an itemGET
all versions of an itemGET
the numbered version of an itemGET
all valid workflow transitions that can be made on the item by item IDGET
an item at a specified versionDELETE
an Item by IDPATCH
an ItemPOST
an item to a projectPOST
item attachmentPOST
item syncPOST
a tag to an itemPUT
an itemPUT
item lock
GET
all relationship rule setsGET
a specific relationship rule set by IDGET
all projects for a specific relationship rule set by ID
GET
all relationship typesGET
a specific relationship type by ID
GET
all item typesGET
a specific item type by ID
GET
all pick listsGET
a specific pick list by IDGET
all pick list options for a specific pick list by pick list ID
GET
a specific pick list option by pick list option ID
GET
all projectsPOST
new attachment item
GET
all tags for a specific projectPOST
a new tag to a specific projectGET
all items with tag id
GET
test cycle by test cycle id
POST
a new test cycle to a test plan by test plan id
GET
all test runs associated with a particular test cycle idPUT
test runs by id. Allows updating of test run fields.
GET
all active users visable to the current userGET
a single user by idGET
the current userPOST
a new userPUT
update an existing user with user idPUT
update an existing user's active status with user id
POST
relationshipGET
relationship by idGET
relationships by project idPUT
relationship by id, from item, and to itemDELETE
relationship by id
To instantiate a Basic authentication client:
from py_jama_rest_client.client import JamaClient
basic_auth_client = JamaClient('https://yourdomain.jamacloud.com', credentials=('username', 'password'))
To instantiate a OAuth authenticated client:
from py_jama_rest_client.client import JamaClient
oauth_client = JamaClient('https://yourdomain.jamacloud.com', credentials=('clientID', 'ClientSecret'), oauth=True)
The Py Jama Rest Client will log API messages to the logger 'py_jama_rest_client' you can get this logger for
setup / customization by calling logging.getLogger('py_jama_rest_client')
- Download get_all_projets.py to your example_project directory
- Enter your Jama URL, username, and password into the corrisponding variables at the top of the file.
- To execute the script execute the following form your example_project directory:
pipenv run python get_all_projects.py