Changelog

Release 6.2.0

Features added

  • --delete-old flag for update cli command is now deletes obsolete views also, not only jobs.

  • Add --force flag to delete-all cli command to allow it’s usage in scripts.

Bugs fixed

  • Do not delete obsolete jobs when --views-only option specified.

  • Add readthedocs configuration file. RTD now requires it. Fixes documentation build on RTD.

Release 6.1.0

Features added

  • Update TAP publisher plugin (by Kienan Stewart).

  • Add tags: !include-raw-verbatim: and !include-raw-expand:. Tags !include-raw: and !include-raw-escape: are now deprecated.

  • Macros can now use parameters specified in defaults, the same way as job-templates. See this examples:

  • Macros can now define default parameters in their body the same way as jobs, job-templates and projects. See this example: macro-parameter-precenence.yaml

Note

After moving to 6.1.0 release, to remove deprecation warnings make these adjustments to your JJB sources:

  • Replace tags !include-raw: -> !include-raw-expand:.

  • Replace tags !include-raw-escape: -> !include-raw-verbatim:.

Release 6.0.0

Changes breaking backward compatibility

  • Jobs are now expanded the same way as job templates.

  • Macros without parameters are now expanded the same way as macros with parameters.

  • Tags !include-raw: and !include-raw-escape: should now be used the same way in jobs and macros without parameters as they are used in job templates and macros with parameters.

See also these stories:

  • Expand jobs the same way as job templates are expanded (Story 2010963).

  • Expand macros even if called without arguments (Story 2010588).

Note

To move to 6.0.0 release, make these adjustments to your JJB sources:

For every job and macro without parameters:

  • Duplicate curly braces: {...} -> {{...}}.

  • Replace tags !include-raw: -> !include-raw-escape:.

See this example: job-and-macro-expansions.yaml.

Also, global defaults are now used when expanding job elements the same way as they are used for expanding job templates. See this example: concat_defaults003_job.yaml concat_defaults003_job.xml

Release 5.1.0

Features added

  • Added macro call context to errors.

  • Removed cap on setuptools version (Story 2010842).

  • Added support for Python 3.11.

Bugs fixed

  • Restored macros support for notifications. It was lost with 5.0.0 release.

  • Folder defined at defaults is ignored (Story 2010984).

  • Wrong files adding by tag !include-raw (include-raw-escape, etc) (Story 2010711) (by Maxim Trunov).

  • On multibranch projects ignore-tags-older-than and ignore-tags-newer-than are inverted (Story 2004614) (by Michal Szelag).

  • Legacy plugin version comparison (Story 2010990). This also closed:

    • Story 2009943: PostBuildScript Plugin Version Format Change in 3.1.0-375.v3db_cd92485e1 Breaks Job Builder Version Compares.

    • Story 2009819: Slack Plugin Version Format Change in 602.v0da_f7458945d Breaks Job Builder Version Compares.

  • Support for obsolete format of pre-scm-buildstep

Release 5.0.4

Bugs fixed

Release 5.0.3

Features added

  • Added tokenCredentialId parameter support to generic-webhook-trigger (by Oleg Stiplin).

  • Axis in project parameters are now expanded before enumerating it’s jobs. For example, see test include-param.yaml (include-param.yaml.inc)

Release 5.0.2

Bugs fixed

  • Macro call with null parameters.

Release 5.0.1

Bugs fixed

  • JJB fails on empty YAML file

Release 5.0.0

Changes breaking backward compatibility

Features added

  • Error handling is improved: now JJB shows tracebacks with error locations See these tests for examples.

  • Added support for Python 3.9 and 3.10.

  • Added configuration for Suppress SCM Triggering (by Piotr Falkowski).

  • Added discord-notifier publisher (by Ettore Leandro Tognoli).

Bugs fixed

  • --enabled-only option when updating jobs (by Thomas Bechtold).

  • Default value does not propertly unescape curly braces (Story 2006270).

  • Different behaviour on defaults list and inline variables for Jenkins Job Builder (Story 2008510).

  • TypeError: argument of type Jinja2Loader is not iterable (Story 2010428).

  • yaml.load without Loader= is deprecated (Story 2006725).

  • j2-yaml is not allowed inside macro body (Story 2010534).