Миграция связанных задач и дефектов с пользовательской историей с помощью Python Rally API
Мы хотим перенести некоторые пользовательские истории из одного рабочего пространства в другое, используя API.
import sys
from pyral import Rally, rallyWorkset
options = [arg for arg in sys.argv[1:] if arg.startswith('--')]
args = [arg for arg in sys.argv[1:] if arg not in options]
server = "rally1.rallydev.com"
apikey = "<api key>"
workspace = "<Source workspace>"
project = "<target workspace>"
rally = Rally(server,apikey=apikey, workspace=workspace, project=project)
rally.enableLogging('mypyral.log')
# Fetch the data for source user story
response = rally.get('UserStory', fetch=True, query='FormattedID = US2156')
for rec in response:
print(rec.details())
# Switch to target workspace
rally.setWorkspace("<target workspace>")
rally.setProject("<Target Project>")
print(rec.oid, rec.Name, rec.Attachments)
Используемый "_ref": rec.ref
чтобы узнать, смогу ли я получить связанные задачи, чтобы я мог также перенести их
rec = { "Name": rec.Name, "Attachments": rec.Attachments, "ScheduleState": rec.ScheduleState, "Description": rec.Description, "_ref": rec.ref }
try:
userstory = rally.create('UserStory', rec)
except (RallyRESTException, ex):
sys.stderr.write('ERROR: %s \n' % details)
sys.exit(1)
print("UserStory created, ObjectID: %s FormattedID: %s" % (userstory.oid, userstory.FormattedID))
Я получил ниже исключения
Traceback (most recent call last):
File "migrate.py", line 23, in <module>
userstory = rally.create('UserStory', rec)
File "C:\Users\dedileep\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pyral\restapi.py", line 990, in put
itemData = self.validateAttributeNames(entityName, itemData)
File "C:\Users\dedileep\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pyral\restapi.py", line 1447, in validateAttributeNames
raise RallyAttributeNameError(", ".join(invalid_attrs))
pyral.restapi.RallyAttributeNameError: _ref
Цель состоит в том, чтобы перенести все возможные данные (связанные задачи, дефекты, контрольные примеры, оценки задач и т. Д.) При переносе пользовательской истории.