Пример #1
0
    description="Usage: python milestone_maker -p <Project> -m <Milestone Name> -rm True|False (Default is false)"
)
parser.add_argument("-p", "--project", type=str, help="Project Name", required=True)
parser.add_argument("-m", "--milestone", type=str, help="New Milestone name", required=True)
parser.add_argument("-rm", "--delete", type=bool, help="Delete the milestone", default=False, required=False)
args = parser.parse_args()

project_map = {}
projects = fogbugz.listProjects()
for item in projects.findAll("project"):
    proj_number = item.ixproject.string.encode("UTF-8")
    proj_name = item.sproject.string.encode("UTF-8")
    project_map.update({proj_name: proj_number})

milestone_map = {}
milestones = fogbugz.listFixFors()
for item in milestones.findAll("fixfor"):
    milestone_number = item.ixfixfor.string.encode("UTF-8")
    milestone_name = item.sfixfor.string.encode("UTF-8")
    milestone_map.update({milestone_name: milestone_number})
try:
    project_id = project_map[args.project]
except KeyError:
    raise KeyError("Unknown Project Name. Project name must be case sensitive. ")

if args.delete == True:
    try:
        milestone_id = milestone_map[args.milestone]
    except KeyError:
        raise KeyError("Milestone doesn't exist")
    milestone = fogbugz.editFixFor(ixfixfor=milestone_id, sfixfor=args.milestone, fAssignable=0)
Пример #2
0
parser.add_argument('-n','--n_variable', type=str, help='New Milestone name', required=True)
args = parser.parse_args()


fb = FogBugz("https://sailthru.fogbugz.com/") 

# To run this needs a d.txt file that contains the json of: {"login":"******","pass":"******"}

with open('../d.txt') as json_data:
	data = json.load(json_data)
	login = data["login"]
	passw = data["pass"]
fb.logon(login,passw)


milestones = fb.listFixFors()

#this is not being used now ... it gets the most current milestone... i could probably trash it..
milestone_dates, sep, tail = milestones.sfixfor.renderContents().partition('T')
miled =  milestones.findAll('dt',limit=2)[1]
work = miled.renderContents().partition('T')
milestone = work[0]
milestone = milestone.replace("-","/")
print milestone 

search = 'milestone'+':'+args.o_variable+' '+'status:open -status:Merged -milestone:Undecided Project:Sailthru'
print search

response = fb.search(q=search)
for case in response.cases.childGenerator():
	print case['ixbug']