Python client for IBM Enterprise Lifecycle Management applications
(c) Copyright 2021- IBM Inc. All rights reserved
SPDX-License-Identifier: MIT
version="0.26.2"
11-Dec-2023
- Added _validate.py to provide the Validate API, available on all apps (may need to restrict this to just ccm/gc/qm/rm?)
- Added examples/validate.py as an example of using the validate API - for most options refer to oslcquery readme
16-Aug-2023
- tested with Python 3.11.4 - worked OOTB. Now developing using 3.11.4 - won't be back-tested with older Pythons but should work back to 3.9 at least.
4-May-2023
- Deprecated RM load_folders() - use find_folder() instead.
- Added RM create_folder() - this doesn't require doing a forced reload of all folders, because it inserts the new folder into the internal info about folders
- Added example dn_simple_createfolderpath.py - allows exercising the create_folders() function
- Added rm-only implementation of create/deliver changeset NOTE these aren't fully finished, specifically hte delivery result may not be obvious(!)
- Added example dn_simple_typesystemimport_cs.py which shows creating/delivering a changeset around typesystem import
The aim of this code is to provide a Python client for the IBM Enterprise Lifecycle Management (ELM) applications.
IMPORTANT NOTES:
- This code is not developed, delivered or supported in any way as part of the IBM ELM applications
- This code is not supported other than by the efforts of the author and contributors in this github repository
- This code is not intended to be complete/comprehensive - it provides functionality needed by the examples and little else.
Included in this package are a few examples using elmclient
which are reasonably functional:
- OSLC Query able to work with DOORS Next (DN), Engineering Test Management (ETM), Engineering Workflow Management (EWM) and Global Configuration management (GCM)
- ReqIF import/export for DOORS Next
- Basic Reportable REST for DOORS Next - very basic!
- More general Reportable REST, currently only for DOORS Next but intended to expand to cover EWM and ETM.
There are links to these examples below.
Either method of install described below installs the elmclient package and puts example commands (such as oslcquery
into your path so a) they can be run simply by typing the command, e.g. oslcquery
and b) as you edit the source code these commands automatically use the latest code.
Requirements: Python 3.11/3.10/3.9 - NOTE I'm developing using Python 3.11.4 and compatibility with older versions is NOT checked.
Step 1: Install Python so it can be run from a command prompt Either Step 2a: Quickest and easiest to get started: install elmclient from pypi Or Step 2b: If you want to change elmclient code
Install Python so you can run Python from the commandline - might be python3 if you're on *nix. On Windows the command is python
- you can find install guides all over the internet.
This method is also easiest to update with new versions of elmclient.
at a command prompt:
- for Windows type
pip install elmclient
- For *nix use
pip3 install elmclient
To update:
- for Windows type
pip install -U elmclient
- For *nix use
pip3 install -U elmclient
Using this method you could copy the examples from where they're lurking in your Python installation's library to a different folder, rename if using one of the commands such as oslcquery to a different name, and edit them in this folder separate from the elmclient install.
Test that all was successful by running oslcquery -h
you should get a version number then a swathe of text with all the options.