这个redmine有个redminelib
很多玩意写的都不全
不过还是挺好用的
先去整一个
redminelib
然后登陆就行了:
def __init__(self):
try:
config = configparser.ConfigParser()
config.read("password.conf", encoding="utf-8")
#readmine账号密码
self.redmine_user = config.get('redmine','user')
self.redmine_pass = config.get('redmine','pass')
self.redmine_key = config.get('redmine','key')
##地址配置
self.redmineUrl = config.get('redmine','redmineUrl')
self.redmineLogin()
except Exception as e:
logging.error('redmine初始化失败,请检查配置文件')
logging.error(e)
os.system('pause')
sys.exit()
logging.info('配置完毕')
def redmineLogin(self):
##很多登陆参数要打成键值对丢requests里,比如我在这私服没有证书要把验证关了
self.redmine = Redmine(url=self.redmineUrl, key=self.redmine_key,requests={'verify': False},)
登陆完后用这个实例去操作就行了
举个例子
用链式创建project:
self.redmine.project.create(一堆键值对,看后面例子)
创建issue的话就这样:
self.redmine.issue.create()
update就
self.redmine.issue.update()
里面的值要满足必填项,字段名可以直接F12控制台去找
多选要传个列表进去,
举个例子:
def createIssue(self,data):
try:
issue = self.redmine.issue.create(
project_id=data['project_id'],
subject=data['subject'],
done_ratio = data['done_ratio'],
due_date = data['due_date'],
parent_issue_id = data['parent_issue_id'],
priority_id = data['priority_id'],
status_id = data['status_id'],
tracker_id = data['tracker_id'],
custom_fields=[
#自定义的框框1
{'id': 1, 'value': data['issue3']},
#自定义的框框2
{'id': 2, 'value': data['issue4']},
],
#开始日期
start_date = data['start_date'],
#指派给
assigned_to_id = data['assigned_to_id'],
#描述
description = data['description']
)
except Exception as e:
logging.error('创建失败,请检查数据')
logging.error(e)
os.system('pause')
sys.exit()
logging.info('成功创建问题:{}'.format(issue.id))
return issue.id

本文介绍了如何使用Python的redminelib库与Redmine进行交互,包括登录、新建项目、创建问题以及更新问题等操作。在使用redminelib时,需要注意字段的设置,一些字段可能需要传递列表作为参数。
2408

被折叠的 条评论
为什么被折叠?



