用于导入到页面的cli工具

pagure_importer的Python项目详细描述


#pagure importer
cli工具,用于从不同来源导入问题等,如github到pagure

\```安装pagure-pip-install-pagure-importer```


\
*使用[copr](https://copr.fedorainfracrloud.org/coprs/copers/cverna/pagure-importer/).
````
$sudo dnf-dnf-copr-enable-cverna/pagure-importer
>$sudo dnf-install-python3使用docker
*使用此存储库中的dockerfile构建并运行容器
```
$docker build-t pgimport。
$docker run-t-i-v~/.ssh/:/root/.ssh/:z/bin/bash
````
*在容器中,可以使用pgimport命令。

$python-m unittest发现测试

从pagure克隆问题跟踪器。使用:```pgimport clone ssh://git@pagure.io/tickets/foobar.git``
1。从项目设置中激活pagure tickets挂钩。这是必要的一步,也可以让pagure数据库为票据库的更改而更新。
2.从项目设置中停用pagure fedmsg钩子。这将避免导入到fedmsg总线的垃圾邮件的问题。导入完成后,可以重新激活挂钩。
3。执行``pgimport``。参见使用部分
4。只要回答问题就行了。查看以下特定来源的说明
5。脚本将在克隆的repo中进行提交:将更改推回到pagure。使用:```pgimport push foobar.git```

\x000D;自定义关闭状态
--
pagure importer在用户$home/.pgimport的主目录下创建配置。此配置文件包含默认关闭状态。
如果此文件不存在,请运行以下命令。
````$pgimport mkconfig`````
若要添加一些新的关闭状态,请按以下方式编辑配置文件。其中,``foo``是页面自定义状态,``bar``是trac解析状态

[close_status]
duplicate=['duplicate']
insufficient data=['ufficient_info']
invalid=['invalid','wontfix',"worksforme"]
foo=['bar']

auth_token=



_usage
--


$pgimport--help
用法:pgimport[options]命令[args]…

选项:
--帮助显示此消息并退出。

clone
fedorahosted
github
mkconfig
push



ssh://git@pagure.io/tickets/foobar.git

这将把pagure foobar存储库克隆到默认的set/tmp目录中,即/tmp/foobar.git

<2)fedorahosted命令可用于将问题从fedorahosted项目导入到pagure

$pgimport fedorahosted--帮助
用法:pgimport fedorahosted[选项]project_url

--导入前页面中问题的偏移整数数
--帮助显示此消息并退出。
--nopush不要将页面导入程序的结果推后



$pgimport fedorahosted https://fedorahosted.org/foobar--tags

带有所有标签的票证信息到/tmp/foobar.git存储库


$pgimport fedorahosted https://fedorahosted.org/foobar--private


>此命令将在页面中将所有fedorahosted票证导入为私有票证

$pgimport fedorahostedhttps://fedorahosted.org/foobar——偏移量10

并将导入所有fedorahosted票据,在本例中使用它们的
前trac id+偏移量10开始。这对于导入前页面中已存在问题的项目
非常有用。

$pgimport fedorahosted https://fedorahosted.org/foo bar--username foo--password bar


不提示用户。此命令用于在脚本中使用pgimport。

$pgimport fedorahosted https://fedorahosted.org/foobar--nopush

此命令不会推送临时克隆存储库,导入程序在其中创建要导入的问题的json
表示。这可用于在运行导入之前使用json文件
处理问题。
克隆存储库的默认位置在/tmp/clone foobar.git

3)push命令可用于将克隆分页票证repo推回分页。

$pgimport pushfoobar.git

4)mkconfig命令将在用户$home目录下创建一个默认的config`.pgimport`文件。

$pgimport mkconfig



存储库:

$pgimport clone ssh://git@pagure.io/tickets/foobar.git

这将把pagure foobar存储库克隆到默认的set/tmp目录中,即/tmp/foobar.git

2)github命令可用于将问题从github项目导入到pagure

$pgimport github

这将问几个问题,只要回答这些问题,问题就会导入/tmp/foobar.git存储库。


3)push命令可用于将克隆分页票据回购推回到分页。

$pgimport push foobar.git




[pygithub](https://github.com/pygithub/pygithub)-用于[github](https://github.com/)api的python库。
2.[点击](https://github.com/pallets/click)-用于创建漂亮的命令行界面的python包
3。[python fedora](https://fedorahosted.org/python-fedora/)-一组python代码,允许程序与fedora服务对话
4。[pygit2](http://pygit2.org/)-一个python绑定到libgit2,以便与来自python的git进行交互。



对于github问题,有一些预处理,因此,该过程不太友好。预处理背后的原因是:github
不会提供问题评论者的电子邮件ID,除非评论者
是您(如果您已登录)或评论者是问题报告者
本人。因此,为了解决这个问题,我们将从他们的
提交中获取电子邮件ID,如果他们对项目有贡献,但如果他们没有,请:开始恐慌并阅读下面的内容。

1。我们必须运行脚本两次。第一次,它将
生成一个json文件,其中包含所有问题注释及其详细信息,
如果找到电子邮件,则不需要对该特定注释进行编辑。
否则,您必须手动填写电子邮件。不需要全名。

2.在运行程序并回答"source"和"items"之后,将询问您是否要为
贡献者和问题注释者生成json文件。如果您是第一次运行github的脚本,那么答案是"y"。


3。上面的步骤将创建3个不同的文件:```contributors.json```
```issue`users.json```和``assembled`users.csv```。最后一个文件
是所有编辑的位置。要运行脚本,必须填写汇编的注释文件中所有缺少的条目。

<4。再次运行脚本,填充相同的详细信息,但在要求是否创建json文件时回答"n"。在这一步中,您的本地问题git
repo将使用github问题跟踪程序中的所有问题进行更新。

5。现在将本地git repo更改推送到pagure上的远程repo。它将
更新数据库,如果找不到用户,它将根据给定的
详细信息创建数据库。

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

推荐PyPI第三方库


热门话题
通过TargetDataLine的java流实时音频   java CurrentTimeMilli正在改变,有什么可能的原因吗?   java在运行时跟踪拖动事件的进度。JavaFX   java邮递员无法访问当地的Jersey REST服务   在对象数组中存储对象的java   可以在java中向JPanel添加JFrame吗?   从Spark Java应用程序登录Azure   JavaEE6在有状态EJB之间共享实例   java Firebase未初始化   java使用Spring禁用控制器端点   JavaLog4j看起来不适合与sudo一起使用   算法使用Java流从嵌套列表创建树映射   java多阶段按钮没有反应?   Java泛型api体系结构   java Spring Rest控制器检索一个映像客户端发送的请求在语法上不正确