Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

Administrators

Installing the plugin

Project Creator for JIRA is available through the Atlassian Marketplace. Install it through the Universal Plugin Manager in JIRA.

Configuration of addon

In the administration area of Stash, click on Javascript Hooks to get to the global configuration area for Javascript Hooks for Stash. From this screen the administrator can configure the available hook actions to the script writers.

 

Configuration itemDescriptionDefault value
Script timeoutHow long a script can run for before being stopped 
Enable HTTPCan the javascript make http calls to remote serversEnabled
HTTP Connection timeout  
Http Socket timeout  
Enable external commandsCan the javascript shell out and execute a command on the command line as the stash userDisabled
External command timeoutHow long to wait for a command to run before attempting to kill it

3000ms

Enable EmailCan the javascript trigger emails to be sent?Enabled
Email subject prefixA prefix for the subject line for any emails sentNone

 

User's guide

 

Enabling JS Hooks for a repository

 

Writing a Javascript hook

 

Troubleshooting

Enabling JavaScript Hooks for a repository

The first time that a repository administrator opens the JavaScript Hooks page for the repository, they will be shown "Enable" buttons that can be clicked to enable one or more of the three available types of JavaScript Hooks. Items enabled will only be enabled for that specific repository.

Image Added

If for some reason a type of JavaScript Hooks are disabled via this configuration screen, the administrator will be shown the "Enable" buttons again for the specific JavaScript Hooks not currently enabled.

 

Writing a JavaScript hook

Writing a JavaScript hook can be quite simple. Click Add Hook on the repository JavaScript hook page and you'll be presented with a configuration screen.

At any point, click on the "Javascript function and objects available" link to see what is available to you.

Image Added

 

From this screen:

  1. Give the hook a name
  2. Add the script for the hook into the "Script code" area.
  3. Select a change (or pull request, in case of a merge check) to run against.
    1. This will run your actual JavaScript code against the particular item as if it was "live". At the end of the run you can see if there was an error with your code and which of the external API calls were called (and what the arguments passed to them were).
  4. Click Save.

The hook is now active. At any point, though, you can disable the hook from the repository view page.