Skip to content

Commit 36ca7ed

Browse files
klehman-rallypgacv2Jean-Francois ThuongvirtualsnakeKip Lehman
authored
mods for 1.5.0 from dev fork (#173)
* Hacktonia (#23) * put pyral-1.2.2.zip in dist subdir manually * Fixed KeyError in RallyRESTResponse.__repr__() Fixed RallyRESTResponse.__repr__() so it doesn't raise a KeyError on a response to a query that returned no results. * Corrected encoding function for getting Attachment to fix issue #138 * Fix issue with exception in case of ProfileImage field * fixed getting attachments, getting custom PI subtype instance on creation, purged AgileCentral refs in most places, upped version to 1.5.0 * more portfolio item sub-type mods, fixed query criteria having an ampersand in the target string, incorporated query result start index fix contributed by customer * upping version in docs * updating items mentioned in the release-guide-1.5.0 * post build_dist product inspection issues rectified * final mod before PR to master * minor fix to minimum requests package version Co-authored-by: pgacv2 <[email protected]> Co-authored-by: Jean-Francois Thuong <[email protected]> Co-authored-by: esokolov <[email protected]> * added generated distributions for 1.5.0 release * yet more fine-tuning prior to release * has generated dist items from updated setup.py * deleted some more cruft * dropped all support for Python 2.7 * generated items again... * fixed long_description_content_type keyword * maybe fixed line 11 in README.rst * another maybe fix on line 11 in README.rst * yet another round of generated items Co-authored-by: pgacv2 <[email protected]> Co-authored-by: Jean-Francois Thuong <[email protected]> Co-authored-by: esokolov <[email protected]> Co-authored-by: Kip Lehman <[email protected]>
1 parent d18314f commit 36ca7ed

Some content is hidden

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

52 files changed

+986
-622
lines changed

LICENSE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
Copyright © 2015-2017, CA Technologies; 2010-2015, Rally Software Development Corp. Boulder, Colorado USA
1+
Copyright © Broadcom, Inc. - 2018-2021; CA Technoligies - 2015-2018; Rally Software Development Corp. - 2010-2015
22
All rights reserved.
33

44
License for pyral (a Python toolkit for the Rally REST API)

MANIFEST

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,23 +12,23 @@ pyral/entity.py
1212
pyral/hydrate.py
1313
pyral/rallyresp.py
1414
pyral/restapi.py
15-
examples/getitem.py
1615
examples/periscope.py
16+
examples/getitem.py
1717
examples/showdefects.py
1818
examples/statecounts.py
1919
examples/crtask.py
2020
examples/uptask.py
2121
examples/typedef.py
22+
examples/allowedValues.py
2223
examples/repoitems.py
2324
examples/wkspcounts.py
2425
examples/builddefs.py
2526
examples/creattach.py
27+
examples/get_schema.py
2628
examples/get_attachments.py
29+
examples/get_milestones.py
2730
examples/get_schedulable_artifacts.py
28-
examples/get_schema.py
2931
examples/defrevs.py
3032
examples/add_tcrs.py
3133
examples/updtag.py
3234
examples/addtags.py
33-
examples/allowedValues.py
34-
examples/get_milestones.py

PKG-INFO

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,34 @@
11
Metadata-Version: 1.1
22
Name: pyral
3-
Version: 1.4.2
4-
Summary: Python toolkit for Agile Central (Rally) REST API
3+
Version: 1.5.0
4+
Summary: Python toolkit for Rally REST API
55
Home-page: https://github.com/RallyTools/RallyRestToolkitForPython
6-
Author: Kip Lehman (CA Technologies, AgileCentral Business Unit)
6+
Author: Kip Lehman (Broadcom, Enterprise Software Division)
77
License: BSD
8-
Download-URL: https://github.com/RallyTools/RallyRestToolkitForPython/raw/master/dists/pyral-1.4.2.zip
8+
Download-URL: https://github.com/RallyTools/RallyRestToolkitForPython/raw/master/dists/pyral-1.5.0.zip
99
Description: This is the README file for pyral, a package implementing a
10-
Pythonic interface to the Agile Central (formerly Rally) REST API
10+
Pythonic interface to the Rally REST API
1111

1212
Description
1313
-----------
1414

1515
The Rally REST Tookit for Python consists of a package that provides a means
1616
to interact with entities and artifacts in your Rally subscription. The full
17-
spectrum of CRUD operations is available in your Agile Central (Rally) Workspaces and Projects,
18-
providing of course that your Agile Central (Rally) subscription credentials enable you to perform
19-
those operations. The toolkit insulates the package user from having to make
17+
spectrum of CRUD operations is available in your Rally Workspaces and Projects,
18+
providing of course that your Rally subscription credentials enable you to perform
19+
those operations. The toolkit insulates the package user from having to make
2020
multiple requests to obtain the full set of qualifying items by performing any
21-
subsequent "page" requests automatically.
21+
subsequent "page" requests automatically.
2222
An additional key feature is the ability to obtain entity sub fields
2323
that may be references or collections via the familiar dot '.' notation.
2424

2525
Requirements
2626
------------
2727

28-
The pyral package requires the use of Kenneth Reitz's requests package using version 2.8.0 or better.
28+
The pyral package requires the use of Kenneth Reitz's requests package using version 2.12.0 or better.
2929
As of requests version 2.0.0, there is support for HTTPS over HTTP proxy via the CONNECT request.
3030
The requests package can be found via the Python Package Index site (http://pypi/python.org/index).
31-
The most recent release of pyral (1.4.2) has been tested with requests 2.19.1.
31+
The most recent release of pyral (1.5.0) has been tested with requests 2.22.0.
3232
The six module is also required.
3333

3434

@@ -71,7 +71,7 @@ Description: This is the README file for pyral, a package implementing a
7171
and http://pythonhosted.org/pyral
7272

7373

74-
Keywords: rally,agilecentral,api
74+
Keywords: rally,api
7575
Requires: six
7676
Requires: requests>=2.12.5
7777
Platform: any
@@ -81,9 +81,9 @@ Classifier: Intended Audience :: Developers
8181
Classifier: License :: OSI Approved :: BSD License
8282
Classifier: Operating System :: OS Independent
8383
Classifier: Programming Language :: Python
84-
Classifier: Programming Language :: Python :: 2.7
8584
Classifier: Programming Language :: Python :: 3.5
8685
Classifier: Programming Language :: Python :: 3.6
8786
Classifier: Programming Language :: Python :: 3.7
87+
Classifier: Programming Language :: Python :: 3.8
8888
Classifier: Topic :: Internet :: WWW/HTTP
8989
Classifier: Topic :: Software Development :: Libraries

README.rst

Lines changed: 33 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,24 @@
1-
pyral - A Python toolkit for the Agile Central (Rally) REST API
2-
===============================================================
3-
1+
pyral - A Python toolkit for the Rally REST API
2+
===============================================
43

54
The `pyral <http://github.com/RallyTools/RallyRestToolkitForPython>`_ package enables you to push, pull
6-
and otherwise wrangle the data in your Agile Central (formerly named Rally) subscription using the popular
5+
and otherwise wrangle the data in your Rally subscription using the popular
76
and productive Python language.
87
The ``pyral`` package provides a smooth and easy to use veneer on top
9-
of the Agile Central (Rally) REST Web Services API using JSON.
8+
of the Rally REST Web Services API using JSON.
109

11-
As of July 2015, the Rally Software Development company was acquired by CA Technologies.
12-
The Rally product itself has been rebranded as 'Agile Central'. Over time, the documentation
13-
will transition from using the term 'Rally' to using 'Agile Central'.
10+
This package is once again branded as a 'Rally' toolkit.
11+
The era of "Agile Central" branding is over, we'll not speak of it again.
1412

1513

1614
.. contents::
1715

1816
Getting started
1917
---------------
2018

21-
Agile Central (Rally) has created a Python package that you can quickly leverage to interact with the data in your
19+
Rally has created a Python package that you can quickly leverage to interact with the data in your
2220
subscription via the REST web services API. You can create, read, update, and delete the common
23-
artifacts and other entities via the Python toolkit for Agile Central (Rally).
21+
artifacts and other entities via the Python toolkit for Rally.
2422

2523
Download
2624
````````
@@ -48,7 +46,7 @@ Obtain the requests_ package and install it according to that package's directio
4846
As of requests-2.0.0, there is support for HTTPS over HTTP proxy via the CONNECT request.
4947
Use of requests-2.x or better is recommended for use with pyral.
5048
The requests_ package can be found via the Python Package Index site (http://pypi/python.org/index).
51-
The most recent release of pyral (1.4.2) has been tested using requests 2.19.1.
49+
The most recent release of pyral (1.5.0) has been tested using requests 2.22.0.
5250

5351
Obtain and install the six_ module (available from PyPI at https://pypi.python.org/pypi/six)
5452

@@ -72,11 +70,11 @@ relevant packages.
7270
::
7371

7472
$ python
75-
Python 3.6.4 [other Python interpreter info elided ...]
73+
Python 3.7.5 [other Python interpreter info elided ...]
7674
>> import requests
7775
>> import pyral
7876
>> pyral.__version__
79-
(1, 4, 2)
77+
(1, 5, 0)
8078

8179

8280

@@ -94,13 +92,13 @@ assigned to the name **story**, the following code iterates over the tasks.
9492

9593
There is no need to make a separate call to fetch all the tasks for the story.
9694
When you follow domain model attributes in the Python code, the Python toolkit for
97-
Agile Central (Rally) REST API machinery automatically loads in the necessary objects for you.
95+
Rally REST API machinery automatically loads in the necessary objects for you.
9896

9997

10098
Full Documentation
10199
``````````````````
102100

103-
The complete documentation for the Python toolkit for Agile Central (Rally) REST API
101+
The complete documentation for the Python toolkit for Rally REST API
104102
is in the doc/build/html subdirectory in the repository.
105103
The rendered version of this is also available at
106104
http://pyral.readthedocs.io/en/latest/
@@ -117,7 +115,6 @@ Common setup code ::
117115
args = [arg for arg in sys.argv[1:] if arg not in options]
118116
server, user, password, apikey, workspace, project = rallyWorkset(options)
119117
rally = Rally(server, user, password, apikey=apikey, workspace=workspace, project=project)
120-
rally.enableLogging('mypyral.log')
121118

122119
Show a TestCase identified by the **FormattedID** value.
123120
Copy the above boilerplate and the following code fragment and save it in a file named gettc.py
@@ -153,31 +150,15 @@ Get a list of workspaces and projects for your subscription
153150

154151
python wksprj.py
155152

156-
Get a list of all users in a specific workspace
157-
Copy the above boilerplate and the following code fragment and save it in a file called allusers.py
158-
159-
::
160-
161-
all_users = rally.getAllUsers()
162-
for user in all_users:
163-
tz = user.UserProfile.TimeZone or 'default'
164-
role = user.Role or '-No Role-'
165-
values = (int(user.oid), user.Name, user.UserName, role, tz)
166-
print("%12.12d %-24.24s %-30.30s %-12.12s" % values)
167-
168-
- Run the script
169-
170-
python allusers.py --rallyWorkspace="Product Engineering"
171-
172153
Create a new Defect
173154
Copy the above boilerplate and the following code fragment and save it in a file called crdefect.py
174155

175156
::
176157

177158
proj = rally.getProject()
178159

179-
# get the first (and hopefully only) user whose DisplayName is 'Sally Submitter'
180-
user = rally.getUserInfo(name='Sally Submitter').pop(0)
160+
# get the first (and hopefully only) user whose DisplayName is 'Sartorious Submitter'
161+
user = rally.getUserInfo(name='Sartorius Submitter').pop(0)
181162

182163
defect_data = { "Project" : proj.ref, "SubmittedBy" : user.ref,
183164
"Name" : name, "Severity" : severity, "Priority" : priority,
@@ -227,8 +208,8 @@ Update an existing Defect
227208
Config Options
228209
--------------
229210

230-
The ``pyral`` package uses a priority
231-
chain of files, environment variables and command line arguments to set the
211+
The ``pyral`` package uses a priority chain of files,
212+
environment variables and command line arguments to set the
232213
configuration context when an instance of the Rally class is created.
233214
See the complete documentation for detailed information on this mechanism.
234215
Here's a brief description of how you can specify a configuration when you
@@ -270,17 +251,26 @@ The item names in config files **are** case sensitive.
270251
Prerequisites
271252
-------------
272253

273-
* Python 3.5, 3.6 or 3.7 (this package not tested with earlier versions of Python 3.x) OR
274-
* Python 2.7 (explicit support for this version will end with the 1.4.x line, 1.5.x will not support 2.7)
254+
* Python 3.5, 3.6 or 3.7 (this package not tested with earlier versions of Python 3.x)
275255
* The requests_ package, 2.0.0 or better (2.0.0 finally includes support for https proxy),
276-
requests 2.19.1 is recommended.
256+
requests 2.22.0 or more recent is recommended.
277257
* The six_ package.
278258

279259
.. _requests: http://github.com/kennethreitz/requests
280260
.. _six: https://bitbucket.org/gutworth/six
281261

282262
Versions
283263
--------
264+
**1.5.0**
265+
Dropped all support for Python 2.7 constructs.
266+
Validated support for Python 3.7 and 3.8.
267+
Fixed defect where attachments were not returned from getAttachments method.
268+
Fixed defect where the creation or update of a custom PortfolioItem sub-type did not return a
269+
valid pyral instance of the sub-type.
270+
Fixed defect in returning correct number of items when the start index is specified as an integer.
271+
Fixed defect where a feature item could not be added to a Milestones collection
272+
Fixed defect in query construction (and results) when a target attribute value contains a '&' character.
273+
284274
**1.4.2**
285275
Fixed defect in returning RallyRESTResponse when pagesize set to 1
286276

@@ -357,13 +347,13 @@ Versions
357347

358348
TODO
359349
----
360-
* Dynamically construct the Agile Central (Rally) schema class hierarchy economically.
350+
* Dynamically construct the Rally schema class hierarchy economically.
361351

362352

363353
License
364354
-------
365355

366-
BSD3-style license. Copyright (c) 2015-2017 CA Technologies, 2010-2015 Rally Software Development.
356+
BSD3-style license. Copyright (c) 2018-2021 Broadcom, Inc., 2015-2018 CA Technologies, 2010-2015 Rally Software Development.
367357

368358
See the LICENSE file provided with the source distribution for full details.
369359

@@ -376,7 +366,7 @@ None. See the LICENSE file for full text regarding this issue.
376366
Support
377367
-------
378368

379-
The use of this package is on an *as-is* basis and there is no official support offered by CA Technologies.
369+
The use of this package is on an *as-is* basis and there is no official support offered by Broadcom.
380370
The author of this module periodically checks the GitHub repository issues for this package in the
381371
interests of providing defect fixes and small feature enhancements as time permits, but is not obligated to
382372
respond or take action.
@@ -387,7 +377,7 @@ others who have some exposure to ``pyral`` and might be able to offer useful inf
387377
Author
388378
------
389379

390-
* Kip Lehman <klehman@rallydev.com>
380+
* Kip Lehman <kip.lehman@broadcom.com>
391381

392382

393383
Additional Credits

README.short

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,26 @@
11
This is the README file for pyral, a package implementing a
2-
Pythonic interface to the Agile Central (formerly Rally) REST API
2+
Pythonic interface to the Rally REST API
33

44
Description
55
-----------
66

77
The Rally REST Tookit for Python consists of a package that provides a means
88
to interact with entities and artifacts in your Rally subscription. The full
9-
spectrum of CRUD operations is available in your Agile Central (Rally) Workspaces and Projects,
10-
providing of course that your Agile Central (Rally) subscription credentials enable you to perform
11-
those operations. The toolkit insulates the package user from having to make
9+
spectrum of CRUD operations is available in your Rally Workspaces and Projects,
10+
providing of course that your Rally subscription credentials enable you to perform
11+
those operations. The toolkit insulates the package user from having to make
1212
multiple requests to obtain the full set of qualifying items by performing any
13-
subsequent "page" requests automatically.
13+
subsequent "page" requests automatically.
1414
An additional key feature is the ability to obtain entity sub fields
1515
that may be references or collections via the familiar dot '.' notation.
1616

1717
Requirements
1818
------------
1919

20-
The pyral package requires the use of Kenneth Reitz's requests package using version 2.8.0 or better.
20+
The pyral package requires the use of Kenneth Reitz's requests package using version 2.12.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.4.2) has been tested with requests 2.19.1.
23+
The most recent release of pyral (1.5.0) has been tested with requests 2.22.0.
2424
The six module is also required.
2525

2626

VERSIONS

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -133,3 +133,16 @@
133133

134134
1.3.2 - Aug 2017
135135
Allow for initial connection using a workspace name containing chars that need to be urlencoded.
136+
137+
1.4.2 - Aug 2018
138+
139+
1.5.0 - Feb 2021
140+
Dropped all support for Python 2.7 constructs.
141+
Validated support for Python 3.7 and 3.8.
142+
Updated/fixed some doc verbiage.
143+
Fixed retrieval of attachments.
144+
Fixed return value of call to create an instance of a PortfolioItem custom sub-type.
145+
Fixed defect in returning correct number of items when the start index is specified as an integer.
146+
Fixed defect where a feature item could not be added to a Milestones collection
147+
Fixed defect in query construction (and results) when a target attribute value contains a '&' character.
148+

0 commit comments

Comments
 (0)