Any work arounds to create links with # and ! characters in Crucible comments?

I recenlty wrote up CRUC-6408, which is a regression of the original issue CRUC-5238. These issues are related to using urls with # characters denoting anchors. Originally, urls with # characters would simply not work but surrounding them with square brackets would maintain the integrity of the link.

With some more recent verison of Crucible, this has regressed even worse, which is why I wrote up the additional issue. It used to be that links with a # followed by some other additional character like ! would get generated correctly using the work around. Now, that is not the case, or at least I haven't found one. An example url that fails is http://docs.sencha.com/ext-js/4-1/#!/api/Ext-method-onReady.

While I wait for Atlassian to respond to my issue in the Crucible JIRA, I'm getting desparate as it is an extreme waste of time for our devs to navigate through documentation to what we want, rather than just linking directly to it. I can copy and paste material, but that bloats the comments unnecessarilly. Is anyone aware of a work around that will maintain the integrity of these links?

1 answer

1 accepted

Accepted Answer
2 votes
Tom Davies Atlassian Team Mar 20, 2013

This is a bug which will be fixed in Crucible 2.10.4 and 3.0

In older versions you can edit syntax/url.def in your installation directory and replace the http/https definition with:

# http/https
  /\b(?:https?:\/\/(?:(?:(?:(?:(?:[a-zA-Z\d$\-_.+!*'(),]|(?:%[a-fA-F\d]{2}))|[;?&=])*)(?::(?:(?:(?:[a-zA-Z\d$\-_.+!*'(),]|(?:%[a-fA-F\d]{2}))|[;?&=])*))?@)?(?:(?:(?:(?:(?:[a-zA-Z\d](?:(?:[a-zA-Z\d]|-)*[a-zA-Z\d])?)\.)*(?:[a-zA-Z](?:(?:[a-zA-Z\d]|-)*[a-zA-Z\d])?))|(?:(?:\d+)(?:\.(?:\d+)){3}))(?::(?:\d+))?))(?:\/(?:(?:(?:(?:[a-zA-Z\d$\-_.+!*'(),~]|(?:%[a-fA-F\d]{2}))|[;:@&=])*)(?:\/(?:(?:(?:[a-zA-Z\d$\-_.+!*'(),~]|(?:%[a-fA-F\d]{2}))|[;:@&=])*))*)(?:\?(?:(?:(?:[a-zA-Z\d$\-_.+!*'(),~]|(?:%[a-fA-F\d]{2}))|[;:@&=])*))?)?(?:#(?:[\/\?!a-zA-Z0-9_:.%,\-()~]*)?)?)/ : {
    region {href="${0}";}
    filter=com.cenqua.fisheye.syntax.ParenthesesBalancingRegionFilter  
  }

Crucible will need to be restarted to pick up the change.

Thanks Tom - changing that and recycling the fisheye crucible instance did the trick.

Suggest an answer

Log in or Sign up to answer
Community showcase
Posted Tuesday in Featured Groups

Tuesday tips & tricks: What is the Atlassian Community?

It's officially Tuesday, which means it's officially time for another tip to help you better navigate this space we call the Atlassian Community. 😄 I got a great question from community member, Sa...

119 views 6 8
View post

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you