Commit Graph

19 Commits

Author SHA1 Message Date
Jamie Tanna b62fe59594 fix: remove references to "bot" (#39305)
We dropped the "bot" from our terminology long ago, but it looks like
we've got some outdated docs + code that reference it.

We should remove this to keep things consistent.

A `fix`, as we're changing the commit author's name, and log lines.

Co-authored-by: Claude Sonnet 5 <jamie.tanna+claude-code@mend.io>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-09-02 08:56:20 +00:00
RahulGautamSingh d678372061 fix(platform/azure): skip work item Markdown format on Azure DevOps Server (#45237) 2026-08-12 14:04:20 +00:00
Jonathan Hill 0f06e635df feat(platform-azure): initial bearer token auth support for Azure DevOps (#43888)
* feat(platform/azure): support bearer token auth (auto-detect token type)

* refactor(platform/azure): use isPlainObject for JWT header check

Replace manual typeof/null check with isPlainObject() from
@sindresorhus/is in isProbablyJwt(). Remove unused _GlobalConfig
import from test file.

* refactor(platform/azure): use parseJsonc to parse JWT header

* test(platform/azure): use a real JWT in the set bearer token/endpoint test

* feat(platform/azure): log detected token type

* refactor(platform/azure): guard token before JWT check; remove outdated todo comment

* docs(platform/azure): restore TODO note about possibly-undefined token (#22198)

* refactor(platform/azure): move isProbablyJwt() and tests to new files lib/util/http/jwt.ts and lib/util/http/jwt.spec.ts

* refactor(platform/azure): use Json.safeParse() instead of parseJsonc() in isProbablyJwt()

* refactor(platform/azure): accept undefined token in isProbablyJwt and add guard to drop non-null assertions

* test(platform/azure): extract shared buildTestJwt helper and dedupe

* docs(platform/azure): reword the Entra ID token instructions

* chore(platform/azure): remove irrelevant lines from docstring

* refactor(platform/azure): export buildTestJwt() from new test/jwt-util.ts

* docs(platform/azure): use 1 for numbered lists

* refactor(test): extract arrow function from buildTestJwt

---------

Co-authored-by: Bastian Wenske <bastianwenske@outlook.de>
2026-07-19 23:01:52 +00:00
Emanuel Besliu 483890a8f1 fix(platform/azure): resolve work item states from process (#44412)
* fix(platform/azure): resolve work item states from process

Renovate hardcoded the Azure Boards work item state to `New` on
create/reopen and `Closed` on close. Processes that don't have those
states (Basic uses To Do/Done; custom inherited processes vary) reject
the request with "The field 'State' contains the value 'New' that is not
in the list of supported values", so the Dependency Dashboard (and any
issue) could not be created or closed.

Resolve the concrete open/closed state names for the `Issue` work item
type from its process via `getWorkItemTypeStates`, grouped by state
category (Proposed/InProgress = open, Completed/Resolved/Removed =
closed). Omit `System.State` on create so Azure DevOps applies the work
item type's default initial state. Classify issues open/closed by state
category rather than the literal `Closed`. Fall back to the previous
`New`/`Closed` names when the states cannot be read (e.g. older ADO
Server). Result is cached per repository.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* fix(platform/azure): prefer Completed state as close target

Address review: closedNames[0] picked the first state across the
Completed/Resolved/Removed categories in workflow order, so processes that
order a Resolved-category state before the Completed one (e.g. a custom
inherited Agile process) would close work items to `Resolved` instead of
`Closed`, changing prior behavior.

Resolve the close target from the `Completed` category first, falling back to
the wider closed set only when no Completed state exists. The full closed set
is still used to classify already-closed items.

Add tests covering a process where `Resolved` is ordered before `Closed`.

* fix(platform/azure): address review feedback on state resolution

- Extract namesByCategory into a module-level function declaration instead
  of an arrow function assigned to a variable.
- Add a test where the Issue type exposes a closed-category state but no
  Completed state, exercising the completedNames[0] ?? closedNames[0]
  fallback (restores 100% patch coverage).
- Reword the readme to avoid possessives per the style guide.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* refactor(platform/azure): simplify state resolution per review

- use stateColors.find for the Completed close target instead of an
  extra namesByCategory pass over a single-element array
- document that the open-state fallback may pick a closed state when a
  process exposes only closed states (intentional, not a bug)
- reuse the workItemType const instead of repeating the 'Issue' literal

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* fix(platform/azure): resolve work item states via Lazy

getWorkItemStates was async with a plain null-check cache guard, so two
concurrent callers could both pass the guard and each fire a duplicate
getWorkItemTypeStates request. Wrap resolution in `Lazy<Promise<...>>`
so the executor runs once and all callers share the same promise.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-07-14 11:49:32 +00:00
RahulGautamSingh eaa2cea3e1 feat(platform/azure): add dependency dashboard support (#42758)
* Add support for Azure DevOps in dependency dashboards feature

related #9592

* Add missing test for got wrapper

* Apply all current CR suggestions

* fix: resolve eslint and tsx issues in Azure platform code

* test: add coverage for issue.number undefined cases

Add test cases to ensure proper handling when:
- Trying to reopen an issue without a number
- Trying to update an issue without a number

This improves code coverage for the null checks added in previous commit.

* test: fix and add tests of azure/issue.ts to up coverage

there was mismatch in mock resulting in testing of different code branch

* refactor: address review feedback

* fix: type-check

* refactor: address review feedback round 2

* apply suggestions

* Apply suggestions from code review

Co-authored-by: Sebastian Poxhofer <secustor@users.noreply.github.com>

* refactor: use partial helper and remove host-rules mock in issue.spec.ts

* more changes from suggestions

* Update lib/modules/platform/azure/issue.spec.ts

Co-authored-by: Michael Kriese <michael.kriese@visualon.de>

---------

Co-authored-by: Viktorie Novotná <viktorie.novotna@drmax.eu>
Co-authored-by: Sebastian Poxhofer <secustor@users.noreply.github.com>
Co-authored-by: Michael Kriese <michael.kriese@visualon.de>
2026-06-03 15:56:14 +00:00
Jamie Tanna 128f446e08 docs: ensure that config in documentation is error and warning free (#43727)
* docs: skip validation on JSON files that aren't Renovate config

As part of future changes, we'll enable validation on all JSON code
snippets to run Config Validation.

Before we do that, we should opt-out JSON snippets that aren't anything
related to Renovate config.

* docs: don't validate invalid Renovate config

As it's intentionally referencing a manager that doesn't exist.

* docs: don't validate partial Renovate config

As part of future changes, we'll enable validation on all JSON code
snippets to run Config Validation.

There are several code snippets we have that are part of a Renovate JSON,
but it doesn't make sense to convert these to a fully passing config, as
it'd reduce clarity on what we're trying to explain.

* docs: convert `baseBranchPatterns` snippets to code blocks

So we can validate them.

* docs: make sure that `datasourceTemplate` is set

So this passes validation.

* docs: clarify that `force` is global config

As it may not be clear, so we can make it extra clear with a `.js` file,
and note that it's global self-hosted config.

* docs: make sure `packageRules` is an array

* docs: `matchBaseBranches` needs `baseBranchPatterns` to be set

* docs: correct typo for `prBodyColumns`

* docs: mark global config snippets as such

As part of future changes, we'll use this to detect whether it's global
self-hosted configuration.

* docs: make sure `packageRules` wraps its children

* docs: add `allowedHeaders`

* docs: ignore deprecation warnings

As part of future changes, we'll use this to note that we don't care
about the validation warnings.

* docs: make sure `customManagers` wraps its children

* docs: make sure `fleet` wraps its children

* docs: validate JSON snippets are valid Renovate config

To make sure that we're always presenting valid JSON configuration to
our users, we can validate them as part of `check-fenced-code`.

As well as configuration errors we can warn for warnings, but allow code
blocks to opt-out, for instance when there's a known deprecation
affecting the code block.

We need to make sure to set `allowedEnv` for various code snippets that
reference environment variables.

* docs(development): document fenced code block checks

* docs: wrap `configType` and `ignoreConfigWarnings` in `{ ... }`

As otherwise we see build failures i.e.

    WARNING -  Doc file 'modules/platform/gitlab/index.md' contains a link
       '../../../self-hosted-configuration.md#autodiscoverrepoorder', but the doc
       'self-hosted-configuration.md' does not contain an anchor '#autodiscoverrepoorder'.

This needs to be wrapped alongside all other options like `title`.

* fixup! docs: wrap `configType` and `ignoreConfigWarnings` in `{ ... }`
2026-06-02 13:29:48 +00:00
Sebastian Poxhofer 9a27d7aa78 ci(prettier): add prettier plugin for admonitions (#43615)
* ci: add local mkdocs-admonitions plugin for prettier to allow admonition preservation

* docs: remove uses of `prettier-ignore` for admonitions

* test: rather use await expect

* chore: use named group exclusively
2026-05-27 09:39:52 +00:00
Jamie Tanna 33e857e04a docs: migrate all admonitions and lists to using 2-space indents (#43607)
* docs: ensure 2 spaces used for generated admonitions

As a follow-up to 4b0146ab7b and
1844916259b6dc17f532e491eb93f6116327c324., this correctly renders
admonitions with 2 spaces (1 indent).

* fixup! docs: use 2-space indentation for Markdown (#43537)

Plus using 3-space for mixed-style `<ul>` and `<ol>`s.

* fixup! docs: use 2-space indentation for Markdown (#43537)

As otherwise it breaks the rendering of the table.
2026-05-26 20:03:23 +00:00
Anne Stellingwerf 9fae0192a1 docs: introduce JSON schema validation and migration checks (#38145)
* docs: introduce JSON schema validation and migration checks

* refactor(tools): enhance code clarity with additional typings, comments, and optional chaining

* ci(workflows): add build steps to lint and type-check jobs

* Update tools/check-fenced-code.mjs

Co-authored-by: RahulGautamSingh <rahultesnik@gmail.com>

* Partial revert

* docs(jsonata): fix wording in code block title in readme

* ci(workflows): remove redundant build steps from workflows

* ci(workflows): remove redundant build steps from workflows

* refactor(tools): simplify error reporting

* Incorporate feedback

* Incorporate feedback

* Incorporate feedback

---------

Co-authored-by: RahulGautamSingh <rahultesnik@gmail.com>
Co-authored-by: Jamie Tanna <jamie.tanna@mend.io>
2025-10-07 10:54:48 +00:00
Martin Costello 26e465cccc docs: Delocalize URLs (#37370) 2025-08-07 16:17:05 +00:00
Mathis Gauthey 3b3f3dd09c docs(azure): update azuredevops docs to match new changes (#33788)
Co-authored-by: HonkingGoose <34918129+HonkingGoose@users.noreply.github.com>
2025-04-27 07:12:03 +00:00
Sebastian Poxhofer 78002a0993 feat: add RENOVATE_ prefix to Github com token and env host rules (#34568) 2025-03-05 12:54:30 +00:00
joegoldman2 1786438d33 feat(platform/azure): implement automergeStrategy for Azure DevOps platform (#26429) 2023-12-27 09:17:03 +00:00
joegoldman2 93fd4d67e1 docs(azure): fix Azure DevOps and Azure DevOps Server example (#26144) 2023-12-06 07:50:37 +00:00
Alex Zaytsev 2ce4fc5b06 docs(azure): simplify Azure Pipeline example (#25719) 2023-11-13 07:24:45 +00:00
Daniel Koch fbf8a15df4 docs: add information about permissions for azure pat (#25534)
Co-authored-by: Daniel Koch <Daniel.Koch@arineo.com>
2023-11-11 09:30:05 +01:00
Michael Kriese 3023d4700b docs: more link fixes (#25687) 2023-11-10 11:00:35 +00:00
Michael Kriese f5cb2c4d5e docs: fix more links (#25686) 2023-11-10 10:01:46 +00:00
Rhys Arkins 73ea51f461 docs: rename platform index.md to readme.md (#25215) 2023-10-15 10:32:02 +00:00