Skip to content

Commit 48cd64c

Browse files
klehman-rallypgacv2Jean-Francois Thuongvirtualsnake
authored
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 <pgacv2@users.noreply.github.com> Co-authored-by: Jean-Francois Thuong <jfthuong@gmail.com> Co-authored-by: esokolov <sokol94inc@gmail.com>
1 parent 095a6bf commit 48cd64c

46 files changed

Lines changed: 837 additions & 586 deletions

Some content is hidden

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

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: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,21 @@
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
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
1919
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
2121
subsequent "page" requests automatically.
@@ -25,10 +25,10 @@ Description: This is the README file for pyral, a package implementing a
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,17 +71,16 @@ 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
76-
Requires: requests>=2.12.5
76+
Requires: requests>=2.12.0
7777
Platform: any
7878
Classifier: Development Status :: 5 - Production/Stable
7979
Classifier: Environment :: Web Environment
8080
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

README.rst

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

44

55
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
6+
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 Agile Central (Rally) REST Web Services API using JSON.
9+
of the Rally REST Web Services API using JSON.
1010

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'.
11+
This package is once again branded as a 'Rally' toolkit.
12+
The era of "Agile Central" branding is over, we'll not speak of it again...
1413

1514

1615
.. contents::
1716

1817
Getting started
1918
---------------
2019

21-
Agile Central (Rally) has created a Python package that you can quickly leverage to interact with the data in your
20+
Rally has created a Python package that you can quickly leverage to interact with the data in your
2221
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).
22+
artifacts and other entities via the Python toolkit for Rally.
2423

2524
Download
2625
````````
@@ -48,7 +47,7 @@ Obtain the requests_ package and install it according to that package's directio
4847
As of requests-2.0.0, there is support for HTTPS over HTTP proxy via the CONNECT request.
4948
Use of requests-2.x or better is recommended for use with pyral.
5049
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.
50+
The most recent release of pyral (1.5.0) has been tested using requests 2.22.0.
5251

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

@@ -72,11 +71,11 @@ relevant packages.
7271
::
7372

7473
$ python
75-
Python 3.6.4 [other Python interpreter info elided ...]
74+
Python 3.7.5 [other Python interpreter info elided ...]
7675
>> import requests
7776
>> import pyral
7877
>> pyral.__version__
79-
(1, 4, 2)
78+
(1, 5, 0)
8079

8180

8281

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

9594
There is no need to make a separate call to fetch all the tasks for the story.
9695
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.
96+
Rally REST API machinery automatically loads in the necessary objects for you.
9897

9998

10099
Full Documentation
101100
``````````````````
102101

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

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

154152
python wksprj.py
155153

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-
172154
Create a new Defect
173155
Copy the above boilerplate and the following code fragment and save it in a file called crdefect.py
174156

175157
::
176158

177159
proj = rally.getProject()
178160

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

182164
defect_data = { "Project" : proj.ref, "SubmittedBy" : user.ref,
183165
"Name" : name, "Severity" : severity, "Priority" : priority,
@@ -227,8 +209,8 @@ Update an existing Defect
227209
Config Options
228210
--------------
229211

230-
The ``pyral`` package uses a priority
231-
chain of files, environment variables and command line arguments to set the
212+
The ``pyral`` package uses a priority chain of files,
213+
environment variables and command line arguments to set the
232214
configuration context when an instance of the Rally class is created.
233215
See the complete documentation for detailed information on this mechanism.
234216
Here's a brief description of how you can specify a configuration when you
@@ -270,17 +252,24 @@ The item names in config files **are** case sensitive.
270252
Prerequisites
271253
-------------
272254

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)
255+
* Python 3.5, 3.6 or 3.7 (this package not tested with earlier versions of Python 3.x)
275256
* The requests_ package, 2.0.0 or better (2.0.0 finally includes support for https proxy),
276-
requests 2.19.1 is recommended.
257+
requests 2.22.0 or more recent is recommended.
277258
* The six_ package.
278259

279260
.. _requests: http://github.com/kennethreitz/requests
280261
.. _six: https://bitbucket.org/gutworth/six
281262

282263
Versions
283264
--------
265+
**1.5.0**
266+
Fixed defect where attachments were not returned from getAttachments method.
267+
Fixed defect where the creation or update of a custom PortfolioItem sub-type did not return a
268+
valid pyral instance of the sub-type.
269+
Fixed defect in returning correct number of items when the start index is specified as an integer.
270+
Fixed defect where a feature item could not be added to a Milestones collection
271+
Fixed defect in query construction (and results) when a target attribute value contains a '&' character.
272+
284273
**1.4.2**
285274
Fixed defect in returning RallyRESTResponse when pagesize set to 1
286275

@@ -357,13 +346,13 @@ Versions
357346

358347
TODO
359348
----
360-
* Dynamically construct the Agile Central (Rally) schema class hierarchy economically.
349+
* Dynamically construct the Rally schema class hierarchy economically.
361350

362351

363352
License
364353
-------
365354

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

368357
See the LICENSE file provided with the source distribution for full details.
369358

@@ -376,7 +365,7 @@ None. See the LICENSE file for full text regarding this issue.
376365
Support
377366
-------
378367

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

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

392381

393382
Additional Credits

README.short

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
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
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
1111
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
1313
subsequent "page" requests automatically.
@@ -17,10 +17,10 @@ that may be references or collections via the familiar dot '.' notation.
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: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -133,3 +133,10 @@
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+
Updated/fixed some doc verbiage.
141+
Fixed retrieval of attachments.
142+
Fixed return value of call to create an instance of a PortfolioItem custom sub-type.

0 commit comments

Comments
 (0)