Try it now!
- Confluence: https://marketplace.atlassian.com/apps/1223134/shortlinks-for-confluence
- Jira: https://marketplace.atlassian.com/apps/1223135/shortlinks-for-jira
Most people are aware of URL shorteners like Bitly for shortening large unwieldy links to make them easier to share. While Atlassian's share feature provides a shorter link, it's still reaaally long.
Atlassian raw link [~96 characters]
Atlassian share link [~38 characters]
What it does
Creates short links for Confluence pages and Jira issues.
Shortlink [max 15 characters]
- Links automatically created with fast and easy access.
- Short and readable domain name: team.sc (think "team shortcut").
- Bad words removed from auto-generated link ID.
- Super fast 301 redirects using serverless computing at the edge.
How I built it
- React and Atlaskit
- Cloudflare Worker + Workers KV
- Confluence content properties
- Jira entity properties
Challenges I ran into
- DNS is always a tricky one.
- Implementing wildcard routing.
Accomplishments that I'm proud of
- Finding a short and readable domain name that was available (albeit expensive).
- Determining the best number of characters to go with for the ID. I'm using [a-zA-Z0-9] with no dashes or underscores. With 6 characters you have 62^6 (~56 billion) unique addresses. But with 7 characters you have 62^7 (~3.5 trillion) unique addresses. Since the shortener is limiting URLs to the "*.atlassian.net" hostname it's unlikely to ever hit 56 billion, but adding one more character dramatically increases the scalability. I assume this is why Bitly also uses 7 characters.
What I learned
- This was my first Jira app so lots of learnings there. For starters I assumed there would be an equivalent getContentProperty() and setContentProperty() function for Jira. Turns out it's all through REST calls.
What's next for Shortlinks+ for Confluence & Jira
- Deploy to the Atlassian marketplace.
- Add simple analytics to show visits over time through the short link.