用于导入到页面的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。它将
更新数据库,如果找不到用户,它将根据给定的
详细信息创建数据库。
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']
_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。它将
更新数据库,如果找不到用户,它将根据给定的
详细信息创建数据库。