py-jama-rest-client


Namepy-jama-rest-client JSON
Version 1.17.1 PyPI version JSON
download
home_pagehttps://github.com/JamaSoftware/py-jama-rest-client
SummaryA client for the Jama Connect REST API
upload_time2023-06-21 18:09:15
maintainer
docs_urlNone
authorNick McHale
requires_python
licenseMIT
keywords rest client
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Jama Software
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](http://jamasoftware.com).

Please visit [dev.jamasoftware.com](http://dev.jamasoftware.com) for additional resources and join the discussion in our
 community [community.jamasoftware.com](http://community.jamasoftware.com).
 

# py-jama-rest-client
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.

## Requirements
- [Python 3.7](https://www.python.org/downloads/release/python-372/)
- [Pipenv(recommended)](https://pipenv.readthedocs.io/en/latest/)

## Setup
Create a new directory and install py-jama-rest-client using pipenv.
 ```bash
 mkdir example_project
 cd example_project
 pipenv --python 3.7
 pipenv install py-jama-rest-client
```

### REST Calls Supported in the Client

##### API information
- `GET` available endpoints

##### Abstract Items
- ~~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 ID
- `GET` all versions of an abtract item
- `GET` the numbered version of an abstract item
- `GET` an abstract item at a specified version

##### Attachments
- `PUT` attachment file, uploads content to an attachment object by attachmentID
- `GET` a specific attachment by ID

##### Baselines
- `GET` Baseline  Gets the baseline with the specified ID
- `GET` Baselines Gets all baselines for a specified project
- `GET` Baselines versioneditems, Gets all of the versioned items associated with the specified baseline

##### Filters
- `GET` filter results, gets all results for the specified filter id.

##### Items
- `GET` all items by project 
- `GET` a specific item by ID
- `GET` all downstream relationships for an item by item ID
- `GET` all downstream related items for an item by item ID
- `GET` all upstream relationships for an item by item ID
- `GET` all upstream related items for an item by item ID
- `GET` all children of an item
- `GET` all synced items
- `GET` all tags of an item
- `GET` synced item sync status
- `GET` Locked state of an item
- `GET` all versions of an item
- `GET` the numbered version of an item
- `GET` all valid workflow transitions that can be made on the item by item ID
- `GET` an item at a specified version
- `DELETE` an Item by ID
- `PATCH` an Item
- `POST` an item to a project
- `POST` item attachment
- `POST` item sync
- `POST` a tag to an item
- `PUT` an item
- `PUT` item lock

##### Relationship Rule Sets
- `GET` all relationship rule sets
- `GET` a specific relationship rule set by ID
- `GET` all projects for a specific relationship rule set by ID

##### Relationship Types
- `GET` all relationship types
- `GET` a specific relationship type by ID

##### Item Types
- `GET` all item types
- `GET` a specific item type by ID

##### Pick lists
- `GET` all pick lists
- `GET` a specific pick list by ID
- `GET` all pick list options for a specific pick list by pick list ID

##### Pick list options
- `GET` a specific pick list option by pick list option ID

##### Projects: 
- `GET` all projects
- `POST` new attachment item

##### Tags
- `GET` all tags for a specific project
- `POST` a new tag to a specific project
- `GET` all items with tag id

##### Test Cycles
- `GET` test cycle by test cycle id

##### Test Plans
- `POST` a new test cycle to a test plan by test plan id

##### Test Runs
- `GET` all test runs associated with a particular test cycle id
- `PUT` test runs by id. Allows updating of test run fields.


##### Users
- `GET` all active users visable to the current user
- `GET` a single user by id
- `GET` the current user
- `POST` a new user
- `PUT` update an existing user with user id
- `PUT` update an existing user's active status with user id

##### Relationships
- `POST` relationship
- `GET` relationship by id
- `GET` relationships by project id
- `PUT` relationship by id, from item, and to item
- `DELETE` relationship by id

## Usage Examples

#### Client instantiation
To instantiate a Basic authentication client:
```python
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: 
```python
from py_jama_rest_client.client import JamaClient

oauth_client = JamaClient('https://yourdomain.jamacloud.com', credentials=('clientID', 'ClientSecret'), oauth=True)
```


#### Logging
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')`


#### Get all projects
1) Download [get_all_projets.py](https://github.com/JamaSoftware/py-jama-rest-client/tree/master/examples) 
to your example_project directory
2) Enter your Jama URL, username, and password into the corrisponding variables at the top of the file.
3) To execute the script execute the following form your example_project directory: 
    ```bash
    pipenv run python get_all_projects.py
    ```

## Additional Documentation
  * [Developer Documentation](https://jamasoftware-ps.github.io/py-jama-rest-client/)
  * [Pypi docs](https://pypi.org/project/py-jama-rest-client/)

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/JamaSoftware/py-jama-rest-client",
    "name": "py-jama-rest-client",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "REST Client",
    "author": "Nick McHale",
    "author_email": "nmchale@jamasoftware.com",
    "download_url": "https://files.pythonhosted.org/packages/fa/43/efe5aaecd8db28c43eeddb1680e2f9121a353263ceb57bebb9a4bffa06fc/py-jama-rest-client-1.17.1.tar.gz",
    "platform": null,
    "description": "# Jama Software\nJama Software is the definitive system of record and action for product development. The company\u2019s modern requirements \nand test management solution helps enterprises accelerate development time, mitigate risk, slash complexity and verify \nregulatory compliance. More than 600 product-centric organizations, including NASA, Boeing and Caterpillar use Jama to \nmodernize their process for bringing complex products to market. The venture-backed company is headquartered in \nPortland, Oregon. For more information, visit [jamasoftware.com](http://jamasoftware.com).\n\nPlease visit [dev.jamasoftware.com](http://dev.jamasoftware.com) for additional resources and join the discussion in our\n community [community.jamasoftware.com](http://community.jamasoftware.com).\n \n\n# py-jama-rest-client\npy-jama-rest-client by Jama Software is a Python REST API client for Jama Connect\u2122.  The client will allow customers to \neasily access the REST API to retrieve, and modify data within their Jama Instance. \n\nPlease note that this client is distributed as-is as an example and will likely require modification to work for your \nspecific use-case.\n\n## Requirements\n- [Python 3.7](https://www.python.org/downloads/release/python-372/)\n- [Pipenv(recommended)](https://pipenv.readthedocs.io/en/latest/)\n\n## Setup\nCreate a new directory and install py-jama-rest-client using pipenv.\n ```bash\n mkdir example_project\n cd example_project\n pipenv --python 3.7\n pipenv install py-jama-rest-client\n```\n\n### REST Calls Supported in the Client\n\n##### API information\n- `GET` available endpoints\n\n##### Abstract Items\n- ~~GET abstract items by document key~~(Deprecated)\n- `GET` abstract items(second method added to support all parameter options.  Previous method left to preserve backwards \ncompatibility)\n- `GET` a specific abstract item by ID\n- `GET` all versions of an abtract item\n- `GET` the numbered version of an abstract item\n- `GET` an abstract item at a specified version\n\n##### Attachments\n- `PUT` attachment file, uploads content to an attachment object by attachmentID\n- `GET` a specific attachment by ID\n\n##### Baselines\n- `GET` Baseline  Gets the baseline with the specified ID\n- `GET` Baselines Gets all baselines for a specified project\n- `GET` Baselines versioneditems, Gets all of the versioned items associated with the specified baseline\n\n##### Filters\n- `GET` filter results, gets all results for the specified filter id.\n\n##### Items\n- `GET` all items by project \n- `GET` a specific item by ID\n- `GET` all downstream relationships for an item by item ID\n- `GET` all downstream related items for an item by item ID\n- `GET` all upstream relationships for an item by item ID\n- `GET` all upstream related items for an item by item ID\n- `GET` all children of an item\n- `GET` all synced items\n- `GET` all tags of an item\n- `GET` synced item sync status\n- `GET` Locked state of an item\n- `GET` all versions of an item\n- `GET` the numbered version of an item\n- `GET` all valid workflow transitions that can be made on the item by item ID\n- `GET` an item at a specified version\n- `DELETE` an Item by ID\n- `PATCH` an Item\n- `POST` an item to a project\n- `POST` item attachment\n- `POST` item sync\n- `POST` a tag to an item\n- `PUT` an item\n- `PUT` item lock\n\n##### Relationship Rule Sets\n- `GET` all relationship rule sets\n- `GET` a specific relationship rule set by ID\n- `GET` all projects for a specific relationship rule set by ID\n\n##### Relationship Types\n- `GET` all relationship types\n- `GET` a specific relationship type by ID\n\n##### Item Types\n- `GET` all item types\n- `GET` a specific item type by ID\n\n##### Pick lists\n- `GET` all pick lists\n- `GET` a specific pick list by ID\n- `GET` all pick list options for a specific pick list by pick list ID\n\n##### Pick list options\n- `GET` a specific pick list option by pick list option ID\n\n##### Projects: \n- `GET` all projects\n- `POST` new attachment item\n\n##### Tags\n- `GET` all tags for a specific project\n- `POST` a new tag to a specific project\n- `GET` all items with tag id\n\n##### Test Cycles\n- `GET` test cycle by test cycle id\n\n##### Test Plans\n- `POST` a new test cycle to a test plan by test plan id\n\n##### Test Runs\n- `GET` all test runs associated with a particular test cycle id\n- `PUT` test runs by id. Allows updating of test run fields.\n\n\n##### Users\n- `GET` all active users visable to the current user\n- `GET` a single user by id\n- `GET` the current user\n- `POST` a new user\n- `PUT` update an existing user with user id\n- `PUT` update an existing user's active status with user id\n\n##### Relationships\n- `POST` relationship\n- `GET` relationship by id\n- `GET` relationships by project id\n- `PUT` relationship by id, from item, and to item\n- `DELETE` relationship by id\n\n## Usage Examples\n\n#### Client instantiation\nTo instantiate a Basic authentication client:\n```python\nfrom py_jama_rest_client.client import JamaClient\n\nbasic_auth_client = JamaClient('https://yourdomain.jamacloud.com', credentials=('username', 'password'))\n```\n\nTo instantiate a OAuth authenticated client: \n```python\nfrom py_jama_rest_client.client import JamaClient\n\noauth_client = JamaClient('https://yourdomain.jamacloud.com', credentials=('clientID', 'ClientSecret'), oauth=True)\n```\n\n\n#### Logging\nThe Py Jama Rest Client will log API messages to the logger 'py_jama_rest_client' you can get this logger for \nsetup / customization by calling `logging.getLogger('py_jama_rest_client')`\n\n\n#### Get all projects\n1) Download [get_all_projets.py](https://github.com/JamaSoftware/py-jama-rest-client/tree/master/examples) \nto your example_project directory\n2) Enter your Jama URL, username, and password into the corrisponding variables at the top of the file.\n3) To execute the script execute the following form your example_project directory: \n    ```bash\n    pipenv run python get_all_projects.py\n    ```\n\n## Additional Documentation\n  * [Developer Documentation](https://jamasoftware-ps.github.io/py-jama-rest-client/)\n  * [Pypi docs](https://pypi.org/project/py-jama-rest-client/)\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "A client for the Jama Connect REST API",
    "version": "1.17.1",
    "project_urls": {
        "Bug Reports": "https://github.com/JamaSoftware/py-jama-rest-client/issues",
        "Homepage": "https://github.com/JamaSoftware/py-jama-rest-client",
        "Jama Developer resources": "https://dev.jamasoftware.com",
        "Jama Software": "https://www.jamasoftware.com",
        "Source": "https://github.com/JamaSoftware/py-jama-rest-client"
    },
    "split_keywords": [
        "rest",
        "client"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a0084d5e85a4ec1c8ce7d8f21bd56ca4341e1408357df2b83982342ec7e4a5c6",
                "md5": "3ef6109797d73c6a26b1e0447853ed41",
                "sha256": "f3eee95c4608ff0db1be57b432bf996c6bcc298005286280a150b5a049e63638"
            },
            "downloads": -1,
            "filename": "py_jama_rest_client-1.17.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "3ef6109797d73c6a26b1e0447853ed41",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 14724,
            "upload_time": "2023-06-21T18:09:10",
            "upload_time_iso_8601": "2023-06-21T18:09:10.735723Z",
            "url": "https://files.pythonhosted.org/packages/a0/08/4d5e85a4ec1c8ce7d8f21bd56ca4341e1408357df2b83982342ec7e4a5c6/py_jama_rest_client-1.17.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "fa43efe5aaecd8db28c43eeddb1680e2f9121a353263ceb57bebb9a4bffa06fc",
                "md5": "4e7b853ee106ea3298018229aa137bde",
                "sha256": "ceed4e99fdc133ac595bcb76101f3d9ac4e07294b6fc80c9e2e2ab054f7bce73"
            },
            "downloads": -1,
            "filename": "py-jama-rest-client-1.17.1.tar.gz",
            "has_sig": false,
            "md5_digest": "4e7b853ee106ea3298018229aa137bde",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 26804,
            "upload_time": "2023-06-21T18:09:15",
            "upload_time_iso_8601": "2023-06-21T18:09:15.269273Z",
            "url": "https://files.pythonhosted.org/packages/fa/43/efe5aaecd8db28c43eeddb1680e2f9121a353263ceb57bebb9a4bffa06fc/py-jama-rest-client-1.17.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-06-21 18:09:15",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "JamaSoftware",
    "github_project": "py-jama-rest-client",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "py-jama-rest-client"
}
        
Elapsed time: 0.10651s