Skip to content

Commit ec52373

Browse files
committed
generated 1.5.1 release user documentation
1 parent 3f3dd5b commit ec52373

File tree

96 files changed

+20058
-14134
lines changed

Some content is hidden

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

96 files changed

+20058
-14134
lines changed
11.4 KB
Binary file not shown.

doc/build/doctrees/index.doctree

154 Bytes
Binary file not shown.
15.3 KB
Binary file not shown.
4.92 KB
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: 710a2f9f03546537ef3561c438ba8030
3+
config: c8054da9968b3e8b26a06982d918e387
44
tags: 645f666f9bcd5a90fca523b33c5a78b7
File renamed without changes.
Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -268,8 +268,8 @@ Rally
268268

269269
To instantiate a Rally object, you'll need to provide these arguments:
270270
* **server** usually rally1.rallydev.com unless you are using an OnPrem version
271-
* **user** AgileCentral UserName
272-
* **password** AgileCentral password for the given user
271+
* **user** Rally UserName
272+
* **password** Rally password for the given user
273273

274274
either in this specific order or as keyword arguments.
275275

@@ -281,8 +281,8 @@ To instantiate a Rally object, you'll need to provide these arguments:
281281

282282
You can optionally specify the following as keyword arguments:
283283
* apikey (alternate credential specification)
284-
* workspace (name of the AgileCentral workspace)
285-
* project (name of the AgileCentral project)
284+
* workspace (name of the Rally workspace)
285+
* project (name of the Rally project)
286286
* verify_ssl_cert (True or False, default is True)
287287
* warn (True or False, default is True)
288288
Controls whether a warning is issued if no project is specified
@@ -307,7 +307,7 @@ To instantiate a Rally object, you'll need to provide these arguments:
307307
For subscriptions with a small to moderate number of workspaces (up to a few dozen),
308308
the performance savings will be relatively minor when using isolated_workspace=True
309309
vs. isolated_workspace=False. However, for subscriptions with a large number of
310-
workspaces, using isolated_workspace=False results in a request to AgileCentral
310+
workspaces, using isolated_workspace=False results in a request to Rally
311311
for each workspace, which can result in a noticeable lag before the instantiation
312312
statement returns a ready-for-use Rally instance.
313313
* headers dict with entries for name, vendor, version of software/integration using this package.
@@ -707,11 +707,11 @@ pyral.Rally experimental convenience methods
707707
.. warning::
708708

709709
This method only works when the collection attribute on the target_item is Modifiable.
710-
Consult the AgileCentral WSAPI documentation for the target_item attributes to see whether
710+
Consult the Rally WSAPI documentation for the target_item attributes to see whether
711711
the attribute of interest has a notation of 'Collection Modifiable yes'. If there is no
712712
'Colletion Modifiable' notation or the value for that is 'no', then use of this method
713713
should not be attempted.
714-
At this time, the AgileCentral WSAPI schema endpoint does not include information about
714+
At this time, the Rally WSAPI schema endpoint does not include information about
715715
'Collection Modifiable' for any of the attributes, you'll have to consult the documentation.
716716

717717
.. method:: dropCollectionItems(target_item, collection_items)
Lines changed: 48 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,9 @@ For more information on how workspaces and projects in Rally are set up and conf
1717
the Rally documentation available via the 'Help' link from the Rally landing page
1818
displayed after your initial login.
1919

20-
.. warning::
21-
22-
As of the 1.0.0 version of **pyral** (the Python toolkit for the Rally REST API),
23-
the implementation works with Rally WSAPI 2.0 and is **not** backward compatible
24-
with Rally WSAPI 1.x.
25-
2620
.. _Rally: http://www.rallydev.com
2721

22+
2823
Simple Use
2924
==========
3025

@@ -42,11 +37,11 @@ Here's a prototype of simple use of the **pyral** package.::
4237
response = rally.get('Release', fetch="Project,Name,ReleaseStartDate,ReleaseDate",
4338
order="ReleaseDate")
4439

45-
for release in response:
40+
for rls in response:
4641
rlsStart = rls.ReleaseStartDate.split('T')[0] # just need the date part
4742
rlsDate = rls.ReleaseDate.split('T')[0] # ditto
48-
print "%-6.6s %-16.16s %s --> %s" % \
49-
(rls.Project.Name, rls.Name, rlsStart, rlsDate)
43+
print("%-6.6s %-16.16s %s --> %s" % \
44+
(rls.Project.Name, rls.Name, rlsStart, rlsDate))
5045

5146

5247
Rally Data Model
@@ -72,15 +67,19 @@ But, it is not limited to those as it is very possible to view/operate on other
7267
entities such as Workspace, Project, UserProfile, Release, Iteration, TestCaseResult,
7368
TestFolder, Tag and others.
7469

70+
7571
Full CRUD capability
7672
====================
7773

7874
The Python toolkit for the Rally REST API offers the full spectrum of CRUD capabilities that the
79-
credentials supplied for your subscription/workspace/project permit. While the Rally
80-
REST API itself doesn't support bulk operations, there are example usages of
81-
**pyral** that you can adapt to offer the end-user or scriptwriter the
75+
credentials supplied for your subscription/workspace/project permit. Rally
76+
REST API did not originally support bulk operations when this toolkit was written.
77+
Since the 2017/2018 timeframe the Rally REST WSAPI has provided some bulk operations, but this
78+
toolkit doesn't use those or provide access to them.
79+
There are example usages of **pyral** that you can adapt to offer the end-user or scriptwriter the
8280
capability of specifying ranges of identifiers of artifacts for querying/updating/deleting.
8381

82+
8483
Rally Introspection
8584
===================
8685

@@ -89,12 +88,14 @@ and the attributes associated with each type. You can also use **pyral** capabi
8988
to obtain the list of allowed values for Rally type attributes that have a pre-allocated
9089
list of values.
9190

91+
92+
9293
Queries and Results
9394
===================
9495

9596
The Rally REST API has two interesting characteristics that the Python toolkit for the Rally REST API
9697
insulates the scriptwriter from having to deal with. The first is that the Rally REST API
97-
has a maximum "pagesize" of 200 records to limit volume and prevent unwarranted hijacking of the
98+
has a maximum "pagesize" to limit volume and prevent unwarranted hijacking of the
9899
Rally SaaS servers. But, having script writers deal with this directly to obtain further
99100
"pages" would be burdensome and out of character with the mainstream of Python interfaces
100101
to SaaS services. The Python toolkit for the Rally REST API (**pyral**) takes care
@@ -104,19 +105,31 @@ requests on the Rally server.
104105

105106
The second characteristic is that the Rally REST API for some queries and results returns
106107
not a scalar value but a reference to yet another entity in the Rally system. A Project or
107-
a Release are good examples of these. Say your query specified the retrieval of some UserStories,
108+
a Release are good examples of these. Say your query specified the retrieval of some Stories,
108109
and you listed the Project as a field to return with these results. From an end-user perspective,
109110
seeing the project name as opposed to an URL with an ObjectID value would be far more intuitive.
110111

111112
The Python toolkit for the Rally REST API offers this sort of intuitive behavior by "chasing" the URL
112113
to obtain the more human friendly and intuitive information for display. This sort of behavior is
113-
also present in so-called "lazy-evaluation" of entity attributes that may be containers as well
114-
as references. The scriptwriter merely has to refer to the attribute with the dot ('.') notation
115-
and **pyral** takes care of the communication with the Rally server
114+
also present in so-called "lazy-evaluation" of entity attributes that may be containers (collections)
115+
as well as references. The scriptwriter merely has to refer to the attribute with the
116+
dot ('.') notation and **pyral** takes care of the communication with the Rally server
116117
to obtain the value. There are two significant advantages to this, one being lightening
117118
the load on the server with the reduction of data returned and the other being easy and
118119
intuitive attribute access syntax.
119120

121+
The query relational operators that pyral supports are:
122+
= != > < >= <= contains !contains in !in between !between
123+
The contains and !contains relational operators a helpful in expressing a condition where
124+
you are looking for a field that does (or does not) contain a specific substring.
125+
For example 'Name contains "Prior Art"' or 'ThermalPhase !contains "hot lava"'.
126+
The in and !in relational operators are commonly used for expressions involving subsets of a
127+
finite set of values. For example 'Severity in High, Burning, Explosive' or 'Priority !in Moribund, Meh'.
128+
The between and !between relation operators are commonly used for expressions involving date ranges.
129+
For example 'CreatedDate between 2018 and 2022' or 'LastUpdated !between 2021-09-22T00:00:00.000Z and 2021-09-22T07:59:59.999Z'.
130+
131+
132+
120133
Custom Fields
121134
=============
122135

@@ -127,11 +140,21 @@ has a DisplayName of 'Burnt Offerings Index' you can use the String of 'BurntOff
127140
a fetch clause or a query clause or refer to the field directly on an artifact
128141
as artifact.BurntOfferingsIndex.
129142

143+
144+
PortfolioItem tips
145+
==================
146+
Rally has 4 standard PortfolioItem sub-types (Theme, Strategy, Initiative, and Feature).
147+
In this toolkit, for the primary methods (get, create, update, delete), you must supply a
148+
entity name (eg, 'Story', 'Defect', 'Task', etc). For a PortfolioItem sub-type you may
149+
specify just the name of the sub-type, ie., 'Feature' or you may fully qualify it as
150+
'PortfolioItem/Feature'.
151+
152+
130153
Introduction of Dyna-Types
131154
==========================
132155

133-
As of Rally WebServices API 1.37, Rally has introduced a modification of their data model, which
134-
is termed dyna-types. This modification offers a means of establishing and using a parent type
156+
Prior to the release of Rally WebServices API v2.0, Rally introduced a modification of their data model,
157+
which is termed dyna-types. This modification offers a means of establishing and using a parent type
135158
and defining sub-types of that parent. The PortfolioItem type is now an "abstract" type from which
136159
there are some pre-defined sub-types (Theme, Strategy, Initiative, Feature).
137160
By convention, the preferred way to identify a PortfolioItem sub-type is via slashed
@@ -152,4 +175,10 @@ here is that if you don't use PortfolioItem instances with pyral, you don't have
152175
If you use PortfolioItem instances with pyral or you've defined your own "abstract"
153176
parent types and specific sub-types thereof, you are strongly encouraged to use the slashed specification
154177
to avoid ambiguity in identifying the Rally entity type.
178+
179+
In the event your organization has created a sub-type with the same name as a standard Rally entity
180+
(eg, 'Project', 'Release', 'Milestone', etc.) you will be unable to use this toolkit to access those items.
181+
There will be no consideration given to supporting any custom PortfolioItem sub-type whose name conflicts
182+
with a Rally standard entity name.
155183

184+
-673 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)