Using wildcards in hook configuration

Notifyr supports a powerful type of pattern syntax for matching branch names (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 directories in a path

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

See the Ant documentation.

Examples

/**/*

Matches everything

/**/PROJECT-*

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

Examples:
/refs/heads/PROJECT-1234
/refs/heads/stable/PROJECT-new
/refs/tags/PROJECT-1.1

/**/?.?

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

Examples:
/refs/heads/1.1
/refs/heads/stable/2.X
/refs/tags/3.1

/**/tags/ or /**/tags/**

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

Examples:
/refs/heads/stable/tags/some_branch
/refs/tags/project-1.1.0

/**/heads/**/master

Matches all branches called master.

Examples:
/refs/heads/master
/refs/heads/stable/master