结合的核心:

执行php ztcli http://禅道的访问路径/svn-run.html

 

如果直接运行这个页面

http://localhost:88/zentao/svn-run.html
2013-03-14 23:25:48 begin repo 1 2013-03-14 23:25:48 start from  revision 0 Some error occers: 
The command is C:\Program Files (x86)\Subversion\bin\svn.exe --non-interactive --username text --password tef --no-auth-cache log -r 0:HEAD -v --xml https://robinPC/svn/test/ the svn logs is。。。。。。。。。。。

问题在双引号/? 把目录加到系统那个环境变量,okay,去掉空格\Program Files (x86)

 

单独运行那个命令来看:

C:\Program Files (x86)\Subversion\bin\svn.exe --non-interactive --username tcccc --password txxxxx --no-auth-cache log -r 0:HEAD -v --xml https://robinPC/svn/test/

输出XML:

<?xml version="1.0" encoding="UTF-8"?>
 <log>
 <logentry
    revision="1">
 <author>VisualSVN Server</author>
 <date>2013-03-14T13:07:09.976274Z</date>
 <paths>
 <path
    action="A"
    prop-mods="false"
    text-mods="false"
    kind="dir">/tags</path>
 <path
    action="A"
    prop-mods="false"
    text-mods="false"
    kind="dir">/trunk</path>
 <path
    action="A"
    prop-mods="false"
    text-mods="false"
    kind="dir">/branches</path>
 </paths>
 <msg>Initial structure.</msg>
 </logentry>
 <logentry
    revision="2">
 <author>test</author>
 <date>2013-03-14T14:28:58.437082Z</date>
 <paths>
 <path
    action="A"
    prop-mods="false"
    text-mods="true"
    kind="file">/branches/t1.txt</path>
 </paths>
 <msg>mytest</msg>
 </logentry>
 <logentry
    revision="3">
 <author>test</author>
 <date>2013-03-14T14:57:36.230334Z</date>
 <paths>
 <path
    action="M"
    prop-mods="false"
    text-mods="true"
    kind="file">/branches/t1.txt</path>
 </paths>
 <msg>sfesge</msg>
 </logentry>

 

回首再看 ztcli,主要是有个封装好的

php ztcli %*
表示可以接受参数,以下面为参数:

http://localhost:88/zentao/svn-run.html

2013-03-14 23:36:18 start from revision 0
'C:\Program' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
Some error occers:
The command is C:\Program Files (x86)\Subversion\bin\svn.exe --non-interactive -

ztcli还蛮复杂的:

chdir(dirname(__FILE__));
 include '../framework/router.class.php';
 include '../framework/control.class.php';
 include '../framework/model.class.php';
 include '../framework/helper.class.php';
 include '../config/config.php';if($config->requestType == 'PATH_INFO')
 {
     $_SERVER['PATH_INFO'] = str_replace($config->webRoot, '', $request['path']);
 }
 else
 {
     parse_str($request['query'], $_GET);
     $_SERVER['SCRIPT_NAME'] = $_SERVER['HTTP_HOST'] . 'index.php';
     $_SERVER['REQUEST_URI'] = isset($request['query']) ? $request['query'] : '';
 }/* Instance the app and run it. */
 $app    = router::createApp('pms', dirname(dirname(__FILE__)));
 $common = $app->loadCommon();
 $app->parseRequest();
 $app->loadModule(); 
 

 

相关内容

工作思路:

通过svn客户端软件的log命令,来获得所有的提交记录,然后分析,得出相应的id,写入数据库。

python中禅道是什么_html

像上述的分析的log,svn.exe log命令获得版本号 ,服务器,时间,代码,commit msg,解析第二行 message即可,解析就需要一定的格式了,例如代码提交注释格式:
  开发者在提交svn的时候,需要在备注里面注明此次修改相关的需求,或者任务,或者bug的id。比如下面的格式:
  bug#1232341234,也可以是bug:123,id列表之间,用逗号和空格都可以。
  story#123task#123
  bugstorytask是必须标注的。:)

 

//第二个方案调试比较好调试,部署也相对方便,同时可以解析之前的所有记录,有比较好的灵活性。
这个方案需要搞增量。。。

 

注意到这个log是通过repository url获取的,所以可以是不用再svn服务器上的/

在禅道所在机器上面部署svn命令行客户端。
  svn命令行客户端是指subversion自带的svn命令。windows下面是svn.exe,linux下面是没有后缀的svn。

 

 

禅道命令行接口给大家提供了另外一种控制禅道的方式,可以通过它来进行各种各样的操作。

一、何谓命令行入口

先来介绍一下禅道项目管理软件的入口。

禅道项目管理软件其实现在有很多个入口,大家平时访问的是www/index.php,这是最重要,也是大家平时都在使用的入口。还有就是www/install.php, www/upgrade.php,顾名思义,为安装的入口和升级的入口。这三个入口,index.php是有权限控制的,而install.php和upgrade.php则没有权限限制,只有在特定的情况下面才会起作用。正常安装或者升级之后,再访问install.php或者upgrade.php是无效的。

禅道的命令行入口位于bin/ztcli。其实它也是一段php代码。它主要是给禅道的系统管理员使用的。通过这个入口,可以非常方便的访问到禅道系统的每一个页面,从而为各种便利的操作提供了可能。

二、命令行入口的基本用法:

命令行入口有三个文件,分别是ztcli, ztcli.sh和ztcli.bat。其中ztcli是主体的php脚本。另外两个则是为了使用方便,做的封装。先来看主体脚本的执行。

在bin目录下面执行下面的命令(一定要在bin目录下面。)

语法格式:php ztcli http://xxxx/zentaopms/xxxxx(其中的php,如果找不到,则根据需要换成php可执行文件所在的绝对路径.)

举例来讲,我的禅道的访问路径是 http://pms.zentao.cn,我想触发燃烧图的更新程序,命令如下:

php ztcli http://pms.zentao.cn/project-computeburn.html

如果你配置的禅道访问方式是通过GET方式,那么命令则变成:

php ztcli "http://pms.zentao.cn/?m=project&f=computeburn",这时后面的url地址需要用引号引起来。

也就是说你在浏览器里面看到的是什么,通过ztcli都可以访问。

三、封装

如果你php可执行文件不在PATH路径中,那么你可以修改ztcli.sh(linux)或者ztcli.bat(windows),将其中的路径补全。

比如ztcli.bat中,我可以这样写 d:\zentao\user\local\php\php.exe ztcl  %*

封装好之后,你就可以直接运行ztclibat url地址就可以了。

四、高级用法

在你访问禅道的页面时候,可以将访问的资源变化一下,比如http://pms.zentao.cn/project-task-8.html,返回的网页格式,把后面的.html改成.json,返回的是什么?对了,返回的是json格式的数据。如果是GET 方式,那么只需要将t参数改成json,http://pms.zentao.cn/?m=project&f=task&t=json.

通过这个超级的命令行入口,其实可以做很多事情了。具体如何使用,看大家灵活运用了。