Using wildcards in hook configuration


Notifyr supports a powerful type of pattern syntax for matching file names within the selected branches (similar to pattern matching in Apache Ant).

These expressions use the following wild cards:

?

Matches one character (any character except path separators)

*

Matches zero or more characters (not including path separators)

**

Matches zero or more path segments.

Pattern used in the repository watches match against all files pushed to Stash in the selected watches (or all if selected)

The '**' wild card selector enables you to match arbitrary directories.

  • A pattern can contain any number of wild cards.
  • If the pattern ends with / then ** is automatically appended - e.g. foo/ will match any branches or tags containing a foo path segment

Also see the Ant documentation.

Examples

*

Matches everything

PROJECT-*

Matches and branch or tag named PROJECT-*, even in a name space.

e.g. refs/heads/PROJECT-1234, refs/heads/stable/PROJECT-new or refs/tags/PROJECT-1.1

?.?

Matches any branch or tag of 2 characters separated by a '.'.

e.g. refs/heads/1.1, refs/heads/stable/2.X or refs/tags/3.1

tags/ or

tags/**

Matches all tags and any branches with 'tags' as a namespace.

e.g. refs/heads/stable/tags/some_branch, refs/tags/project-1.1.0

heads/**/master

Matches all branches called master.

e.g. refs/heads/master, refs/heads/stable/master