Skip to content
generated from IBM/repo-template

Python client for IBM Enterprise Lifecycle Management applications with example commandline applications for OSLC Query export to CSV from DOORS Next (DN/DNG), Enterprise Workflow Management (EWM/RTC) and Enterprise Test Management (ETM/RQM), ReqIF import/export, and DOORS Next Reportable REST export to CSV/XML

License

Notifications You must be signed in to change notification settings

IBM/ELM-Python-Client

Repository files navigation

Python client for IBM Enterprise Lifecycle Management applications

Python client for IBM Enterprise Lifecycle Management applications

(c) Copyright 2021- IBM Inc. All rights reserved

SPDX-License-Identifier: MIT

version="0.26.2"

What's New?

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

Introduction

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.

Installation

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.

Overview

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

Step 1

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.

Step 2a - Quickest and easiest to just use elmclient

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.

Step 2b - If you want to edit the code in elmclient