Skip to content

Commit 0e68805

Browse files
committed
Merge pull request #35 from klehman-rally/master
1.1.0 release supporting Rally API Key and a few minor defect fixes
2 parents 4e56193 + b086b1d commit 0e68805

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

53 files changed

+1125
-499
lines changed

README.rst

Lines changed: 84 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ The `pyral <http://github.com/RallyTools/RallyRestToolkitForPython>`_ package en
66
and otherwise wrangle the data in your Rally subscription using the popular
77
and productive Python language.
88
The ``pyral`` package provides a smooth and easy to use veneer on top
9-
of the Rally REST Web Services API using the JSON flavored variant.
9+
of the Rally REST Web Services API using JSON.
1010

1111
.. contents::
1212

@@ -34,6 +34,7 @@ Obtain the requests_ package and install it according to that package's directio
3434
As of requests-2.0.0, there is support for HTTPS over HTTP proxy via the CONNECT request.
3535
Use of requests-2.x or better is recommended for use with pyral.
3636
The requests_ package can be found via the Python Package Index site (http://pypi/python.org/index).
37+
The most recent release of pyral (1.1.0) has been tested using requests 2.3.0.
3738

3839

3940
Unpack the ``pyral`` distribution file (zip or tar.gz) and then install the pyral_ package.
@@ -59,7 +60,7 @@ relevant packages.
5960
>> import requests
6061
>> import pyral
6162
>> pyral.__version__
62-
(1, 0, 1)
63+
(1, 1, 0)
6364

6465

6566

@@ -95,10 +96,10 @@ Sample code
9596
Common setup code ::
9697

9798
import sys
98-
from pyral import Rally, rallySettings
99+
from pyral import Rally, rallyWorkset
99100
options = [arg for arg in sys.argv[1:] if arg.startswith('--')]
100101
args = [arg for arg in sys.argv[1:] if arg not in options]
101-
server, user, password, workspace, project = rallySettings(options)
102+
server, user, password, apikey, workspace, project = rallyWorkset(options)
102103
rally = Rally(server, user, password, workspace=workspace, project=project)
103104
rally.enableLogging('mypyral.log')
104105

@@ -226,6 +227,7 @@ create an instance of the Rally class.
226227
SERVER Rally server (example rally1.rallydev.com)
227228
USER Rally subscription UserName value
228229
PASSWORD password for the Rally subscription UserName
230+
APIKEY Rally API Key value
229231
WORKSPACE Rally Workspace
230232
PROJECT Rally Project
231233
====================================== =========================================
@@ -243,6 +245,7 @@ The item names in config files **are** case sensitive.
243245
--cfg=<config_file_name> ditto
244246
--rallyUser=<foo> your Rally UserName
245247
--rallyPassword=<bar> password associated with the Rally UserName
248+
--apikey=<APIKey> valid Rally API Key value
246249
--rallyWorkspace=<bar> Workspace in Rally you want to interact with
247250
--rallyProject=<bar> Project in Rally you want to interact with
248251
====================================== =========================================
@@ -252,85 +255,98 @@ Prerequisites
252255
-------------
253256

254257
* Python 2.6 or 2.7 (2.7 is preferred)
255-
* The requests_ package, 2.0.0 or better (2.0.0 finally includes support for https proxy)
258+
* The requests_ package, 2.0.0 or better (2.0.0 finally includes support for https proxy),
259+
requests 2.3.0 is recommended.
256260

257261
.. _requests: http://github.com/kennethreitz/requests
258262

259263
Versions
260264
--------
261265

262-
* 1.0.1 - Patch to address defect with Rally WSAPI v2.0 projects collection endpoint
263-
providing conflicting information.
264-
265-
* 1.0.0 -
266-
Default WSAPI version in config is v2.0. This version is not compatible
267-
with Rally WSAPI version 1.x.
268-
Adjusted the RallyUrlBuilder (via RallyQueryFormatter) to be more resilient
269-
with respect to many more "special" characters (non-alphanumeric).
270-
Retrieving the meta data uses the v2.0 schema endpoint.
271-
No longer support a version keyword argument when obtaining a Rally instance.
272-
273-
* 0.9.4 -
274-
Adjusted Rally __init__ to accommodate using requests 0.x, 1.x, 2.x versions.
275-
Factored out query building and fixed constructing multi condition queries.
276-
Added internal convenience method to handle a list of refs to turn them into a
277-
list of single key (_ref) hashes.
278-
Added UserIterationCapacity to known entities.
279-
Upped default WSAPI version in config to 1.43
280-
Support using of https_proxy / HTTPS_PROXY environment variables.
281-
Refactored getAllUsers to include UserProfile information with fewer queries.
282-
283-
* 0.9.3 -
284-
Fixed Pinger class to use correct ping options on Linux and Windows
285-
Updated exception catching and exception raising to Python 2.6/2.7 syntax.
286-
287-
* 0.9.2 -
288-
Fixed getProject to take optional project name argument.
289-
Added HTTP header item in config.py to set Content-TYpe to 'application/json'.
290-
Added recognition of verify_ssl_cert=True/False as keyword argment to
291-
Rally constructor. Explicit specification results in passing a
292-
verify=True/False to the underlying requests package. This can be
293-
useful when dealing with an expired SSL certificate.
294-
Upped default WSAPI version in config.py to 1.37 to support dyna-types
295-
(specifically PortfolioItem and sub-types)..
296-
Modified addAttachment to conform with non-backward compatible change in Rally WSAPI
297-
involving how an attachment is related to an artifact.
298-
Fixed defect in calculating an Attachment file size (use pre-encoded rather than post-encoded size).
299-
300-
This release is intended as the final beta before a 1.0 release.
301-
302-
* 0.9.1 -
303-
Upped default WSAPI version in config.py to 1.30
304-
All entities that are subclasses of WorkspaceDomainObject now have a details method
305-
that show the attribute values in an easy to read multiline format.
306-
Dropped attempted discrimination of server value to determine if it is a name or an IPv4 address No longer look for http_proxy in environment, only https_proxy.
307-
Introduced convenience methods dealing with attachments.
308-
Corrected resource URL construction for the major ops (GET, PUT, POST, DEL)
309-
when project=None specified (useful for Workspace spanning activities).
310-
311-
* 0.8.12 - Fixed premature exercise of iterator in initial response
266+
1.1.0
267+
Introduction of support to use Rally API Key and rallyWorkset (supercedes rallySettings).
268+
Two relatively minor defects fixed dealing with internalizing environment
269+
vars for initialization and in retrieving Rally entity attribute allowed values.
270+
271+
1.0.1
272+
Patch to address defect with Rally WSAPI v2.0 projects collection endpoint
273+
providing conflicting information.
274+
275+
1.0.0
276+
Default WSAPI version in config is v2.0. This version is not compatible
277+
with Rally WSAPI version 1.x.
278+
Adjusted the RallyUrlBuilder (via RallyQueryFormatter) to be more resilient
279+
with respect to many more "special" characters (non-alphanumeric).
280+
Retrieving the meta data uses the v2.0 schema endpoint.
281+
No longer support a version keyword argument when obtaining a Rally instance.
282+
283+
0.9.4
284+
Adjusted Rally __init__ to accommodate using requests 0.x, 1.x, 2.x versions.
285+
Factored out query building and fixed constructing multi condition queries.
286+
Added internal convenience method to handle a list of refs to turn them into a
287+
list of single key (_ref) hashes.
288+
Added UserIterationCapacity to known entities.
289+
Upped default WSAPI version in config to 1.43.
290+
Support using of https_proxy / HTTPS_PROXY environment variables.
291+
Refactored getAllUsers to include UserProfile information with fewer queries.
292+
293+
0.9.3
294+
Fixed Pinger class to use correct ping options on Linux and Windows.
295+
Updated exception catching and exception raising to Python 2.6/2.7 syntax.
296+
297+
0.9.2
298+
Fixed getProject to take optional project name argument.
299+
Added HTTP header item in config.py to set Content-Type to 'application/json'.
300+
Added recognition of verify_ssl_cert=True/False as keyword argment to
301+
Rally constructor. Explicit specification results in passing a
302+
verify=True/False to the underlying requests package. This can be
303+
useful when dealing with an expired SSL certificate.
304+
Upped default WSAPI version in config.py to 1.37 to support dyna-types
305+
(specifically PortfolioItem and sub-types).
306+
Modified addAttachment to conform with non-backward compatible change in Rally WSAPI
307+
involving how an attachment is related to an artifact.
308+
Fixed defect in calculating an Attachment file size (use pre-encoded rather than post-encoded size).
309+
310+
This release is intended as the final beta before a 1.0 release.
311+
312+
0.9.1
313+
Upped default WSAPI version in config.py to 1.30
314+
All entities that are subclasses of WorkspaceDomainObject now have a details method
315+
that show the attribute values in an easy to read multiline format.
316+
Dropped attempted discrimination of server value to determine if it is a name or an IPv4 address.
317+
No longer look for http_proxy in environment, only https_proxy.
318+
Introduced convenience methods dealing with attachments.
319+
Corrected resource URL construction for the major ops (GET, PUT, POST, DEL)
320+
when project=None specified (useful for Workspace spanning activities).
321+
322+
0.8.12
323+
Fixed premature exercise of iterator in initial response
312324

313-
* 0.8.11 -
314-
Fixed inappropriate error message when initial connect attempt timed out.
315-
Message had stated that the target server did not speak the Rally WSAPI.
316-
Improved context handling with respect to workspace and project settings.
325+
0.8.11
326+
Fixed inappropriate error message when initial connect attempt timed out.
327+
Message had stated that the target server did not speak the Rally WSAPI.
328+
Improved context handling with respect to workspace and project settings.
317329

318-
* 0.8.10 -
319-
Attempted to bolster proxy handling.
320-
Limited success as there is an outstanding issue in equests (urllib3) not
321-
implementing CONNECT for https over http.
330+
0.8.10
331+
Attempted to bolster proxy handling.
332+
Limited success as there is an outstanding issue in requests (urllib3) not
333+
implementing CONNECT for https over http.
322334

323-
* 0.8.9 - initial attempt at providing proxy support
335+
0.8.9
336+
initial attempt at providing proxy support
324337

325-
* 0.8.8 - added warn=True/False to Rally instantiation
338+
0.8.8
339+
added warn=True/False to Rally instantiation
340+
341+
0.8.7
342+
Initial release on developer.rallydev.com
326343

327-
* 0.8.7 - Initial release on developer.rallydev.com
328344

329345
TODO
330346
----
331-
* Python 3.3+ support
332-
347+
* Rework the distribution to be pip installable
333348
* Dynamically construct the Rally schema hierarchy economically.
349+
* Python 3.3+ support
334350

335351

336352
License

README.short

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ Requirements
2020
The pyral package requires the use of Kenneth Reitz's requests package using version 2.0.0 or better.
2121
As of requests version 2.0.0, there is support for HTTPS over HTTP proxy via the CONNECT request.
2222
The requests package can be found via the Python Package Index site (http://pypi/python.org/index).
23+
The most recent release of pyral (1.1.0) has been tested with requests 2.3.0.
2324

2425

2526
Installation

VERSIONS

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,3 +60,9 @@
6060
1.0.1 - June 2014
6161
Patch to address flaw in WSAPI v2.0 projects collection endpoint having a mismatch between TotalResultCount and
6262
actual information about projects.
63+
64+
1.1.0 - August 2014
65+
Introduction of support for Rally API Key, along with rallyWorkset convenience method to superced rallySettings.
66+
Defects fixed related to internalizing environment in rallySettings (and rallyWorkset)
67+
and in getting allowed values for Rally types.
68+

build_dist.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
import zipfile
1212

1313
PACKAGE_NAME = "pyral"
14-
VERSION = "1.0.1"
14+
VERSION = "1.1.0"
1515

1616
AUX_FILES = ['MANIFEST.in',
1717
'LICENSE',
@@ -34,7 +34,8 @@
3434
'builddefs.py',
3535
'creattach.py',
3636
'get_attachments.py',
37-
'add_tcrs.py'
37+
'add_tcrs.py',
38+
'defrevs.py'
3839
]
3940
DOC_FILES = ['doc/Makefile',
4041
'doc/source/conf.py',
@@ -150,4 +151,3 @@ def make_zipfile(pkg_name, pkg_version, base_files, example_files, doc_files):
150151
if __name__ == "__main__":
151152
main(sys.argv[1:])
152153

153-

dists/pyral-1.1.0.tar.gz

173 KB
Binary file not shown.

dists/pyral-1.1.0.zip

204 KB
Binary file not shown.
346 Bytes
Binary file not shown.
24.1 KB
Binary file not shown.
222 Bytes
Binary file not shown.

doc/build/html/.buildinfo

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
# Sphinx build info version 1
22
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
3-
config: 7f5c0220ef33b0dea345e5da52939890
3+
config: e6fa1aa9fa108f8722de9168080d36dc
44
tags: 645f666f9bcd5a90fca523b33c5a78b7

0 commit comments

Comments
 (0)