Get your own customer support community

Recent activity

Subscribe to this feed
  • Martijn Laarman started following the question "What if I have Tomcat?" in hedgehog lab.

  • idea

    Martijn Laarman replied on October 26, 2009 19:49 to the idea "API-Request: Get issues for a specific user." in hedgehog lab:

    Martijn Laarman
    Sarat, what would be really neat would also be to support pagination and result metadata (perhaps on the root <projects> element) that says filtered="43" total="499". Not sure if Jersey allows you to do this though. </projects>
  • idea
  • question

    Martijn Laarman replied on October 22, 2009 10:58 to the question "GET /api/projects/{project_id}/issue-types" in hedgehog lab:

    Martijn Laarman
    I've not had the time to test it out myself but I`m quite positive that this is no bug too.
  • Martijn Laarman started following the idea "Create areas on the fly" in hedgehog lab.

  • question

    Martijn Laarman asked a question in hedgehog lab on October 13, 2009 20:17:

    Martijn Laarman
    Inferred defaults when updating issue.
    resolvedOn and resolvedBy are not defaulted when sending a different resolution while updating an issue through the API. My feeling is an inferred default (api user, now) is less of a problem then allowing these to be set to null.
  • problem

    Martijn Laarman reported a problem in hedgehog lab on October 10, 2009 16:44:

    Martijn Laarman
    wrong url for PUT issue
    API documentation glitch, the url for updating an issue is actually
    PUT /api/issues/{issue_id} right now it states /api/issues. If you post to the later no HTTP error code is returned but it returns 200 with no data which is kinda misleading.
  • problem

    Martijn Laarman reported a problem in hedgehog lab on October 10, 2009 16:42:

    Martijn Laarman
    closed element ignored POST /api/issues
    The closed element is ignored when posting a new issue to /api/issues
    works fine updating an existing issue though.
  • question

    Martijn Laarman asked a question in hedgehog lab on September 30, 2009 21:39:

    Martijn Laarman
    Fixx API posting a new issue.
    Create a new issue is done by posting to /api/issues
    How do you specify which project you want to post to ? Since project is not part of the issue entity. Is this somehow inferred by having to specify area (if area is required)?
  • question

    A comment on the question "/profile/{id}/avatar?secure={base64authkey}" in hedgehog lab:

    Martijn Laarman
    Ok thats good.. but setting a src attribute is a tenfold times easier then downloading the file with sockets and save to harddisk using GDI. As any programmer I too am lazy :) I also realise I could do http://username:password@.... but that would put a smile on any network sniffer :) – Martijn Laarman, on September 30, 2009 20:18
  • question

    Martijn Laarman asked a question in hedgehog lab on September 30, 2009 19:57:

    Martijn Laarman
    /profile/{id}/avatar?secure={base64authkey}
    I'd like to spruce my fixx addon up by showing the avatars however I do a clean request for /profile/5/avatar. Quite rightly it doesn't give me any picture back because i dont send along the SPRING_SECURITY_REMEMBER_ME_COOKIE. Is it possible however to allow for /profile/5/avatar?secure=<base64authkey> ?
    </base64authkey>
  • question

    A comment on the question "urgent Fixx-API error when adding a comment to an issue." in hedgehog lab:

    Martijn Laarman
    I can confirm that manually sending <createdat> works. I'm happy I don't have to scrap that feature :)</createdat> – Martijn Laarman, on September 30, 2009 18:52
  • question

    Martijn Laarman asked a question in hedgehog lab on September 30, 2009 18:36:

    Martijn Laarman
    urgent Fixx-API error when adding a comment to an issue.
    Adding comments through API somehow seems to mess up the issue internally or perhaps im just doing it wrong :)

    Request above the linesep(----) and response below it in the examples.


    GET /api/issues/573 HTTP/1.1
    Accept: application/xml
    Content-Type: application/xml
    Authorization: Basic <removed>
    Host: </removed><removed>

    ------------------------

    HTTP/1.1 200 OK
    Server: Apache-Coyote/1.1
    Set-Cookie: JSESSIONID=</removed><removed>; Path=/
    Content-Length: 555
    Date: Wed, 30 Sep 2009 18:19:43 GMT

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?><issue><id>573</id><title>TEST ISSUE</title><description><p>This is a test issue</p></description><assignedto>5</assignedto><type>13</type><priority>4</priority><area />11<createdon>2009-09-30T20:18:18.858+02:00</createdon><dueon>2009-10-07T22:18:18.858+02:00</dueon><createdby>5</createdby><affected>6</affected><fixfor>6</fixfor><estimatedtime>0</estimatedtime><closed>false</closed><updatedon>2009-09-30T20:18:59.390+02:00</updatedon><hidefromclient>false</hidefromclient></issue>
    </removed>



    GET /api/issues/573/comments HTTP/1.1
    Accept: application/xml
    Content-Type: application/xml
    Authorization: Basic <removed>
    Host: </removed><removed>

    --------------------------------

    HTTP/1.1 200 OK
    Server: Apache-Coyote/1.1
    Set-Cookie: JSESSIONID=</removed><removed>; Path=/
    Content-Length: 381
    Date: Wed, 30 Sep 2009 18:19:46 GMT

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?><comments><comment><id>273</id><text>Test COmmment2</text><createdat>2009-09-30T20:18:59.388+02:00</createdat><createdby>5</createdby><issue>573</issue></comment><comment><id>272</id><text>TEST COMMENT #1</text><createdat>2009-09-30T20:18:41.785+02:00</createdat><createdby>5</createdby><issue>573</issue></comment></comments>
    </removed>


    So far so good i get the issue and its comments (2) i then try to add a new comment:



    POST /api/issues/573/comments HTTP/1.1
    Accept: application/xml
    Content-Type: application/xml
    Authorization: Basic <removed>
    Host: </removed><removed>
    Content-Length: 52
    Expect: 100-continue

    <comment>
    <text>Test Comment 3</text>
    </comment>

    -----------------------------
    HTTP/1.1 200 OK
    Server: Apache-Coyote/1.1
    Set-Cookie: JSESSIONID=</removed><removed>; Path=/
    Content-Length: 155
    Date: Wed, 30 Sep 2009 18:20:11 GMT

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?><comment><id>274</id><text>Test Comment 3</text><createdby>5</createdby><issue>573</issue></comment>
    </removed>


    Still no errors as expected if i now retrieve the comments again i get the following error:


    GET /api/issues/573/comments HTTP/1.1
    Accept: application/xml
    Content-Type: application/xml
    Authorization: Basic <removed>
    Host: </removed><removed>

    -------------------------------------------------

    HTTP/1.1 500 Internal Server Error
    Server: Apache-Coyote/1.1
    Content-Type: text/html;charset=utf-8
    Transfer-Encoding: chunked
    Date: Wed, 30 Sep 2009 18:20:50 GMT
    Connection: close

    2000
    <html><head><title>Apache Tomcat/6.0.16 - Error report</title><style><!--H1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} H2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} H3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} B {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} P {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}A {color : black;}A.name {color : black;}HR {color : #525D76;}--></style> </head><body><h1>HTTP Status 500 - </h1><hr /> type Exception report

    message

    description The server encountered an internal error () that prevented it from fulfilling this request.

    exception

    java.lang.NullPointerException
    
    java.util.Date.getMillisOf(Unknown Source)
    java.util.Date.before(Unknown Source)
    com.hedgehoglab.fixx.model.comparator.CommentAgeComparator.compare(CommentAgeComparator.java:16)
    com.hedgehoglab.fixx.model.comparator.CommentAgeComparator.compare(CommentAgeComparator.java:8)
    java.util.Arrays.mergeSort(Unknown Source)
    java.util.Arrays.sort(Unknown Source)
    java.util.Collections.sort(Unknown Source)
    com.hedgehoglab.fixx.api.resources.IssuesResource.getComments(IssuesResource.java:64)
    sun.reflect.GeneratedMethodAccessor1253.invoke(Unknown Source)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    java.lang.reflect.Method.invoke(Unknown Source)
    com.sun.jersey.impl.model.method.dispatch.EntityParamDispatchProvider$ResponseOutInvoker._dispatch(EntityParamDispatchProvider.java:156)
    com.sun.jersey.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:85)
    com.sun.jersey.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:123)
    com.sun.jersey.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:111)
    com.sun.jersey.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:71)
    com.sun.jersey.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:111)
    com.sun.jersey.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:63)
    com.sun.jersey.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:722)
    com.sun.jersey.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:692)
    com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:344)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:39)
    org.appfuse.webapp.filter.StaticFilter.doFilterInternal(StaticFilter.java:103)
    org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
    org.displaytag.filter.ResponseOverrideFilter.doFilter(ResponseOverrideFilter.java:125)
    org.appfuse.webapp.filter.LocaleFilter.doFilterInternal(LocaleFilter.java:63)
    org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
    org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
    org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
    com.hedgehoglab.fixx.utils.DisableUrlSessionFilter.doFilter(DisableUrlSessionFilter.java:90)
    org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:359)
    org.springframework.security.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109)
    org.springframework.security.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
    org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371)
    org.springframework.security.ui.ExceptionTranslationFilter.doFilterHttp(ExceptionTranslationFilter.java:101)
    org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
    org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371)
    com.hedgehoglab.fixx.webapp.filter.AnonymousProcessingFilter.doFilterHttp(AnonymousProcessingFilter.java:83)
    org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
    org.springframework.security.config.OrderedFilterBeanDefinitionDecorator$OrderedFilterDecorator.doFilter(OrderedFilterBeanDefinitionDecorator.java:93)
    org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371)
    org.springframework.security.providers.anonymous.AnonymousProcessingFilter.doFilterHttp(AnonymousProcessingFilter.java:105)
    org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
    org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371)
    org.springframework.security.ui.rememberme.RememberMeProcessingFilter.doFilterHttp(RememberMeProcessingFilter.java:116)
    org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
    org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371)
    org.springframework.security.wrapper.SecurityContextHolderAwareRequestFilter.doFilterHttp(SecurityContextHolderAwareRequestFilter.java:91)
    org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
    org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371)
    org.springframework.security.ui.basicauth.BasicProcessingFilter.doFilterHttp(BasicProcessingFilter.java:172)
    org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
    org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371)
    org.springframework.security.ui.AbstractProcessingFilter.doFilterHttp(AbstractProcessingFilter.java:268)
    org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
    org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371)
    org.springframework.security.ui.AbstractProcessingFilter.doFilterHttp(AbstractProcessingFilter.java:268)
    org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
    org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371)
    org.springframework.security.ui.logout.LogoutFilter.doFilterHttp(LogoutFilter.java:87)
    org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
    org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371)
    org.springframework.security.context.HttpSessionContextIntegrationFilter.doFilterHttp(HttpSessionContextIntegrationFilter.java:229)
    org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
    org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371)
    org.springframework.security.util.FilterChainProxy.doFilter(FilterChainProxy.java:174)
    org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:183)
    org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:138)
    org.displaytag.filter.ResponseOverrideFilter.doFilter(ResponseOverrideFilter.java:125)
    com.hedgehoglab.fixx.webapp.filter.UpgradeFilter.doFilterInternal(UpgradeFilter.java:160)
    org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
    com.hedgehoglab.fixx.webapp.filter.SetupFilter.doFilterInternal(SetupFilter.java:68)
    org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
    org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96)
    org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
    note
    ab
    The full stack trace of the root cause is available in the Apache Tomcat/6.0.16 logs.

    <hr /><h3>Apache Tomcat/6.0.16</h3></body></html>
    0

    </removed>


    This causes all the comments not to show in the web interface and for older issues I've noticed it clears the description too although I've not been able to fully catch when this happens.
  • question

    Martijn Laarman replied on September 27, 2009 15:47 to the question "API inconsistency" in hedgehog lab:

    Martijn Laarman
    Also there is no automatic filter on closed issues. I.e /projects/{project_id}/issues is only filtered by project in strict accordance of REST :)
  • question

    Martijn Laarman replied on September 27, 2009 15:39 to the question "API inconsistency" in hedgehog lab:

    Martijn Laarman
    Having worked just a tad bit longer with the Fixx API i think the reason why some of the examples seem to miss certain elements is that they were simply 'null' when they were rendered :) I think for sanity sake the examples should show the entire object and mention that elements will disappear if they are 'null'.
  • question

    Martijn Laarman asked a question in hedgehog lab on September 26, 2009 08:25:

    Martijn Laarman
    Performance/Filtering of /api/projects/{project_id}/issues
    Right now /api/projects/{project_id}/issues is our only entry point to get ALL the issues for a project. For big projects with many issues it'd be really great if we could add a filter too like say /api/projects/{project_id}/issues?closed=false&resolved={resolutionid}&assignedto={userid}

    What would really help to speed this call up is if we were able to send ?lastmodified={date} which only returns issues modified after that date and <issue /> also returning <modifieddate />. The combination of id/modifieddate would allow me to cache known issues.
  • question

    Martijn Laarman asked a question in hedgehog lab on September 23, 2009 22:13:

    Martijn Laarman
    API ASCII control codes (0-31) in returned XML.
    When I get the issues for one of my projects it somehow contains ASCII control codes which invalidates the XML. It only happens on one issue in the issue list ( i bet it's in the description damn those pesky contentEditable divs! :p) for one project but perhaps the API could always strip the end result of any ASCII control codes ?
  • question

    Martijn Laarman asked a question in hedgehog lab on September 23, 2009 21:27:

    Martijn Laarman
    GET /api/projects/{project_id}/issue-types
    says it returns a description but it only returns id and name.
  • question

    Martijn Laarman replied on September 23, 2009 21:02 to the question "API inconsistency" in hedgehog lab:

    Martijn Laarman
    Yeah makes sense why it happens doesn't make too much sense from a pure REST sense though :) Another one GET returns "<hidefromclients>bool" wich is undocumented.</hidefromclients>
  • question

    A comment on the question "Fixx api returns openid address ?" in hedgehog lab:

    Martijn Laarman
    Up until now I have not encountered the openid address element being sent. Seems to be a flaw in the API documents. – Martijn Laarman, on September 23, 2009 20:38
next » « previous