All Projects β†’ bitcrowd β†’ tickety-tick

bitcrowd / tickety-tick

Licence: MIT license
A browser extension that helps you name branches and write better commit messages

Programming Languages

typescript
32286 projects
javascript
184084 projects - #8 most used programming language
SCSS
7915 projects
swift
15916 projects
shell
77523 projects
HTML
75241 projects

Projects that are alternatives of or similar to tickety-tick

quickjira
🚀 πŸ“‚ Quickly access the JIRA of your choice by typing the ticket id
Stars: ✭ 65 (+18.18%)
Mutual labels:  jira, webextension, firefox-extension
xeo
A modern tool to bring SCRUM to Notion!
Stars: ✭ 26 (-52.73%)
Mutual labels:  trello, jira, notion
Codestream
The Code Collaboration Tool Built for Remote Teams
Stars: ✭ 459 (+734.55%)
Mutual labels:  trello, jira, gitlab
snoozz-tab-snoozing
A Web Extension to declutter windows by snoozing tabs for later
Stars: ✭ 105 (+90.91%)
Mutual labels:  safari-extension, webextension, firefox-extension
Spotify Lyrics
πŸŽ‰ Desktop Spotify Web Player Instant Synchronised Lyrics
Stars: ✭ 162 (+194.55%)
Mutual labels:  safari-extension, firefox-extension
Simplified Twitter
Remove distractions from the new Twitter layout. Extension for Chrome, Firefox, Safari, Edge & More
Stars: ✭ 111 (+101.82%)
Mutual labels:  safari-extension, firefox-extension
trello-super-powers
Repository of the Firefox add-on. (https://addons.mozilla.org/en-US/firefox/addon/trello-super-powers/)
Stars: ✭ 29 (-47.27%)
Mutual labels:  trello, webextension
cascade
A project management service with pure functional programming paradigm in the heart.
Stars: ✭ 21 (-61.82%)
Mutual labels:  trello, jira
Generic Webhook Trigger Plugin
Can receive any HTTP request, extract any values from JSON or XML and trigger a job with those values available as variables. Works with GitHub, GitLab, Bitbucket, Jira and many more.
Stars: ✭ 287 (+421.82%)
Mutual labels:  jira, gitlab
lazylead
Eliminate the annoying work within ticketing systems (Jira, GitHub, Trello). Allows automating (without admin access) daily actions like tickets fields verification, email notifications by JQL/GQL, meeting requests to your (or teammates) calendar.
Stars: ✭ 42 (-23.64%)
Mutual labels:  trello, jira
FireX-Proxy
FireX Proxy for Mozilla Firefox, Google Chrome
Stars: ✭ 96 (+74.55%)
Mutual labels:  webextension, firefox-extension
strelloids
Browser extension for Trello that adds new features.
Stars: ✭ 29 (-47.27%)
Mutual labels:  trello, firefox-extension
Overamped
Safari Web Extension to disable AMP ⚑️
Stars: ✭ 32 (-41.82%)
Mutual labels:  safari-extension, webextension
Ghosttext
πŸ‘» Use your text editor to write in your browser. Everything you type in the editor will be instantly updated in the browser (and vice versa).
Stars: ✭ 2,614 (+4652.73%)
Mutual labels:  safari-extension, firefox-extension
Devops Kompose
[DEPRECATED] DevOps tools on Kubernetes with Helm charts
Stars: ✭ 78 (+41.82%)
Mutual labels:  jira, gitlab
Integram
Integrate Telegram into your workflow – Trello, Gitlab, Bitbucket and other bots
Stars: ✭ 1,365 (+2381.82%)
Mutual labels:  trello, gitlab
enterprise-policy-generator
The Enterprise Policy Engine allows administrators to configure Firefox via a configuration file. The Enterprise Policy Generator helps to create the configuration file.
Stars: ✭ 57 (+3.64%)
Mutual labels:  webextension, firefox-extension
jira-2-omnifocus
Chrome extension for sending JIRA tickets to OmniFocus
Stars: ✭ 20 (-63.64%)
Mutual labels:  jira, firefox-extension
Git Chglog
CHANGELOG generator implemented in Go (Golang).
Stars: ✭ 1,895 (+3345.45%)
Mutual labels:  jira, gitlab
Skyhook
Parses webhooks and forwards them in the proper format to Discord.
Stars: ✭ 263 (+378.18%)
Mutual labels:  trello, gitlab

ticket icon Tickety-Tick

Build Status

How do you name this branch? What is the message for that commit?

A browser extension to generate these for you, based on the ticket you're working on.

Tickety-Tick's user interface

At bitcrowd we love conventions. One of them is how we name branches and commits. This makes it easy to relate a particular branch or commit to a certain ticket.

Branches follow the format type/id-title by default, where:

  • type is usually one of:
    • feature (default)
    • bug
    • chore
    • …
  • id is the identifier of the ticket in your ticketing system
  • title is a lowercase, dasherized version of the ticket title

Commits contain [#id] title by default.

Additionally, Tickety-Tick generates commands to set up a branch with the proper name and to prepare the commit message for your source code management tool. Out of the box, it is set up to work with Git.

If you need your commit messages, branch names or commands to look different, you can configure Tickety-Tick to use a custom format.

Demo

Here is a short example for how a possible workflow with Tickety-Tick could look like:

demo.mp4

Supported ticket systems

Tickety-Tick helps you create branches and commits for a few ticket systems.

Currently, we support:

Your ticket system is missing? Go ahead and implement an adapter for it! We are always happy about contributions and here to support you πŸ‘‹.

Installation

Tickety-Tick is available for every major browser:

Manual Installation

Manually install the extension if you want to use an older version or a beta version.

Click here for instructions

Chrome

Download and unpack a chrome.zip file from the releases. Then navigate to the chrome://extensions page, enable "Developer mode", press "Load unpacked extension" and point to the unpacked folder.

Firefox

Get a tickety_tick-<version>.xpi file from the releases or sign a build yourself as per our maintainer guide. Then go to about:addons, click on the small cog icon, select Install Add-on From File… and choose your .xpi file.

Opera

Download and unpack a chrome.zip file from the releases. Then navigate to the opera:extensions page, enable "Developer mode", press "Load unpacked extension" and point to the unpacked folder.

Keyboard Shortcuts

Shortcut Description
Ctrl + t Open the extension's popup dialog

Building

In order to build the extension from source, run:

yarn install
yarn checks
yarn build

To build an un-optimized version for development or debugging, use:

yarn build --mode=development

To only build for a specific browser, use:

yarn build:chrome
yarn build:firefox

Installing a custom-built version

Chrome

Navigate to the chrome://extensions page, enable "Developer mode" and press "Load unpacked extension". Point it to the dist/chrome directory. Done.

Firefox

If you just want to try out and debug the extension, go to about:debugging#addons. Then press "Load Temporary Add-On" and select the built manifest.json from the dist/firefox extension directory.

If you want to install the extension permanently, you need to enable unsigned add-ons. Then go to about:addons, click on the small cog icon, select Install Add-on From File… and choose dist/firefox.

Opera

Navigate to the opera://extensions page, enable "Developer mode" and press "Load unpacked extension". Point it to the dist/chrome directory. Done.

Development

Developing Tickety-Tick

For development use yarn watch:[browser]. This will watch the files and rebuild the extension whenever source files change.

To test-drive a development version, you can use:

yarn open:chrome
yarn open:firefox

You can run both watch:[browser] and open:[browser] scripts in parallel to automatically rebuild and reload the extension as you make changes.

Tips & Tricks 🎩

  • Debugging
    • Firefox: use the developer tools to debug the extension
    • Chrome: right-click inspect on the popup or the settings page to open a separate debugger

Running automated checks

To execute the automated source code checks, run:

yarn checks

Or, to run checks individually:

yarn stylelint
yarn lint
yarn test

Hint: You can append --watch and other options supported by Jest to the test command, e.g.:

yarn test --watch

The lint commands accept options supported by ESLint and stylelint, e.g.:

yarn lint --fix
yarn stylelint --fix

Generating coverage reports

In order to generate code coverage reports locally, just run:

yarn test --coverage

To view an HTML version of the report:

open coverage/lcov-report/index.html

Building releases

Chrome Web Store and Firefox Add-ons require you to submit extensions as a single zip archive. To build and zip the extension for a release, run:

yarn bundle:chrome
yarn bundle:firefox

Releasing a new version

  1. Tick the version with yarn version (creates a Git tag)
  2. Push the tag with git push --tags
  3. Build releases for Chrome and Firefox (see above)
  4. Draft a new release on GitHub
  5. Add package bundles to your new release
  6. Publish release in Chrome and Mozilla stores

Insights

Generated commands

As mentioned earlier, in addition to branch names and commit messages, Tickety-Tick generates commands to set up a branch with the proper name and to prepare the commit message.

By default, the code generated for copying will look like this:

git checkout -b BRANCH-NAME && git commit --allow-empty -m COMMIT-MESSAGE

These default generated commands make a few assumptions:

  1. You're using Git (obviously).

    The branch names and commit messages Tickety-Tick generates may work with other version control systems, but the commands generated for copying specifically include Git.

  2. You squash commits from feature branches (or you're okay with empty commits).

    When you work with feature branches and you squash them before merging, Git (and GitHub) allow you to combine the messages of the feature-branch commits. The empty commit provides a simple mechanism for storing the commit message title generated by Tickety-Tick when setting up the branch.

This approach works nicely with our Git workflow, for which the above assumptions are true. Yours may be different though, in which case you might want to configure Tickety-Tick differently.

Advanced configuration

If you have different conventions regarding commit messages, branch names or you're just using a different source code management tool, Tickety-Tick allows you to customize the output format for all of these.

You can access the preferences page via the "Settings" link in the Tickety-Tick popup.

Firefox preferences

Auto-formatting of commit messages

Tickety-Tick supports formatting generated commit messages according to these recommendations by Tim Pope. If you do not want this, you can disable this feature in the extension preferences (see above).

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].