You can subscribe to this list here.
| 2007 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(42) |
Nov
|
Dec
|
|---|
|
From: <lac...@us...> - 2007-10-04 09:15:40
|
Revision: 32
http://td2jira.svn.sourceforge.net/td2jira/?rev=32&view=rev
Author: lacostej
Date: 2007-10-04 02:15:43 -0700 (Thu, 04 Oct 2007)
Log Message:
-----------
Make sure we log the stacktrace
Modified Paths:
--------------
trunk/td2jira/src/td2jira/Sync.java
Modified: trunk/td2jira/src/td2jira/Sync.java
===================================================================
--- trunk/td2jira/src/td2jira/Sync.java 2007-10-04 09:08:09 UTC (rev 31)
+++ trunk/td2jira/src/td2jira/Sync.java 2007-10-04 09:15:43 UTC (rev 32)
@@ -45,7 +45,7 @@
logger.info("sync done.");
safeLogout();
} catch (Exception ex) {
- logger.error(ex);
+ logger.error(ex, ex);
} finally {
logger.debug("sleeping for " + syncMinutes + "min");
try {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <lac...@us...> - 2007-10-04 09:08:16
|
Revision: 31
http://td2jira.svn.sourceforge.net/td2jira/?rev=31&view=rev
Author: lacostej
Date: 2007-10-04 02:08:09 -0700 (Thu, 04 Oct 2007)
Log Message:
-----------
fixed bug where matching Jira issue couldn't be identified due to line endings issues in reg.exp matcher.
Modified Paths:
--------------
trunk/td2jira/docs/ReleaseNotes.txt
trunk/td2jira/src/td2jira/Sync.java
Modified: trunk/td2jira/docs/ReleaseNotes.txt
===================================================================
--- trunk/td2jira/docs/ReleaseNotes.txt 2007-10-04 09:07:37 UTC (rev 30)
+++ trunk/td2jira/docs/ReleaseNotes.txt 2007-10-04 09:08:09 UTC (rev 31)
@@ -4,4 +4,6 @@
* TASK reorganized project structure
* TASK reformated code
+* BUG fixed bug where matching Jira issue couldn't be identified due to line endings issues in reg.exp matcher.
+
Old release
Modified: trunk/td2jira/src/td2jira/Sync.java
===================================================================
--- trunk/td2jira/src/td2jira/Sync.java 2007-10-04 09:07:37 UTC (rev 30)
+++ trunk/td2jira/src/td2jira/Sync.java 2007-10-04 09:08:09 UTC (rev 31)
@@ -199,7 +199,7 @@
private static JIRAIssue findLatestJIRAIssue(IBug tdTask) {
JIRAIssue found = null;
- String pattern1 = ".*" + Config.JIRA_SUMMARY_PREFIX.toUpperCase() + "\\s" + tdTask.getId() + "[^0-9].*";
+ String pattern1 = "(?s).*" + Config.JIRA_SUMMARY_PREFIX.toUpperCase() + "\\s" + tdTask.getId() + "[^0-9].*";
for (JIRAIssue jiraTask : jiraTasks) {
if (jiraTask.getSummary().toUpperCase().matches(pattern1)) {
if (found == null) {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <lac...@us...> - 2007-10-04 09:07:41
|
Revision: 30
http://td2jira.svn.sourceforge.net/td2jira/?rev=30&view=rev
Author: lacostej
Date: 2007-10-04 02:07:37 -0700 (Thu, 04 Oct 2007)
Log Message:
-----------
Add release notes document
Added Paths:
-----------
trunk/td2jira/docs/ReleaseNotes.txt
trunk/td2jira/docs/TODO.txt
Added: trunk/td2jira/docs/ReleaseNotes.txt
===================================================================
--- trunk/td2jira/docs/ReleaseNotes.txt (rev 0)
+++ trunk/td2jira/docs/ReleaseNotes.txt 2007-10-04 09:07:37 UTC (rev 30)
@@ -0,0 +1,7 @@
+Next release
+
+* TASK migrated to SVN
+* TASK reorganized project structure
+* TASK reformated code
+
+Old release
Property changes on: trunk/td2jira/docs/ReleaseNotes.txt
___________________________________________________________________
Name: svn:eol-style
+ native
Added: trunk/td2jira/docs/TODO.txt
===================================================================
--- trunk/td2jira/docs/TODO.txt (rev 0)
+++ trunk/td2jira/docs/TODO.txt 2007-10-04 09:07:37 UTC (rev 30)
@@ -0,0 +1 @@
+
Property changes on: trunk/td2jira/docs/TODO.txt
___________________________________________________________________
Name: svn:eol-style
+ native
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <lac...@us...> - 2007-10-04 09:04:50
|
Revision: 29
http://td2jira.svn.sourceforge.net/td2jira/?rev=29&view=rev
Author: lacostej
Date: 2007-10-04 02:04:13 -0700 (Thu, 04 Oct 2007)
Log Message:
-----------
Slight cleanup to Sync: remove redundant variables
Modified Paths:
--------------
trunk/td2jira/src/td2jira/Sync.java
Modified: trunk/td2jira/src/td2jira/Sync.java
===================================================================
--- trunk/td2jira/src/td2jira/Sync.java 2007-10-04 09:01:26 UTC (rev 28)
+++ trunk/td2jira/src/td2jira/Sync.java 2007-10-04 09:04:13 UTC (rev 29)
@@ -92,9 +92,7 @@
jiraTasks = jc.findTasks(Config.JIRA_SUMMARY_PREFIX);
Comparator<JIRAIssue> recentFirst = new Comparator<JIRAIssue>() {
- public int compare(JIRAIssue arg0, JIRAIssue arg1) {
- JIRAIssue ji1 = (JIRAIssue) arg0;
- JIRAIssue ji2 = (JIRAIssue) arg1;
+ public int compare(JIRAIssue ji1, JIRAIssue ji2) {
return ji2.getKey().compareTo(ji1.getKey());
}
};
@@ -201,8 +199,8 @@
private static JIRAIssue findLatestJIRAIssue(IBug tdTask) {
JIRAIssue found = null;
+ String pattern1 = ".*" + Config.JIRA_SUMMARY_PREFIX.toUpperCase() + "\\s" + tdTask.getId() + "[^0-9].*";
for (JIRAIssue jiraTask : jiraTasks) {
- String pattern1 = ".*" + Config.JIRA_SUMMARY_PREFIX.toUpperCase() + "\\s" + tdTask.getId() + "[^0-9].*";
if (jiraTask.getSummary().toUpperCase().matches(pattern1)) {
if (found == null) {
found = jiraTask;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <lac...@us...> - 2007-10-04 09:01:31
|
Revision: 28
http://td2jira.svn.sourceforge.net/td2jira/?rev=28&view=rev
Author: lacostej
Date: 2007-10-04 02:01:26 -0700 (Thu, 04 Oct 2007)
Log Message:
-----------
svn:ignore changes
Property Changed:
----------------
trunk/td2jira/
Property changes on: trunk/td2jira
___________________________________________________________________
Name: svn:ignore
- target
svnignore
+ target
svnignore
BUG_*
*.log
*.iml
*.ipr
*.iws
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <lac...@us...> - 2007-10-04 09:01:00
|
Revision: 27
http://td2jira.svn.sourceforge.net/td2jira/?rev=27&view=rev
Author: lacostej
Date: 2007-10-04 02:01:03 -0700 (Thu, 04 Oct 2007)
Log Message:
-----------
Cleanup code + use foreach
Modified Paths:
--------------
trunk/td2jira/src/td2jira/Config.java
Modified: trunk/td2jira/src/td2jira/Config.java
===================================================================
--- trunk/td2jira/src/td2jira/Config.java 2007-10-04 08:58:24 UTC (rev 26)
+++ trunk/td2jira/src/td2jira/Config.java 2007-10-04 09:01:03 UTC (rev 27)
@@ -1,20 +1,16 @@
package td2jira;
-import java.io.FileInputStream;
import java.io.InputStream;
import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
import java.util.HashMap;
import java.util.HashSet;
-import java.util.Iterator;
import java.util.Map;
import java.util.Properties;
import java.util.Set;
import org.apache.log4j.Logger;
-import td2jira.td.ITDConnector;
-
public class Config {
public static Logger logger = Logger.getLogger(Config.class);
@@ -60,9 +56,10 @@
private static InputStream getResourceInputStream(String resource) {
return Thread.currentThread().getContextClassLoader().getResourceAsStream(resource);
}
-
+
public static void load() throws Exception {
- if (props.size() != 0) return;
+ if (props.size() != 0)
+ return;
props.load(getResourceInputStream("td2jira.properties"));
Field[] fields = Config.class.getDeclaredFields();
@@ -74,7 +71,7 @@
String val = (String) field.get(null);
int eqSign = val.indexOf('=');
- String propertyName = null;
+ String propertyName;
String propertyDefaultValue = null;
if (eqSign > 0) {
propertyName = val.substring(0, eqSign);
@@ -117,9 +114,7 @@
public static Set<String> getDevelopersInJIRA() {
Set<String> ret = new HashSet<String>();
- Iterator<String> it = tdDevelopersToJiraDevelopers.keySet().iterator();
- while (it.hasNext()) {
- String td = it.next();
+ for (String td : tdDevelopersToJiraDevelopers.keySet()) {
String jira = tdDevelopersToJiraDevelopers.get(td);
if (jira != null) ret.add(jira);
}
@@ -128,9 +123,7 @@
public static Set<String> getDevelopersNamesInTD() {
Set<String> ret = new HashSet<String>();
- Iterator<String> it = tdDevelopersToJiraDevelopers.keySet().iterator();
- while (it.hasNext()) {
- String td = it.next();
+ for (String td : tdDevelopersToJiraDevelopers.keySet()) {
ret.add(td);
}
return ret;
@@ -148,10 +141,9 @@
// }
public static String getTDDeveloperForJIRADeveloper(String assignedInJIRA) {
- Iterator<String> it = tdDevelopersToJiraDevelopers.keySet().iterator();
- while (it.hasNext()) {
- String td = it.next();
- if (tdDevelopersToJiraDevelopers.get(td).equals(assignedInJIRA)) return td;
+ for (String td : tdDevelopersToJiraDevelopers.keySet()) {
+ if (tdDevelopersToJiraDevelopers.get(td).equals(assignedInJIRA))
+ return td;
}
return null;
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <lac...@us...> - 2007-10-04 08:58:55
|
Revision: 26
http://td2jira.svn.sourceforge.net/td2jira/?rev=26&view=rev
Author: lacostej
Date: 2007-10-04 01:58:24 -0700 (Thu, 04 Oct 2007)
Log Message:
-----------
Read the td2jira.properties file from classpath instead.
Modified Paths:
--------------
trunk/td2jira/src/td2jira/Config.java
Modified: trunk/td2jira/src/td2jira/Config.java
===================================================================
--- trunk/td2jira/src/td2jira/Config.java 2007-10-04 08:55:54 UTC (rev 25)
+++ trunk/td2jira/src/td2jira/Config.java 2007-10-04 08:58:24 UTC (rev 26)
@@ -1,6 +1,7 @@
package td2jira;
import java.io.FileInputStream;
+import java.io.InputStream;
import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
import java.util.HashMap;
@@ -56,9 +57,13 @@
public static String JIRA_CONNECTOR_IMPLEMENTATION = "jira.connector.implementation=td2jira.jira.xmlrpc.JIRAXmlRpcConnector";
+ private static InputStream getResourceInputStream(String resource) {
+ return Thread.currentThread().getContextClassLoader().getResourceAsStream(resource);
+ }
+
public static void load() throws Exception {
if (props.size() != 0) return;
- props.load(new FileInputStream("td2jira.properties"));
+ props.load(getResourceInputStream("td2jira.properties"));
Field[] fields = Config.class.getDeclaredFields();
for (Field field : fields) {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <lac...@us...> - 2007-10-04 08:55:48
|
Revision: 24
http://td2jira.svn.sourceforge.net/td2jira/?rev=24&view=rev
Author: lacostej
Date: 2007-10-04 01:54:51 -0700 (Thu, 04 Oct 2007)
Log Message:
-----------
remove obsoleted .cvsignore
Removed Paths:
-------------
trunk/td2jira/src/.cvsignore
Deleted: trunk/td2jira/src/.cvsignore
===================================================================
--- trunk/td2jira/src/.cvsignore 2007-10-04 08:51:31 UTC (rev 23)
+++ trunk/td2jira/src/.cvsignore 2007-10-04 08:54:51 UTC (rev 24)
@@ -1 +0,0 @@
-com
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <lac...@us...> - 2007-10-04 08:51:43
|
Revision: 23
http://td2jira.svn.sourceforge.net/td2jira/?rev=23&view=rev
Author: lacostej
Date: 2007-10-04 01:51:31 -0700 (Thu, 04 Oct 2007)
Log Message:
-----------
upgrade jacob to latest version (1.13 M5) (remove old jacon jar)
Removed Paths:
-------------
trunk/td2jira/lib/jacob.jar.1.13
Deleted: trunk/td2jira/lib/jacob.jar.1.13
===================================================================
(Binary files differ)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <lac...@us...> - 2007-10-04 08:46:07
|
Revision: 22
http://td2jira.svn.sourceforge.net/td2jira/?rev=22&view=rev
Author: lacostej
Date: 2007-10-04 01:46:11 -0700 (Thu, 04 Oct 2007)
Log Message:
-----------
Add known issues document
Added Paths:
-----------
trunk/td2jira/docs/KnownIssues.txt
Added: trunk/td2jira/docs/KnownIssues.txt
===================================================================
--- trunk/td2jira/docs/KnownIssues.txt (rev 0)
+++ trunk/td2jira/docs/KnownIssues.txt 2007-10-04 08:46:11 UTC (rev 22)
@@ -0,0 +1,17 @@
+com.jacob.com.ComFailException: Invoke of: Data
+Source:
+Description: The Factory failed to create attachment storage object.
+
+ at com.jacob.com.Dispatch.invokev(Native Method)
+ at com.jacob.com.Dispatch.invokev(Dispatch.java:945)
+ at com.jacob.com.Dispatch.get(Dispatch.java:1312)
+ at td2jira.td.api.dcom.Bug.retrieveAttachmentData(Bug.java:214)
+ at td2jira.td.TDConnector.getAttachmentData(TDConnector.java:88)
+ at td2jira.sync.SyncUtils.addAttachment(SyncUtils.java:68)
+ at td2jira.sync.SyncUtils.syncAttachmentsToJIRA(SyncUtils.java:46)
+ at td2jira.sync.impl.SyncAttachments.process(SyncAttachments.java:36)
+ at td2jira.Sync.processRules(Sync.java:150)
+ at td2jira.Sync.run(Sync.java:111)
+ at td2jira.Sync.main(Sync.java:45)
+
+
\ No newline at end of file
Property changes on: trunk/td2jira/docs/KnownIssues.txt
___________________________________________________________________
Name: svn:eol-style
+ native
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <lac...@us...> - 2007-10-04 08:45:42
|
Revision: 21
http://td2jira.svn.sourceforge.net/td2jira/?rev=21&view=rev
Author: lacostej
Date: 2007-10-04 01:45:43 -0700 (Thu, 04 Oct 2007)
Log Message:
-----------
Move doc to separate directory
Added Paths:
-----------
trunk/td2jira/docs/
trunk/td2jira/docs/index.html
Removed Paths:
-------------
trunk/td2jira/index.html
Copied: trunk/td2jira/docs/index.html (from rev 19, trunk/td2jira/index.html)
===================================================================
--- trunk/td2jira/docs/index.html (rev 0)
+++ trunk/td2jira/docs/index.html 2007-10-04 08:45:43 UTC (rev 21)
@@ -0,0 +1,250 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+
+<html>
+<head>
+ <title>Vladimir.Dyuzhev - Test Director To JIRA Sync </title>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+ <style type="text/css">
+ #g_title p, #g_footer p, #g_description p {
+ margin: 0;
+ }
+ /*
+
+ -- -- -- -- -- -- --
+ Browser Fixes
+ -- -- -- -- -- -- --
+
+ This file uses CSS filtering methods to fix various
+ layout bugs.
+
+ Each of the following three imported files is a
+ separate, browser-specific CSS file that keeps all
+ hacks out of the main style sheet.
+
+ Over time, as supporting these browsers no longer
+ remains a priority, cleaning up the hacks is as
+ easy as deleting the @import statement below, or
+ simply no longer linking this file from the HTML.
+
+ */
+
+ /*
+ fix ie6 "peekaboo bug" using the "holly hack".
+ Note, this style only gets applied to ie6
+ */
+ * html .wrapper {
+ height: 0.1%;
+ }
+
+ /*
+ * IE5 mac - overrides the IE/Win hack
+ */
+
+ /*\*//*/
+
+ * html #threecolumn div {
+ height: auto;
+ }
+
+ /**/
+
+
+ /*
+ * IE5/Win-specific CSS -ensures #container wraps all content on window resize
+ */
+
+ @media tty {
+ i{content:"\";/*" "*/}} * html #container { height: 1%; } /*";}
+ }/* */
+ /* Styling for editable elements. Eventually, this will be part of the style. */
+ .editable {
+ border: 1px dashed blue;
+ }
+
+ #footer {
+ clear: both;
+ }
+
+ /* Extra divs hidden by default. The custom CSS can override this though */
+ #extraDiv1, #extraDiv2, #extraDiv3, #extraDiv4, #extraDiv5, #extraDiv6 {
+ display: none;
+ }
+
+ a img,:link img,:visited img {border: none;}
+
+
+ body {
+ text-align: center;
+ }
+ #container {
+ width: 718px;
+ text-align: left;
+ margin: 0 auto;
+ }
+ /** BEGIN CUSTOM SKIN **/
+ /*
+
+ -- -- -- -- -- -- --
+ Base CSS
+ -- -- -- -- -- -- --
+
+ This file simply removes default styling on most HTML elements in
+ order to reduce the need to later override them.
+
+ */
+
+ h1,h2,h3,h4,h5,h6,pre,code,p {font-size: 1em;}
+ dl,li,dt,dd,h1,h2,h3,h4,h5,h6,pre,form,body,html,p,blockquote,fieldset,input {margin: 0; padding: 0;}
+ a img,:link img,:visited img {border: none;}
+ address {font-style: normal;}html {background:#eee;}
+ body {background:#eee;font-family:'Verdana','Helvetica', 'Arial', sans-serif;font-size:0.85em;}
+ a {color:#00c;text-decoration:underline !important;}
+ a:visited {color:#551a8b;}
+ b, strong {font-weight:bold;}
+ blockquote {border-left:1px solid #ccc;margin:1em 3em;padding-left:1em;font-size:0.9em;}
+ blockquote p {line-height:1.45em;}
+ em {font-style:italic;}
+ h1, h2, h3, h4, h5, h6 {font-weight:normal;margin:1.5em 0 0.5em 0;}
+ h1 {font-size:2.25em;color:#666;margin:0;}
+ h2 {font-size:1.5em;color:#333;}
+ h3 {font-size:1.3em;}
+ h4 {font-size:1.15em;}
+ h5 {font-size:1em;}
+ h6 {font-size:0.8em;}
+ p, li {color:#000;line-height:1.75em;margin:0 0 1.5em 0;}
+ blockquote p, table p, dd p, li p, #header p {margin-bottom:0.5em;}
+ ul, ol {margin:1em 0; padding-left: 1.6em;}
+ li {margin:0.25em 0;}
+ ul li {list-style-type:disc;}
+ ol li {list-style-type:decimal;}
+ table {border:1px solid #ccc;border-width:1px 1px 0 1px;}
+ table caption {display:block;font-style:italic;white-space:nowrap;margin:0.5em 1em;}
+ table td, table th {padding:0.5em 1em;text-align:left;vertical-align:top;}
+ table th {font-weight:bold;border-bottom:1px solid #999;}
+ table td {border-bottom:1px solid #ddd;}
+
+ dl {margin:1em;line-height:1.5em;list-style-type:disc;}
+ dt {font-weight:bold;margin-top:0.5em;}
+ dd {margin-left:2em;}
+
+ #adsense {text-align:center;}
+ #container {
+ padding: 25px 40px 10px 40px;
+ border: 1px solid #ccc;
+ background:#fff;
+ margin:1em auto;
+ }
+ #footer {border-top:1px solid #ccc;margin-top:2em;}
+ #header {border-bottom:1px solid #ccc;margin-bottom:2em;}
+ #sidebar {font-size:1.0em;}
+ #sidebar :first-child {margin-top:0;}
+ #sidebar-alternate {font-size:1.0em;}
+ #sidebar-alternate :first-child {margin-top:0;}
+ #main-content {background:#fff;}
+ #main-content h2:first-child {margin-top:0;}
+
+ @media print {
+ html {background:#fff !important;}
+ #container {border-width:0px !important;padding:0 !important;}
+ }
+
+ /* Tweaks for Three-column layout
+ ----------------------------------------------- */
+ #threecolumn #main-content .wrapper {padding:0 25px;}
+
+ /* Tweaks for Two-column Left layout
+ ----------------------------------------------- */
+ #twocolumn-left #main-content .wrapper {padding-left:25px;}
+
+ /* Tweaks for Two-column Right layout
+ ----------------------------------------------- */
+ #twocolumn-right #main-content .wrapper {padding-right:25px;}
+
+ /* Tweaks for Two-column Liquid layout
+ ----------------------------------------------- */
+ #twocolumn-liquid-right #container {margin:1em 1em;}
+ #twocolumn-liquid-right #main-content .wrapper {padding-right:25px;}
+ #twocolumn-liquid-left #container {margin:1em 1em;}
+ #twocolumn-liquid-left #main-content .wrapper {padding-left:25px;}
+
+ /* Tweaks for One-column Liquid layout
+ ----------------------------------------------- */
+
+ /* Tweaks for One-column layout
+ ----------------------------------------------- */
+ #onecolumn #main-content .wrapper {padding-left:0;}
+
+ /* ie5win */
+ @media tty { i{content:"\";/*" "*/}} * html #container { padding: 25px 0px 10px 10px; } /*";}
+ }/* */
+
+ /** END CUSTOM SKIN **/
+ </style>
+
+ <!-- Hack to avoid flash of unstyled content in IE -->
+ <script> </script>
+</head>
+
+<body id="onecolumn">
+ <div id="container">
+ <div class="wrapper">
+ <div id="header">
+ <div class="wrapper">
+ <h1 id="page-title"><div id='g_title'><p style="text-align: left;">Test Director To JIRA Sync </p></div></h1>
+ <div style="clear: both;"></div>
+ <p class="description"><div id='g_description'><p style="text-align: left;">Quick'n'Dirty Way to Share The Issues With Your QA Team<br> </p></div></p>
+ <div style="clear: both"></div>
+ </div>
+ </div>
+ <!-- /editable --><!-- /wrapper --><!-- /header -->
+ <div id="main-content">
+
+ <div class="wrapper">
+ <div class="content-item "><div id='g_body'><h2>What it is and How it works<br></h2><p>This is a small application that allows developers (who use JIRA issue tracker) and QA Team (who uses Test Director/Quality Center 9) to synchronize issues and comments. Typically during SIT or UAT cycle QA record found issues in TestDirector, and developers should take care of them. But developers prefer to use JIRA (which is superior as a <b>developer's </b>tool). Developers have workflows defined in JIRA. Developers also don't want to share all the internal communication happening during issues resolution (in fact, TD has a limit for dev comments field, so extensive conversations could not be stored in TD). TD2JIRA allows QA work with TD, and developers work with JIRA, while having the same issues information.<br></p><p>When TD2JIRA<b> </b>runs, it loads all the issues from specified TD project, and finds (or creates) a corresponding issue in JIRA project. New TD comments get copied into JIRA issue. New TD file attachments get copied into JIRA too. Specially marked JIRA comments (those that <b>should be</b> read by QA) are copied back into TD. TD2JIRA also updates AssignedTo field in TD to bring it in sync with JIRA, so management can see who's working on a particular task.<br></p><p>Only the issues created in TD get pushed into JIRA, not the other way around. It's TD2JIRA, not JIRA2TD.</p><p>TD2JIRA has a (primitive) rule-engine built-in, so every team can adjust the logic according to their workflow and requirements.</p><p>N.B. To track TD-based JIRA issues, TD2JIRA uses Summary prefix. By default, it's "DEFECT", so if we have a TD issue 123 with summary "A Bug", then JIRA issue would have a summary "DEFECT 123: A Bug". Please choose your prefix (jira.summary.prefix property) to be unique enough for a full-text search.<br></p><h2>Download</h2><p>Latest packaged version can be downloaded here: <a href="http://td2jira.sourceforge.net/td2jira.zip">td2jira.zip</a> </p><h2>Installation</h2><p>TD2JIRA runs <b>only</b> on Windows. Not my fault: TD remote interface is DCOM, and the only (free) way to talk DCOM from Java is to use native calls on Windows platform. Sorry.<br></p><p>TD2JIRA is distributed as an ant-based Java project. Default target is to start synchronization (a.k.a. <i>ant sync</i>). Once started, it will perform it's duty forever, with 5 min sync interval (by default).<br></p><p>There is a file called td2jira.properties, which can be modified to adjust to your environment. By default the file defines a fake TD project (a mock) connected to jira.atlassian.com TST project:</p><p><font size="2"><span style="font-family: courier new,monospace;"># JIRA connection data</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">jira.url=http://jira.atlassian.com</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">jira.user=myid</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">jira.password=mypassword</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">jira.project=TST</span></font><br style="font-family: courier new,monospace;"></p><p>but the jira.user and jira.password are not valid -- you'll have to register on http://jira.atlassian.com to make it work. TD settings, although specified in the property file, are not in effect because of another property:</p><p><font size="2"><span style="font-family: courier new,monospace;"># TD connection Implementation</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">td.implementation=td2jira.td.api.mock.Connection</span></font><br></p><p>This means that instead of connecting to "real" TD installation, TD2JIRA will generate TD issues internally, add comments and attachments to them, and walk them through workflow. This mode helps to play with TD2JIRA and your environment before bothering QA team. I recommend you to setup an empty test project in JIRA, and point TD2JIRA with mock connection there. When you're sure all information is propagated correctly (no duplicate issues or comments, files are not corrupted, ...) you may try connect TD2JIRA to real TD, still pointing to the test JIRA project (better create another, clean, one). And only when it's still OK, move into real-TD-to-real-JIRA mode.</p><p>There are a plenty of other configuration properties in td2jira.properties, but they are either self-describing, or have comments, so I'll skip them altogether.<br></p><h2>Default Rules<br></h2><p>There is a set of rules that comes with the distribution. These rules are not the best by any means, these are just the rules used in the company I'm currently working for. Nevertheless, I'll describe those rules here to give you an example:</p><p><font size="2">1. class=td2jira.sync.impl.SyncIssues;<br>2. class=td2jira.sync.impl.SyncAttachments;<br>3. td.status=Closed|Rejected,jira.status=Open|Assigned To Fix|Assigned To Merge|Assigned To Review|Resolved,class=td2jira.sync.impl.CloseJiraIssue;<br>4. td.status=Reopen|Assigned,jira=null,class=td2jira.sync.impl.CreateJiraIssue;<br>5. td.status=New|Open|Reopen|Assigned,jira.status=Resolved,class=td2jira.sync.impl.MarkTdIssueAsFixed; 6. td.status=Reopen|Assigned,jira.status=Closed,class=td2jira.sync.impl.RecreateJiraIssue;<br>7. td.status=Fixed,jira.status=Closed,class=td2jira.sync.impl.AskToRetest;</font><br></p><p>which means:</p><ul><li>sync issues comments first (regardless ofl statuses)</li><li>sync attachments (from TD issue to JIRA issue)</li><li>if TD issue is Closed or Rejected, and JIRA issue is Open or Assigned or ... then close JIRA issue</li><li>if TD issue is Reopened or Assigned, and no JIRA issue found, create JIRA issue</li><li>... and so on</li></ul><p>Basically, it's a simple rule engine. You may create your own handlers (implementing td2jira.sync.impl.IProcessIssuePair). See existing implementations for details.</p><h2>Two ways to access JIRA</h2><p>JIRA has SOAP and XML-RPC interfaces. Despite SOAP API is much more powerful, the default for TD2JIRA is XML-RPC. The reason is that SOAP API is not compatible among even minor versions of JIRA (new methods, new fields in types), while XML-RPC works almost always. In light of mentioned above bug with addAttachmentsToIssue, there is no real reason to use SOAP out of the box until Atlassian stabilize their SOAP API for major operations. </p><p>The access mode is switched by the property:</p><p><font size="2"><span style="font-family: courier new,monospace;"># Connector Implementation</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">jira.connector.implementation=td2jira.jira.xmlrpc.JIRAXmlRpcConnector</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;"># jira.connector.implementation=td2jira.jira.soap.JIRASoapConnector</span></font><br></p><h2>Limitations</h2><p>Current version (1.0) doesn't support copying attachments via SOAP. Instead, it does a HTTP POST to AttachFile JSP. The reason is twofold. First, the JIRA WSDL file seems to be incorrect, and uses byte[][] instead of base64-encoded files. In fact, modern WS tools (including JAXB and .NET 2.0) refuse to compile the WSDL. Axis 1.4 happily compiles it though, but (it's second) resulting message is enormous in size (700K for 3K file, grows proportionally). Hence, the WSDL's addAttachmentToIssue() method is unusable. <br></p><h2>F.A.Q.</h2><p>Q1. Does TD2JIRA support HTTP proxy? </p><p>A1: It does. In fact, it even supports proxy authorization. I failed to use NTLM authentication in attach file though. The request comes through, it looks like, but something is still wrong, and JIRA fails.</p><p>Q2: How to make TD2JIRA copy a comment from JIRA to TD?</p><p>A2: Provide a "2qa:" prefix to your comment. TD2JIRA will create a matching comment in TD. To assign the task to someone in TD use "2qa:tduserid", like here:</p><p><span style="font-family: courier new,monospace;">2qa: Please retest<br>2qa:johnmk This works as documented, please reject</span></p><p><span style="font-family: arial,sans-serif;"></span>In fact, it's a hackish way. The Right Way (tm) would be to check the JIRA comment group (visible to developers, ...) and copy it to TD if it's visible to everyone. It's not hard to do. Anyone?</p><p>Q3: Can TD2JIRA be used to sync TD and/or JIRA with <insert your legacy tool here>?</p><p>A3: Not out of the box. But the logic and design (well, it's too simple for calling it "architecture") of the application can be used as a template for creating similar tools (or even plugging in more target applications into TD2JIRA itself).<br></p><h2>Support</h2><p>No support whatsoever. I can answer some general questions, but don't expect me to modify TD2JIRA for your needs. You're developers, figure it out yourselves!<br></p><h2>License</h2><p>BSD-Style:</p><p>
+ Redistribution and use in source and binary forms,
+ with or without modification, are permitted provided
+ that the following conditions are met:
+ </p>
+
+ <ul><li>
+ Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+ </li><li>
+ Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+ </li></ul>
+
+ <p>
+ <b>
+ THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
+ INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+ AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
+ THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+ OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</b></p><h2><b>Author</b></h2><p>This software was designed and implemented by me, <a href="http://vladimir-dyuzhev.net">Vladimir Dyuzhev</a>. Feel free to <a href="mailto:Vla...@gm...">email</a> me.<br></p><p>
+ </p><p></p></div></div>
+ <div style="clear: both"></div>
+ </div>
+ </div>
+ <!-- /wrapper --><!-- /main-content -->
+ <div id="footer"><div class="wrapper">
+ <hr />
+ <p><div id='g_footer'><p style="text-align: center;">(C) Vladimir Dyuzhev 2007 </p></div></p>
+ <div style="clear: both"></div>
+ </div></div>
+ <!-- /wrapper --><!-- /footer -->
+ </div>
+ </div>
+<!-- /wrapper --><!-- /container -->
+
+<div id="extraDiv1"><span></span></div><div id="extraDiv2"><span></span></div>
+<div id="extraDiv3"><span></span></div><div id="extraDiv4"><span></span></div>
+<div id="extraDiv5"><span></span></div><div id="extraDiv6"><span></span></div>
+
+</body>
+</html>
Deleted: trunk/td2jira/index.html
===================================================================
--- trunk/td2jira/index.html 2007-10-04 08:44:28 UTC (rev 20)
+++ trunk/td2jira/index.html 2007-10-04 08:45:43 UTC (rev 21)
@@ -1,250 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-
-<html>
-<head>
- <title>Vladimir.Dyuzhev - Test Director To JIRA Sync </title>
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
- <style type="text/css">
- #g_title p, #g_footer p, #g_description p {
- margin: 0;
- }
- /*
-
- -- -- -- -- -- -- --
- Browser Fixes
- -- -- -- -- -- -- --
-
- This file uses CSS filtering methods to fix various
- layout bugs.
-
- Each of the following three imported files is a
- separate, browser-specific CSS file that keeps all
- hacks out of the main style sheet.
-
- Over time, as supporting these browsers no longer
- remains a priority, cleaning up the hacks is as
- easy as deleting the @import statement below, or
- simply no longer linking this file from the HTML.
-
- */
-
- /*
- fix ie6 "peekaboo bug" using the "holly hack".
- Note, this style only gets applied to ie6
- */
- * html .wrapper {
- height: 0.1%;
- }
-
- /*
- * IE5 mac - overrides the IE/Win hack
- */
-
- /*\*//*/
-
- * html #threecolumn div {
- height: auto;
- }
-
- /**/
-
-
- /*
- * IE5/Win-specific CSS -ensures #container wraps all content on window resize
- */
-
- @media tty {
- i{content:"\";/*" "*/}} * html #container { height: 1%; } /*";}
- }/* */
- /* Styling for editable elements. Eventually, this will be part of the style. */
- .editable {
- border: 1px dashed blue;
- }
-
- #footer {
- clear: both;
- }
-
- /* Extra divs hidden by default. The custom CSS can override this though */
- #extraDiv1, #extraDiv2, #extraDiv3, #extraDiv4, #extraDiv5, #extraDiv6 {
- display: none;
- }
-
- a img,:link img,:visited img {border: none;}
-
-
- body {
- text-align: center;
- }
- #container {
- width: 718px;
- text-align: left;
- margin: 0 auto;
- }
- /** BEGIN CUSTOM SKIN **/
- /*
-
- -- -- -- -- -- -- --
- Base CSS
- -- -- -- -- -- -- --
-
- This file simply removes default styling on most HTML elements in
- order to reduce the need to later override them.
-
- */
-
- h1,h2,h3,h4,h5,h6,pre,code,p {font-size: 1em;}
- dl,li,dt,dd,h1,h2,h3,h4,h5,h6,pre,form,body,html,p,blockquote,fieldset,input {margin: 0; padding: 0;}
- a img,:link img,:visited img {border: none;}
- address {font-style: normal;}html {background:#eee;}
- body {background:#eee;font-family:'Verdana','Helvetica', 'Arial', sans-serif;font-size:0.85em;}
- a {color:#00c;text-decoration:underline !important;}
- a:visited {color:#551a8b;}
- b, strong {font-weight:bold;}
- blockquote {border-left:1px solid #ccc;margin:1em 3em;padding-left:1em;font-size:0.9em;}
- blockquote p {line-height:1.45em;}
- em {font-style:italic;}
- h1, h2, h3, h4, h5, h6 {font-weight:normal;margin:1.5em 0 0.5em 0;}
- h1 {font-size:2.25em;color:#666;margin:0;}
- h2 {font-size:1.5em;color:#333;}
- h3 {font-size:1.3em;}
- h4 {font-size:1.15em;}
- h5 {font-size:1em;}
- h6 {font-size:0.8em;}
- p, li {color:#000;line-height:1.75em;margin:0 0 1.5em 0;}
- blockquote p, table p, dd p, li p, #header p {margin-bottom:0.5em;}
- ul, ol {margin:1em 0; padding-left: 1.6em;}
- li {margin:0.25em 0;}
- ul li {list-style-type:disc;}
- ol li {list-style-type:decimal;}
- table {border:1px solid #ccc;border-width:1px 1px 0 1px;}
- table caption {display:block;font-style:italic;white-space:nowrap;margin:0.5em 1em;}
- table td, table th {padding:0.5em 1em;text-align:left;vertical-align:top;}
- table th {font-weight:bold;border-bottom:1px solid #999;}
- table td {border-bottom:1px solid #ddd;}
-
- dl {margin:1em;line-height:1.5em;list-style-type:disc;}
- dt {font-weight:bold;margin-top:0.5em;}
- dd {margin-left:2em;}
-
- #adsense {text-align:center;}
- #container {
- padding: 25px 40px 10px 40px;
- border: 1px solid #ccc;
- background:#fff;
- margin:1em auto;
- }
- #footer {border-top:1px solid #ccc;margin-top:2em;}
- #header {border-bottom:1px solid #ccc;margin-bottom:2em;}
- #sidebar {font-size:1.0em;}
- #sidebar :first-child {margin-top:0;}
- #sidebar-alternate {font-size:1.0em;}
- #sidebar-alternate :first-child {margin-top:0;}
- #main-content {background:#fff;}
- #main-content h2:first-child {margin-top:0;}
-
- @media print {
- html {background:#fff !important;}
- #container {border-width:0px !important;padding:0 !important;}
- }
-
- /* Tweaks for Three-column layout
- ----------------------------------------------- */
- #threecolumn #main-content .wrapper {padding:0 25px;}
-
- /* Tweaks for Two-column Left layout
- ----------------------------------------------- */
- #twocolumn-left #main-content .wrapper {padding-left:25px;}
-
- /* Tweaks for Two-column Right layout
- ----------------------------------------------- */
- #twocolumn-right #main-content .wrapper {padding-right:25px;}
-
- /* Tweaks for Two-column Liquid layout
- ----------------------------------------------- */
- #twocolumn-liquid-right #container {margin:1em 1em;}
- #twocolumn-liquid-right #main-content .wrapper {padding-right:25px;}
- #twocolumn-liquid-left #container {margin:1em 1em;}
- #twocolumn-liquid-left #main-content .wrapper {padding-left:25px;}
-
- /* Tweaks for One-column Liquid layout
- ----------------------------------------------- */
-
- /* Tweaks for One-column layout
- ----------------------------------------------- */
- #onecolumn #main-content .wrapper {padding-left:0;}
-
- /* ie5win */
- @media tty { i{content:"\";/*" "*/}} * html #container { padding: 25px 0px 10px 10px; } /*";}
- }/* */
-
- /** END CUSTOM SKIN **/
- </style>
-
- <!-- Hack to avoid flash of unstyled content in IE -->
- <script> </script>
-</head>
-
-<body id="onecolumn">
- <div id="container">
- <div class="wrapper">
- <div id="header">
- <div class="wrapper">
- <h1 id="page-title"><div id='g_title'><p style="text-align: left;">Test Director To JIRA Sync </p></div></h1>
- <div style="clear: both;"></div>
- <p class="description"><div id='g_description'><p style="text-align: left;">Quick'n'Dirty Way to Share The Issues With Your QA Team<br> </p></div></p>
- <div style="clear: both"></div>
- </div>
- </div>
- <!-- /editable --><!-- /wrapper --><!-- /header -->
- <div id="main-content">
-
- <div class="wrapper">
- <div class="content-item "><div id='g_body'><h2>What it is and How it works<br></h2><p>This is a small application that allows developers (who use JIRA issue tracker) and QA Team (who uses Test Director/Quality Center 9) to synchronize issues and comments. Typically during SIT or UAT cycle QA record found issues in TestDirector, and developers should take care of them. But developers prefer to use JIRA (which is superior as a <b>developer's </b>tool). Developers have workflows defined in JIRA. Developers also don't want to share all the internal communication happening during issues resolution (in fact, TD has a limit for dev comments field, so extensive conversations could not be stored in TD). TD2JIRA allows QA work with TD, and developers work with JIRA, while having the same issues information.<br></p><p>When TD2JIRA<b> </b>runs, it loads all the issues from specified TD project, and finds (or creates) a corresponding issue in JIRA project. New TD comments get copied into JIRA issue. New TD file attachments get copied into JIRA too. Specially marked JIRA comments (those that <b>should be</b> read by QA) are copied back into TD. TD2JIRA also updates AssignedTo field in TD to bring it in sync with JIRA, so management can see who's working on a particular task.<br></p><p>Only the issues created in TD get pushed into JIRA, not the other way around. It's TD2JIRA, not JIRA2TD.</p><p>TD2JIRA has a (primitive) rule-engine built-in, so every team can adjust the logic according to their workflow and requirements.</p><p>N.B. To track TD-based JIRA issues, TD2JIRA uses Summary prefix. By default, it's "DEFECT", so if we have a TD issue 123 with summary "A Bug", then JIRA issue would have a summary "DEFECT 123: A Bug". Please choose your prefix (jira.summary.prefix property) to be unique enough for a full-text search.<br></p><h2>Download</h2><p>Latest packaged version can be downloaded here: <a href="http://td2jira.sourceforge.net/td2jira.zip">td2jira.zip</a> </p><h2>Installation</h2><p>TD2JIRA runs <b>only</b> on Windows. Not my fault: TD remote interface is DCOM, and the only (free) way to talk DCOM from Java is to use native calls on Windows platform. Sorry.<br></p><p>TD2JIRA is distributed as an ant-based Java project. Default target is to start synchronization (a.k.a. <i>ant sync</i>). Once started, it will perform it's duty forever, with 5 min sync interval (by default).<br></p><p>There is a file called td2jira.properties, which can be modified to adjust to your environment. By default the file defines a fake TD project (a mock) connected to jira.atlassian.com TST project:</p><p><font size="2"><span style="font-family: courier new,monospace;"># JIRA connection data</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">jira.url=http://jira.atlassian.com</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">jira.user=myid</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">jira.password=mypassword</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">jira.project=TST</span></font><br style="font-family: courier new,monospace;"></p><p>but the jira.user and jira.password are not valid -- you'll have to register on http://jira.atlassian.com to make it work. TD settings, although specified in the property file, are not in effect because of another property:</p><p><font size="2"><span style="font-family: courier new,monospace;"># TD connection Implementation</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">td.implementation=td2jira.td.api.mock.Connection</span></font><br></p><p>This means that instead of connecting to "real" TD installation, TD2JIRA will generate TD issues internally, add comments and attachments to them, and walk them through workflow. This mode helps to play with TD2JIRA and your environment before bothering QA team. I recommend you to setup an empty test project in JIRA, and point TD2JIRA with mock connection there. When you're sure all information is propagated correctly (no duplicate issues or comments, files are not corrupted, ...) you may try connect TD2JIRA to real TD, still pointing to the test JIRA project (better create another, clean, one). And only when it's still OK, move into real-TD-to-real-JIRA mode.</p><p>There are a plenty of other configuration properties in td2jira.properties, but they are either self-describing, or have comments, so I'll skip them altogether.<br></p><h2>Default Rules<br></h2><p>There is a set of rules that comes with the distribution. These rules are not the best by any means, these are just the rules used in the company I'm currently working for. Nevertheless, I'll describe those rules here to give you an example:</p><p><font size="2">1. class=td2jira.sync.impl.SyncIssues;<br>2. class=td2jira.sync.impl.SyncAttachments;<br>3. td.status=Closed|Rejected,jira.status=Open|Assigned To Fix|Assigned To Merge|Assigned To Review|Resolved,class=td2jira.sync.impl.CloseJiraIssue;<br>4. td.status=Reopen|Assigned,jira=null,class=td2jira.sync.impl.CreateJiraIssue;<br>5. td.status=New|Open|Reopen|Assigned,jira.status=Resolved,class=td2jira.sync.impl.MarkTdIssueAsFixed; 6. td.status=Reopen|Assigned,jira.status=Closed,class=td2jira.sync.impl.RecreateJiraIssue;<br>7. td.status=Fixed,jira.status=Closed,class=td2jira.sync.impl.AskToRetest;</font><br></p><p>which means:</p><ul><li>sync issues comments first (regardless ofl statuses)</li><li>sync attachments (from TD issue to JIRA issue)</li><li>if TD issue is Closed or Rejected, and JIRA issue is Open or Assigned or ... then close JIRA issue</li><li>if TD issue is Reopened or Assigned, and no JIRA issue found, create JIRA issue</li><li>... and so on</li></ul><p>Basically, it's a simple rule engine. You may create your own handlers (implementing td2jira.sync.impl.IProcessIssuePair). See existing implementations for details.</p><h2>Two ways to access JIRA</h2><p>JIRA has SOAP and XML-RPC interfaces. Despite SOAP API is much more powerful, the default for TD2JIRA is XML-RPC. The reason is that SOAP API is not compatible among even minor versions of JIRA (new methods, new fields in types), while XML-RPC works almost always. In light of mentioned above bug with addAttachmentsToIssue, there is no real reason to use SOAP out of the box until Atlassian stabilize their SOAP API for major operations. </p><p>The access mode is switched by the property:</p><p><font size="2"><span style="font-family: courier new,monospace;"># Connector Implementation</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">jira.connector.implementation=td2jira.jira.xmlrpc.JIRAXmlRpcConnector</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;"># jira.connector.implementation=td2jira.jira.soap.JIRASoapConnector</span></font><br></p><h2>Limitations</h2><p>Current version (1.0) doesn't support copying attachments via SOAP. Instead, it does a HTTP POST to AttachFile JSP. The reason is twofold. First, the JIRA WSDL file seems to be incorrect, and uses byte[][] instead of base64-encoded files. In fact, modern WS tools (including JAXB and .NET 2.0) refuse to compile the WSDL. Axis 1.4 happily compiles it though, but (it's second) resulting message is enormous in size (700K for 3K file, grows proportionally). Hence, the WSDL's addAttachmentToIssue() method is unusable. <br></p><h2>F.A.Q.</h2><p>Q1. Does TD2JIRA support HTTP proxy? </p><p>A1: It does. In fact, it even supports proxy authorization. I failed to use NTLM authentication in attach file though. The request comes through, it looks like, but something is still wrong, and JIRA fails.</p><p>Q2: How to make TD2JIRA copy a comment from JIRA to TD?</p><p>A2: Provide a "2qa:" prefix to your comment. TD2JIRA will create a matching comment in TD. To assign the task to someone in TD use "2qa:tduserid", like here:</p><p><span style="font-family: courier new,monospace;">2qa: Please retest<br>2qa:johnmk This works as documented, please reject</span></p><p><span style="font-family: arial,sans-serif;"></span>In fact, it's a hackish way. The Right Way (tm) would be to check the JIRA comment group (visible to developers, ...) and copy it to TD if it's visible to everyone. It's not hard to do. Anyone?</p><p>Q3: Can TD2JIRA be used to sync TD and/or JIRA with <insert your legacy tool here>?</p><p>A3: Not out of the box. But the logic and design (well, it's too simple for calling it "architecture") of the application can be used as a template for creating similar tools (or even plugging in more target applications into TD2JIRA itself).<br></p><h2>Support</h2><p>No support whatsoever. I can answer some general questions, but don't expect me to modify TD2JIRA for your needs. You're developers, figure it out yourselves!<br></p><h2>License</h2><p>BSD-Style:</p><p>
- Redistribution and use in source and binary forms,
- with or without modification, are permitted provided
- that the following conditions are met:
- </p>
-
- <ul><li>
- Redistributions of source code must retain the above copyright notice,
- this list of conditions and the following disclaimer.
- </li><li>
- Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation
- and/or other materials provided with the distribution.
- </li></ul>
-
- <p>
- <b>
- THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
- INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
- THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</b></p><h2><b>Author</b></h2><p>This software was designed and implemented by me, <a href="http://vladimir-dyuzhev.net">Vladimir Dyuzhev</a>. Feel free to <a href="mailto:Vla...@gm...">email</a> me.<br></p><p>
- </p><p></p></div></div>
- <div style="clear: both"></div>
- </div>
- </div>
- <!-- /wrapper --><!-- /main-content -->
- <div id="footer"><div class="wrapper">
- <hr />
- <p><div id='g_footer'><p style="text-align: center;">(C) Vladimir Dyuzhev 2007 </p></div></p>
- <div style="clear: both"></div>
- </div></div>
- <!-- /wrapper --><!-- /footer -->
- </div>
- </div>
-<!-- /wrapper --><!-- /container -->
-
-<div id="extraDiv1"><span></span></div><div id="extraDiv2"><span></span></div>
-<div id="extraDiv3"><span></span></div><div id="extraDiv4"><span></span></div>
-<div id="extraDiv5"><span></span></div><div id="extraDiv6"><span></span></div>
-
-</body>
-</html>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <lac...@us...> - 2007-10-04 08:44:26
|
Revision: 20
http://td2jira.svn.sourceforge.net/td2jira/?rev=20&view=rev
Author: lacostej
Date: 2007-10-04 01:44:28 -0700 (Thu, 04 Oct 2007)
Log Message:
-----------
define svn:ignore properties
Property Changed:
----------------
trunk/td2jira/
trunk/td2jira/etc/
Property changes on: trunk/td2jira
___________________________________________________________________
Name: svn:ignore
- TEST-*.txt
td2jira.properties
tmp
sync.cmd
sync5min.bat
sync5min.cmd
td2jira.td.api.mock.dir
td2jira.td.api.mock.bugs.ser
*.txt
+ target
svnignore
Property changes on: trunk/td2jira/etc
___________________________________________________________________
Name: svn:ignore
+ td2jira.properties
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <lac...@us...> - 2007-10-04 08:35:10
|
Revision: 19
http://td2jira.svn.sourceforge.net/td2jira/?rev=19&view=rev
Author: lacostej
Date: 2007-10-04 01:35:04 -0700 (Thu, 04 Oct 2007)
Log Message:
-----------
upgrade jacob to latest version (1.13 M5)
Added Paths:
-----------
trunk/td2jira/lib/jacob.dll
Added: trunk/td2jira/lib/jacob.dll
===================================================================
(Binary files differ)
Property changes on: trunk/td2jira/lib/jacob.dll
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <lac...@us...> - 2007-10-04 08:13:29
|
Revision: 18
http://td2jira.svn.sourceforge.net/td2jira/?rev=18&view=rev
Author: lacostej
Date: 2007-10-04 01:13:32 -0700 (Thu, 04 Oct 2007)
Log Message:
-----------
upgrade jacob to latest version (1.13 M5)
Modified Paths:
--------------
trunk/td2jira/lib/jacob.jar
Removed Paths:
-------------
trunk/td2jira/jacob.dll
trunk/td2jira/jacob.dll.1.13
Deleted: trunk/td2jira/jacob.dll
===================================================================
(Binary files differ)
Deleted: trunk/td2jira/jacob.dll.1.13
===================================================================
(Binary files differ)
Modified: trunk/td2jira/lib/jacob.jar
===================================================================
(Binary files differ)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <lac...@us...> - 2007-10-04 08:07:28
|
Revision: 17
http://td2jira.svn.sourceforge.net/td2jira/?rev=17&view=rev
Author: lacostej
Date: 2007-10-04 01:07:31 -0700 (Thu, 04 Oct 2007)
Log Message:
-----------
Reorganize build to leave a cleaner root directory. Move config files into etc/, move all generated files into target/, including compiled & axis geneated ones. Removed use of td2jira.properties as a build.xml customiser
Modified Paths:
--------------
trunk/td2jira/build.xml
Added Paths:
-----------
trunk/td2jira/build.properties
trunk/td2jira/etc/
trunk/td2jira/etc/client-config.wsdd
trunk/td2jira/etc/log4j.properties
Removed Paths:
-------------
trunk/td2jira/bin/
trunk/td2jira/client-config.wsdd
trunk/td2jira/log4j.properties
Added: trunk/td2jira/build.properties
===================================================================
--- trunk/td2jira/build.properties (rev 0)
+++ trunk/td2jira/build.properties 2007-10-04 08:07:31 UTC (rev 17)
@@ -0,0 +1 @@
+# override build properties if needed
Property changes on: trunk/td2jira/build.properties
___________________________________________________________________
Name: svn:eol-style
+ native
Modified: trunk/td2jira/build.xml
===================================================================
--- trunk/td2jira/build.xml 2007-10-04 07:22:47 UTC (rev 16)
+++ trunk/td2jira/build.xml 2007-10-04 08:07:31 UTC (rev 17)
@@ -1,86 +1,104 @@
<project name="td.sync" default="sync" basedir=".">
- <property file="td2jira.properties"/>
- <echo>got to copy ${basedir}/lib/axis-ant.jar into ${ant.home}/lib ... </echo>
+ <property file="${basedir}/build.properties"/>
+
+ <echo>Copying ${basedir}/lib/axis-ant.jar into ${ant.home}/lib ...</echo>
<copy file="${basedir}/lib/axis-ant.jar" todir="${ant.home}/lib"/>
- <mkdir dir="${basedir}/bin"/>
-
<path id="build.path">
- <pathelement location="${basedir}/bin"/>
- <pathelement location="${basedir}/td.classes"/>
+ <pathelement location="${basedir}/etc"/>
+ <pathelement location="${basedir}/target/classes"/>
<fileset dir="${basedir}/lib">
<include name="**/*.jar"/>
</fileset>
</path>
- <target name="sync" depends="clean, compile">
- <echo>Syncing TD to JIRA ... </echo>
- <copy file="td2jira.properties" todir="bin"/>
- <copy file="log4j.properties" todir="bin"/>
- <copy file="client-config.wsdd" todir="bin"/>
- <java dir="${basedir}" classname="td2jira.Sync" failonerror="true" fork="true" maxmemory="1024m">
- <sysproperty key="com.jacob.autogc" value="true"/>
- <classpath refid="build.path"/>
- </java>
+ <path id="test.path">
+ <path refid="build.path"/>
+ <pathelement location="${basedir}/target/test-classes"/>
+ </path>
+
+ <target name="clean_sync" depends="clean, sync"/>
+
+ <target name="run_sync">
+ <echo>Syncing TD to JIRA ...</echo>
+ <java dir="${basedir}" classname="td2jira.Sync" failonerror="true" fork="true" maxmemory="1024m">
+ <sysproperty key="com.jacob.autogc" value="true"/>
+ <classpath refid="build.path"/>
+ </java>
</target>
+ <target name="sync" depends="compile,justsync" />
+
+ <target name="justsync" depends="copy_properties,run_sync"/>
+
+ <target name="copy_properties">
+ <!--
+ <copy file="td2jira.properties" todir="bin"/>
+ <copy file="log4j.properties" todir="bin"/>
+ <copy file="client-config.wsdd" todir="bin"/>
+ -->
+ </target>
+
<target name="compile">
- <delete dir="${basedir}/bin"/>
- <mkdir dir="${basedir}/bin"/>
+ <mkdir dir="${basedir}/target"/>
+ <mkdir dir="${basedir}/target/classes"/>
+ <mkdir dir="${basedir}/target/gensrc/axis"/>
<echo>making SOAP stubs</echo>
- <java classname="org.apache.axis.wsdl.WSDL2Java" fork="true" failonerror="true" dir="bin">
+ <java classname="org.apache.axis.wsdl.WSDL2Java" fork="true" failonerror="true" dir="target/gensrc/axis">
<classpath refid="build.path"/>
<arg value="${basedir}/src/jirasoapservice-v2.wsdl"/>
</java>
<javac
- fork="yes"
- debug="yes"
- srcdir="bin"
- destdir="bin"
- classpathref="build.path">
+ fork="yes"
+ debug="yes"
+ srcdir="target/gensrc/axis"
+ destdir="target/classes"
+ classpathref="build.path">
</javac>
<javac
- fork="yes"
- debug="yes"
- srcdir="src"
- destdir="bin"
- classpathref="build.path">
+ fork="yes"
+ debug="yes"
+ srcdir="src"
+ destdir="target/classes"
+ classpathref="build.path">
</javac>
- <copy todir="${basedir}/bin">
- <fileset dir="src" includes="**/*.properties"/>
+ <copy todir="${basedir}/target/classes">
+ <fileset dir="src" includes="**/*.properties"/>
</copy>
</target>
<target name="test">
<javac
- fork="yes"
- debug="yes"
- srcdir="test"
- destdir="bin"
- classpathref="build.path">
+ fork="yes"
+ debug="yes"
+ srcdir="test"
+ destdir="target/test-classes"
+ classpathref="build.path">
</javac>
- <junit dir="." printsummary="yes" haltonfailure="yes"
- showoutput="true" fork="yes" maxmemory="64m">
- <classpath refid="build.path"/>
- <formatter type="plain" usefile='false'/>
- <formatter type="plain" usefile='true'/>
-
- <batchtest todir=".">
- <fileset dir="test">
- <include name="**/Test*.java"/>
- </fileset>
- </batchtest>
- </junit>
+ <junit dir="." printsummary="yes" haltonfailure="yes"
+ showoutput="true" fork="yes" maxmemory="64m">
+ <classpath refid="test.path"/>
+ <!--formatter type="plain" usefile='false'/-->
+ <formatter type="plain" usefile='true'/>
+
+ <batchtest todir=".">
+ <fileset dir="test">
+ <include name="**/Test*.java"/>
+ </fileset>
+ </batchtest>
+ </junit>
</target>
<target name="clean">
- <delete dir="${basedir}/bin"/>
- <delete file="td2jira.jar"/>
- <delete file="td2jira.log"/>
+ <delete dir="${basedir}/target"/>
<delete file="axis-debug.log"/>
+ <delete file="axis.soap.log"/>
+ <delete>
+ <fileset dir="." includes="hs_err*.log"/>
+ </delete>
</target>
<target name="distclean">
Deleted: trunk/td2jira/client-config.wsdd
===================================================================
--- trunk/td2jira/client-config.wsdd 2007-10-04 07:22:47 UTC (rev 16)
+++ trunk/td2jira/client-config.wsdd 2007-10-04 08:07:31 UTC (rev 17)
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<deployment name="defaultClientConfig"
- xmlns="http://xml.apache.org/axis/wsdd/"
- xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
-
- <handler name="log"
- type="java:org.apache.axis.handlers.LogHandler">
- <parameter name="LogHandler.fileName" value="axis.soap.log" />
- </handler>
-
- <globalConfiguration>
- <parameter name="disablePrettyXML" value="false" />
- <requestFlow>
- <handler type="log" />
- </requestFlow>
- <responseFlow>
- <handler type="log" />
- </responseFlow>
- </globalConfiguration>
-
- <transport name="http"
- pivot="java:org.apache.axis.transport.http.HTTPSender" />
- <transport name="local"
- pivot="java:org.apache.axis.transport.local.LocalSender" />
- <transport name="java"
- pivot="java:org.apache.axis.transport.java.JavaSender" />
-</deployment>
\ No newline at end of file
Copied: trunk/td2jira/etc/client-config.wsdd (from rev 14, trunk/td2jira/client-config.wsdd)
===================================================================
--- trunk/td2jira/etc/client-config.wsdd (rev 0)
+++ trunk/td2jira/etc/client-config.wsdd 2007-10-04 08:07:31 UTC (rev 17)
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<deployment name="defaultClientConfig"
+ xmlns="http://xml.apache.org/axis/wsdd/"
+ xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
+
+ <handler name="log"
+ type="java:org.apache.axis.handlers.LogHandler">
+ <parameter name="LogHandler.fileName" value="axis.soap.log" />
+ </handler>
+
+ <globalConfiguration>
+ <parameter name="disablePrettyXML" value="false" />
+ <requestFlow>
+ <handler type="log" />
+ </requestFlow>
+ <responseFlow>
+ <handler type="log" />
+ </responseFlow>
+ </globalConfiguration>
+
+ <transport name="http"
+ pivot="java:org.apache.axis.transport.http.HTTPSender" />
+ <transport name="local"
+ pivot="java:org.apache.axis.transport.local.LocalSender" />
+ <transport name="java"
+ pivot="java:org.apache.axis.transport.java.JavaSender" />
+</deployment>
\ No newline at end of file
Copied: trunk/td2jira/etc/log4j.properties (from rev 14, trunk/td2jira/log4j.properties)
===================================================================
--- trunk/td2jira/etc/log4j.properties (rev 0)
+++ trunk/td2jira/etc/log4j.properties 2007-10-04 08:07:31 UTC (rev 17)
@@ -0,0 +1,13 @@
+log4j.logger.org.apache=warn, CONSOLE
+log4j.logger.td2jira=debug, TD2JIRA, CONSOLE
+
+log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
+log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
+log4j.appender.CONSOLE.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%c{1}] %p - %m%n
+
+log4j.appender.TD2JIRA=org.apache.log4j.RollingFileAppender
+log4j.appender.TD2JIRA.MaxFileSize=512Kb
+log4j.appender.TD2JIRA.File=td2jira.log
+log4j.appender.TD2JIRA.MaxBackupIndex=3
+log4j.appender.TD2JIRA.layout=org.apache.log4j.PatternLayout
+log4j.appender.TD2JIRA.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%c{1}] %p - %m%n
Deleted: trunk/td2jira/log4j.properties
===================================================================
--- trunk/td2jira/log4j.properties 2007-10-04 07:22:47 UTC (rev 16)
+++ trunk/td2jira/log4j.properties 2007-10-04 08:07:31 UTC (rev 17)
@@ -1,13 +0,0 @@
-log4j.logger.org.apache=warn, CONSOLE
-log4j.logger.td2jira=debug, TD2JIRA, CONSOLE
-
-log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
-log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
-log4j.appender.CONSOLE.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%c{1}] %p - %m%n
-
-log4j.appender.TD2JIRA=org.apache.log4j.RollingFileAppender
-log4j.appender.TD2JIRA.MaxFileSize=512Kb
-log4j.appender.TD2JIRA.File=td2jira.log
-log4j.appender.TD2JIRA.MaxBackupIndex=3
-log4j.appender.TD2JIRA.layout=org.apache.log4j.PatternLayout
-log4j.appender.TD2JIRA.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%c{1}] %p - %m%n
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <lac...@us...> - 2007-10-04 07:22:43
|
Revision: 16
http://td2jira.svn.sourceforge.net/td2jira/?rev=16&view=rev
Author: lacostej
Date: 2007-10-04 00:22:47 -0700 (Thu, 04 Oct 2007)
Log Message:
-----------
remove missing dependencies from eclipse classpath
Modified Paths:
--------------
trunk/td2jira/.classpath
Modified: trunk/td2jira/.classpath
===================================================================
--- trunk/td2jira/.classpath 2007-10-04 07:20:27 UTC (rev 15)
+++ trunk/td2jira/.classpath 2007-10-04 07:22:47 UTC (rev 16)
@@ -8,10 +8,6 @@
<classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/3.8.1"/>
<classpathentry kind="lib" path="lib/commons-lang-2.1.jar"/>
<classpathentry kind="lib" path="lib/commons-logging-1.0.4.jar"/>
- <classpathentry kind="lib" path="lib/jaxb1-impl.jar"/>
- <classpathentry kind="lib" path="lib/jaxb-api.jar"/>
- <classpathentry kind="lib" path="lib/jaxb-impl.jar"/>
- <classpathentry kind="lib" path="lib/jaxb-xjc.jar"/>
<classpathentry kind="lib" path="lib/jsr173_1.0_api.jar"/>
<classpathentry kind="lib" path="lib/junit-3.8.1.jar"/>
<classpathentry kind="lib" path="lib/junit-addons-1.4.jar"/>
@@ -19,11 +15,8 @@
<classpathentry kind="lib" path="lib/ws-commons-util-1.0.1.jar"/>
<classpathentry kind="lib" path="lib/commons-codec-1.3.jar"/>
<classpathentry kind="lib" path="lib/xmlrpc-client-3.0rc1.jar"/>
- <classpathentry kind="lib" path="lib/xmlrpc-client-3.0rc1-sources.jar"/>
<classpathentry kind="lib" path="lib/xmlrpc-common-3.0rc1.jar"/>
- <classpathentry kind="lib" path="lib/xmlrpc-common-3.0rc1-sources.jar"/>
<classpathentry kind="lib" path="lib/xmlrpc-server-3.0rc1.jar"/>
- <classpathentry kind="lib" path="lib/xmlrpc-server-3.0rc1-sources.jar"/>
<classpathentry kind="lib" path="lib/log4j-1.2.9.jar"/>
<classpathentry kind="lib" path="lib/axis.jar"/>
<classpathentry kind="lib" path="lib/axis-ant.jar"/>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <lac...@us...> - 2007-10-04 07:21:26
|
Revision: 15
http://td2jira.svn.sourceforge.net/td2jira/?rev=15&view=rev
Author: lacostej
Date: 2007-10-04 00:20:27 -0700 (Thu, 04 Oct 2007)
Log Message:
-----------
Update Jira WSDL to Jira 3.11
Modified Paths:
--------------
trunk/td2jira/src/jirasoapservice-v2.wsdl
Modified: trunk/td2jira/src/jirasoapservice-v2.wsdl
===================================================================
--- trunk/td2jira/src/jirasoapservice-v2.wsdl 2007-08-10 07:21:03 UTC (rev 14)
+++ trunk/td2jira/src/jirasoapservice-v2.wsdl 2007-10-04 07:20:27 UTC (rev 15)
@@ -221,7 +221,9 @@
<complexType name="RemoteIssueType">
<complexContent>
<extension base="tns1:AbstractRemoteConstant">
- <sequence/>
+ <sequence>
+ <element name="subTask" type="xsd:boolean"/>
+ </sequence>
</extension>
</complexContent>
</complexType>
@@ -319,21 +321,21 @@
<complexType name="RemoteException">
<sequence/>
</complexType>
- <complexType name="RemoteValidationException">
+ <complexType name="RemoteAuthenticationException">
<complexContent>
<extension base="tns2:RemoteException">
<sequence/>
</extension>
</complexContent>
</complexType>
- <complexType name="RemotePermissionException">
+ <complexType name="RemoteValidationException">
<complexContent>
<extension base="tns2:RemoteException">
<sequence/>
</extension>
</complexContent>
</complexType>
- <complexType name="RemoteAuthenticationException">
+ <complexType name="RemotePermissionException">
<complexContent>
<extension base="tns2:RemoteException">
<sequence/>
@@ -485,7 +487,6 @@
</restriction>
</complexContent>
</complexType>
-
<complexType name="ArrayOf_xsd_base64Binary">
<complexContent>
<restriction base="soapenc:Array">
@@ -493,7 +494,6 @@
</restriction>
</complexContent>
</complexType>
-
<complexType name="ArrayOf_tns1_RemoteAttachment">
<complexContent>
<restriction base="soapenc:Array">
@@ -980,6 +980,14 @@
</wsdl:message>
+ <wsdl:message name="getIssueTypesForProjectRequest">
+
+ <wsdl:part name="in0" type="xsd:string"/>
+
+ <wsdl:part name="in1" type="xsd:string"/>
+
+ </wsdl:message>
+
<wsdl:message name="addPermissionToRequest">
<wsdl:part name="in0" type="xsd:string"/>
@@ -1016,6 +1024,8 @@
<wsdl:message name="addWorklogAndRetainRemainingEstimateResponse">
+ <wsdl:part name="addWorklogAndRetainRemainingEstimateReturn" type="tns1:RemoteWorklog"/>
+
</wsdl:message>
<wsdl:message name="getProjectByKeyResponse">
@@ -1398,6 +1408,14 @@
</wsdl:message>
+ <wsdl:message name="getSubTaskIssueTypesForProjectRequest">
+
+ <wsdl:part name="in0" type="xsd:string"/>
+
+ <wsdl:part name="in1" type="xsd:string"/>
+
+ </wsdl:message>
+
<wsdl:message name="createProjectRequest">
<wsdl:part name="in0" type="xsd:string"/>
@@ -1588,6 +1606,8 @@
<wsdl:message name="addWorklogWithNewRemainingEstimateResponse">
+ <wsdl:part name="addWorklogWithNewRemainingEstimateReturn" type="tns1:RemoteWorklog"/>
+
</wsdl:message>
<wsdl:message name="getCustomFieldsResponse">
@@ -1652,6 +1672,12 @@
</wsdl:message>
+ <wsdl:message name="getSubTaskIssueTypesForProjectResponse">
+
+ <wsdl:part name="getSubTaskIssueTypesForProjectReturn" type="impl:ArrayOf_tns1_RemoteIssueType"/>
+
+ </wsdl:message>
+
<wsdl:message name="addWorklogWithNewRemainingEstimateRequest">
<wsdl:part name="in0" type="xsd:string"/>
@@ -1674,8 +1700,16 @@
</wsdl:message>
+ <wsdl:message name="getIssueTypesForProjectResponse">
+
+ <wsdl:part name="getIssueTypesForProjectReturn" type="impl:ArrayOf_tns1_RemoteIssueType"/>
+
+ </wsdl:message>
+
<wsdl:message name="addWorklogAndAutoAdjustRemainingEstimateResponse">
+ <wsdl:part name="addWorklogAndAutoAdjustRemainingEstimateReturn" type="tns1:RemoteWorklog"/>
+
</wsdl:message>
<wsdl:message name="deleteIssueRequest">
@@ -2384,6 +2418,30 @@
</wsdl:operation>
+ <wsdl:operation name="getIssueTypesForProject" parameterOrder="in0 in1">
+
+ <wsdl:input message="impl:getIssueTypesForProjectRequest" name="getIssueTypesForProjectRequest"/>
+
+ <wsdl:output message="impl:getIssueTypesForProjectResponse" name="getIssueTypesForProjectResponse"/>
+
+ <wsdl:fault message="impl:RemotePermissionException" name="RemotePermissionException"/>
+
+ <wsdl:fault message="impl:RemoteAuthenticationException" name="RemoteAuthenticationException"/>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="getSubTaskIssueTypesForProject" parameterOrder="in0 in1">
+
+ <wsdl:input message="impl:getSubTaskIssueTypesForProjectRequest" name="getSubTaskIssueTypesForProjectRequest"/>
+
+ <wsdl:output message="impl:getSubTaskIssueTypesForProjectResponse" name="getSubTaskIssueTypesForProjectResponse"/>
+
+ <wsdl:fault message="impl:RemotePermissionException" name="RemotePermissionException"/>
+
+ <wsdl:fault message="impl:RemoteAuthenticationException" name="RemoteAuthenticationException"/>
+
+ </wsdl:operation>
+
<wsdl:operation name="addUserToGroup" parameterOrder="in0 in1 in2">
<wsdl:input message="impl:addUserToGroupRequest" name="addUserToGroupRequest"/>
@@ -4344,6 +4402,66 @@
</wsdl:operation>
+ <wsdl:operation name="getIssueTypesForProject">
+
+ <wsdlsoap:operation soapAction=""/>
+
+ <wsdl:input name="getIssueTypesForProjectRequest">
+
+ <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="getIssueTypesForProjectResponse">
+
+ <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://jira.atlassian.com/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+ </wsdl:output>
+
+ <wsdl:fault name="RemotePermissionException">
+
+ <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemotePermissionException" namespace="http://jira.atlassian.com/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+ </wsdl:fault>
+
+ <wsdl:fault name="RemoteAuthenticationException">
+
+ <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteAuthenticationException" namespace="http://jira.atlassian.com/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+ </wsdl:fault>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="getSubTaskIssueTypesForProject">
+
+ <wsdlsoap:operation soapAction=""/>
+
+ <wsdl:input name="getSubTaskIssueTypesForProjectRequest">
+
+ <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+ </wsdl:input>
+
+ <wsdl:output name="getSubTaskIssueTypesForProjectResponse">
+
+ <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://jira.atlassian.com/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+ </wsdl:output>
+
+ <wsdl:fault name="RemotePermissionException">
+
+ <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemotePermissionException" namespace="http://jira.atlassian.com/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+ </wsdl:fault>
+
+ <wsdl:fault name="RemoteAuthenticationException">
+
+ <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteAuthenticationException" namespace="http://jira.atlassian.com/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+ </wsdl:fault>
+
+ </wsdl:operation>
+
<wsdl:operation name="addUserToGroup">
<wsdlsoap:operation soapAction=""/>
@@ -5898,4 +6016,4 @@
</wsdl:service>
-</wsdl:definitions>
\ No newline at end of file
+</wsdl:definitions>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|