fogbugz api对象关系映射器(orm)

fogbugz-orm的Python项目详细描述


**fogbugz orm-fogbugz orm包装fogbugz xml api**


这是一个python接口,指向"fogbugz xml api"问题跟踪程序(http://www.fogcreek.com/fogbugz/)。它包装了
`fogbugzpy`\python接口,该接口通过
`beautifulsoup`\u提供非类型的python绑定。除了类型转换之外,这个orm接口还使用"jsontree"模块提供fogbugz数据的直接json序列化。警告::
强烈建议您使用到FogBugz
服务器的SSL连接进行安全身份验证。


项目链接:

*`documentation<;http://pythonhosted.org/fogBugz orm/>;``u
*`pypi<;https://pypi.python.org/pypi/fogBugz orm>;`
*`github<;https://github.com/doug/foggbugz-orm>;````goggbugz`````foggbugz-xml-api````foggbugz``外部链接:
>
*`foggbugzpy```foggbugzpy````foggbugzpypi=>*`foggbugzpypi``foggbugzpypi=`foggbugzpypi=`foggbugzpypi=`foggbugzpypi=`foggbugbugzpypi`````````foggbugbugbugbugzpypi=>>>*`foggbugbug

…_ fogbugz:http://www.fogcreek.com/fogbugz/
。_ fogbugz xml api:http://fogbugz.stackexchange.com/fogbugzxmlapi
。_ fogbugzpy:https://developers.fogbugz.com/default.asp?W199<BR/>_美化组:http://www.crummy.com/software/beautifulsoup/bs3/documentation.html
。_ jsontree:http://pythonhosted.org/jsontree/


quick start
==

**比较fogbugzpy和fogbugz orm**


代码::python

resp=fb.search(cols="ixbug,stitle")


resp.case中的case.findall('case'):
打印%s:%s"%(case.ixbug.string,
case.stitle.string.encode('utf-8'))


等效的fogbugz orm代码:

。代码::python

case s=fb.search(cols="ixbug,stitle")


case-in-case:
打印%d:%s"%(case.ixbug,case.stitle)

*您可以直接作为列表访问case数组。
*列名在它们的正确的混合大小写与API匹配,因为它们必须用于COLS参数;``IXBUG``,``Stitle`.
*数据被提取并正确转换;``IXBUG``是一个整数,
``Stitle``是一个UTF-8转换字符串。



**从'To Be Closed'筛选器获取所有大小写,然后关上它们。代码::python

import fborm

\fborm登录表单1
fbo=fborm.fogbugzorm('https://hostname/',secret_u token)

查找"要关闭"筛选器
filters=fbo.listfilters()
对于筛选器中的筛选器:
如果filter.sname=="要关闭":
将其设置为当前筛选器
fbo.setcurrentfilter(filter)

###获取该筛选器中的所有案例
cases=fbo.search()

fbo.close(ixbug=case.ixbug)




**创建一个新的case**

…代码::python

import fborm
import jsontree

\fborm登录表单2
fbo=fborm.fogbugzorm('https://hostname/',username=u,密码=p)

bug=jsontree.jsontree()
bug.scategory='错误'
bug.sproject='我的项目'
bug.sarea='某个区域'
bug.stitle='错误的标题'
bug.tags=['tag1','tag2',"tag3"]
bug.sevent="
对正在进行的更改给出一些很长的注释
""






**列出一些数据**

……代码::python


\fbo.logon(username=u,password=p)

projects=fbo.listprojects()
areas=fbo.listprojects(ixproject=projects[0.ixproject)


=fbo.listcustomfieldnames()



**customfields插件数据**


customfields插件允许您将自己的元素添加到
`fogbugz`中的案例中。这些元素被添加到"fogbugz xml api"中,前缀为
,后缀为唯一的magic string。此外,任何标点符号都会被转换,
因此您需要使用
:py:meth:`fform.fogbugzorm.listcustomfieldnames`查找自定义字段。一旦您知道了这一点,
您可以通过为返回的数据设置"namemap"来简化代码。
这意味着如果您有多个具有相同customfields的服务器,
它们在api中将具有不同的名称。每台服务器都有一个"namemap"
,这大大简化了代码。代码::python

import form

fogbugz xml api中的代码名映射。
custom_field_map=dict(
sbranch='plugin_customfields_at_fogcreek_com_branchg83'


fogbugz xml之间的form类型映射python类型的api元素



namemap=custom庘field庘map)
庘bug.stitle

如果sbranch='功能'x':
bug.sbranch='功能'xy'
bug.sevent='功能'x'分支合并到'feature'xy'
del bug['dtopened'];只有管理员可以设置。
fbo.edit(错误,fbBugType)



欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
主类中的java访问方法   Javalog4j不读取它的log4j。属性文件   雅加达ee通过Java(web应用程序)使用iText/任何其他使用现成数据的库生成PDF报告   lua使用java阅读TeamSpeak 3消息   将日期转换为BST java   java Spring引用ProxyFactoryBean中带有ref的protoyype bean   如何使java只打印一条带有if语句的消息   java如何通过JavaMail从雅虎服务器发送电子邮件?   使用百分比和BigDecimal的java测试   java如何对字符串数组排序   java验证器+MVC+REST::更新问题   java如何阻止eclipse如此频繁地挂起?   java从AsyncTask(片段内)访问TextView   IDEJava:制作可调整大小和拖动的组件