Eric Schubert
887ded5714
[ #71358 ] fixed version read model usage
...
- improved description of API spec
2026-02-12 13:13:11 +01:00
Eric Schubert
db6aaaa984
[ #71358 ] add search version tool
...
- https://community.openproject.org/work_packages/71358
- add tool
- add specs for the tool
- slightly improve version model for the api
2026-02-11 16:34:04 +01:00
Jan Sandbrink
16fb55fedf
Merge pull request #21939 from opf/mcp-portfolios
...
Add separate tools to search portfolios and programs
2026-02-11 11:23:49 +01:00
Jan Sandbrink
780d880eb1
Merge pull request #21904 from opf/project-api-schema
...
Only return projects from search_projects MCP tool
2026-02-11 11:18:33 +01:00
Dombi Attila
bc64a491e0
Merge pull request #21933 from opf/bug/71379-project-initiation-request-cannot-be-finished-with-default-setting
...
[#71379 ] Project initiation request cannot be finished with default setting
2026-02-10 17:58:22 +02:00
Dombi Attila
92d26c6260
Add back specs that are still valid
2026-02-10 17:57:23 +02:00
Dombi Attila
8ff1ecd550
Update error messages.
2026-02-10 17:37:42 +02:00
Oliver Günther
80e6aa4657
Do not update the attachment on initial journals
...
https://community.openproject.org/work_packages/71403
2026-02-10 14:39:23 +01:00
Dombi Attila
05754e0607
Add Create Artifact WorkPackage Service journal notes spec when assignee is not set
2026-02-10 15:24:41 +02:00
Dombi Attila
017591cfb7
Fix specs
2026-02-10 14:48:05 +02:00
as-op
1b89cd7d3d
fix specs with changed expectations for page break positions
2026-02-10 13:14:32 +01:00
Dombi Attila
096904006a
Prevent wizard activation when type or status is missing.
2026-02-10 13:46:12 +02:00
Dombi Attila
623bd162b0
Fix CreateArtifact::WorkPackageContract specs
...
One test case was removed. It is not possible to have an empty work
package type while having a work package status, because the
work package type always has a default value, even if it's unset.
2026-02-10 12:29:00 +02:00
Jan Sandbrink
1279c0dc2c
Add separate tools to search portfolios and programs
...
We separated projects from portfolios and programs conceptually.
While older APIs can return mixed results for backwards-compatibility
purposes, the MCP API already purely returns projects from the search_projects
tool, thus we need additional tools for results of other types.
2026-02-10 10:16:54 +01:00
Jan Sandbrink
40b4dc407e
Limit search_projects to actual Projects
...
This means we are excluding Portfolios and Programs from it.
Those will need their own tools.
2026-02-10 10:05:58 +01:00
Dombi Attila
cbe4a5930d
[ #71379 ] Project initiation request cannot be finished with default setting
...
https://community.openproject.org/work_packages/71379
2026-02-09 18:52:41 +02:00
Jan Sandbrink
f80d55fb9c
Merge pull request #21899 from opf/mcp-users
...
MCP: Add tools and resources around users
2026-02-09 15:59:47 +01:00
Oliver Günther
57b69c26f5
Allow groups to be assigned to PIRs
2026-02-09 14:37:23 +01:00
Jan Sandbrink
953ab1a6a8
Fix API::Errors::InternalError class
...
This class got broken during what seems to be a
drive-by style-improvement in fbe1215365 . That change:
* made it incompatible with frozen strings as error messages
* broke the intended hiding of messages if they came from the
wrong class
All of this went by unnoticed, because there were no specs
for the InternalError class.
Specs have now been added and the previous version of the code
mostly restored. Since there were some callers that always created the
exception with known safe error messages, I added a new class just for these
cases, because they were intended to "just show the message". So we can
keep using the original implementation for rescue_from handling.
2026-02-09 11:04:57 +01:00
Jan Sandbrink
8ca3c9eb66
Test portfolio and program schema against representer
...
Both are rendered through the ProjectRepresenter (because they are technically
implemented as Projects), but haven't been tested against it yet.
This also means that they still included required properties that were already
removed from the project schema (this was an error in the schema).
2026-02-06 15:50:27 +01:00
Tobias Dillmann
1aa3f73f36
Merge pull request #21632 from opf/bug/70315-user-is-not-informed-of-pir-project-attributes-misconfiguration-which-leads-to-a-500-error
...
Bug/70315 user is not informed of pir project attributes misconfiguration which leads to a 500 error
2026-02-06 11:32:10 +01:00
Jan Sandbrink
9d362cc032
Add tools and resources around users
...
Allowing to search for users, e.g. to allow queries like
"find work packages assigned to Maria".
Allowing to find the current user, to enable classic use cases
like "find work packages assigned to me".
2026-02-06 11:14:22 +01:00
Eric Schubert
be855f85c9
[ #71101 ] move pagination logic to tools base class
...
- https://community.openproject.org/work_packages/71101
- set default page to 1
- add method in base class to be called in tool's `call` method
2026-02-06 09:59:54 +01:00
Tobias Dillmann
050572066f
[ #70315 ] Merge release/17.1
2026-02-06 09:43:00 +01:00
Jan Sandbrink
c1ffc6b740
Merge pull request #21861 from opf/list-resource-tools
...
MCP: Tools for list resources
2026-02-05 17:10:55 +01:00
Oliver Günther
1b3d104516
Merge pull request #21872 from opf/fix/hashed-token-pepper
...
Use a settings-based hashed token pepper that is not bound to secret_key_base
2026-02-05 15:04:32 +01:00
Oliver Günther
99d2263cf6
Raise error when default is nil, add more specs
2026-02-05 14:38:10 +01:00
ulferts
4ea2f619f5
increase spec coverage to ensure that pdf is generated
2026-02-05 09:34:48 +01:00
Oliver Günther
9ac8ec7ad1
Add persist_on_first_read: true option to settings to lazy-save default
2026-02-05 09:33:41 +01:00
Jan Sandbrink
e9bea80dab
Merge pull request #21883 from opf/mcp-api-token
...
Allow to use regular API Keys for MCP requests
2026-02-05 09:26:45 +01:00
Jan Sandbrink
0e7a19b54c
Add tools that return the content of certain resources
...
They are useful for clients that don't support resources,
or ignore them, even if they could support them.
2026-02-05 08:44:30 +01:00
Jan Sandbrink
abe1cffd75
Merge pull request #21867 from opf/mcp-project-pluralization
...
MCP: Pluralize name of search_project tool
2026-02-05 08:43:26 +01:00
Jan Sandbrink
3859268167
Allow to use regular API Keys for MCP requests
...
Some clients, such as Claude code require dynamic client registration
for their regular workflow. However, they allow to fallback to
static HTTP headers for authentication.
This approach allows to construct the corresponding header for Basic authentication
and add it to Claude.
2026-02-05 08:33:06 +01:00
Dombi Attila
867ab8b5da
Merge pull request #21843 from opf/bug/71093-form_configuration-status-422-unable-to-change-custom-fields-in-work-packages-without-enterprise-plan
...
[#71093 ] "form_configuration-status=422" Unable to Change Custom fields in Work Packages without Enterprise Plan
2026-02-04 17:20:28 +02:00
Oliver Günther
492c900bae
Use stable hashed token pepper, fallback to key base
2026-02-04 15:16:09 +01:00
Eric Schubert
05a7843fd9
Merge branch 'release/17.1' into mcp-project-pluralization
2026-02-04 13:52:02 +01:00
Eric Schubert
dd1ed25c48
Merge pull request #21860 from opf/implementation/71101-paginate-search-project-results
...
[#71101 ] add simple pagination to search projects
2026-02-04 13:24:12 +01:00
Eric Schubert
7a7cfdbbcd
[ #71101 ] remove unwanted changes to warden.rb
...
- improve test contexts
2026-02-04 10:19:04 +01:00
Jan Sandbrink
beec674117
Pluralize name of search_project tool
...
This tool returns multiple results, so it should
consistently be called search_projects.
2026-02-04 09:23:26 +01:00
Jan Sandbrink
c1ed698528
Merge pull request #21847 from opf/mcp-work-packages-tool
...
MCP: search_work_packages tool
2026-02-04 08:48:44 +01:00
Jan Sandbrink
5ab26e3b41
Add search_work_packages MCP tool
2026-02-03 16:06:33 +01:00
Jan Sandbrink
2c6c60bb03
Fix calling tools without parameters
...
I am not quite sure how this failed on a syntactic level,
but the previous definition of the parameters accepted by
our tools:
* skipped/ignored the server_context parameter
* didn't work properly for no args being passed to the tool call
We now properly pass along the server_context, allowing to use the
current user determined by our MCP endpoint, instead of repeating usage
of User.current.
This also fixes calls to tools without parameters
2026-02-03 16:06:33 +01:00
Eric Schubert
7d6431ad4a
[ #71101 ] satisfy rubocop
2026-02-03 15:58:20 +01:00
Eric Schubert
951cb4742c
[ #71101 ] add simple pagination to search projects
...
- https://community.openproject.org/work_packages/71101
- enable page parameter in the input schema
- use page with 1 or higher to get results with an offset
2026-02-03 15:21:04 +01:00
Oliver Günther
6c2b98c449
Merge pull request #21844 from opf/fix/external-link-capture
...
Use stimulus controller for external link capture
2026-02-03 14:41:17 +01:00
Henriette Darge
73654936c1
Merge pull request #21834 from opf/feature/65411-redesign-the-my-account-access-token-page-using-primer-2
...
Harmonize capitilisation on Access tokens page
2026-02-03 13:59:34 +01:00
Dombi Attila
42b9e52fee
[ #71093 ] "form_configuration-status=422" Unable to Change Custom fields in Work Packages without Enterprise Plan
...
https://community.openproject.org/work_packages/71093
2026-02-03 12:58:54 +02:00
Oliver Günther
1857f25b58
Primerize static link helper and use that for external links consistently
2026-02-03 11:41:43 +01:00
Oliver Günther
3426a5e845
add allowExternalLink dataset to skip link capture
2026-02-03 11:11:40 +01:00
Oliver Günther
3f328ff735
Use the external-links.controller for link capture
2026-02-03 11:00:27 +01:00