forgejo/modules/structs
Andreas Ahlenstorf ddd4cf0d28 chore: revise runner REST API endpoints (#10450)
In https://codeberg.org/forgejo/forgejo/pulls/9409, REST API endpoints were added to manage runners. The REST API endpoints were modelled after GitHub's REST API. That comes at the cost of introducing methods and fields that Forgejo does not and is unlikely to support in the future, like label IDs or label types. But Forgejo would have to maintain them for a very long time.

The introduced endpoints have been revised and aligned with existing Forgejo REST API endpoints:

* POST for `/registration-token` has been removed because it was only an alias of GET.
* `/runners` returns a list of `ActionRunner` instead of a wrapper object. `total_count` was replaced with the header `x-total-count` that is used throughout Forgejo.
* `status` in `ActionRunner` was converted to an enum that is documented.
* `busy` in `ActionRunner` was combined with `status`. A single enum is easier to extend and consume.
* `labels` in `ActionRunner` was converted to a list of strings to match existing Forgejo REST API endpoints.
* `ephemeral` has been removed from `ActionRunner` because ephemeral runners have not been merged, yet.
*  `ActionRunner` received a number of new fields: `uuid`, `version`, `description`, `owner_id`, and `repo_id`.

In addition to those structural changes, the test coverage was enhanced and the API documentation polished.

## Checklist

The [contributor guide](https://forgejo.org/docs/next/contributor/) contains information that will be helpful to first time contributors. There also are a few [conditions for merging Pull Requests in Forgejo repositories](https://codeberg.org/forgejo/governance/src/branch/main/PullRequestsAgreement.md). You are also welcome to join the [Forgejo development chatroom](https://matrix.to/#/#forgejo-development:matrix.org).

### Tests

- I added test coverage for Go changes...
  - [x] in their respective `*_test.go` for unit tests.
  - [x] in the `tests/integration` directory if it involves interactions with a live Forgejo server.
- I added test coverage for JavaScript changes...
  - [ ] in `web_src/js/*.test.js` if it can be unit tested.
  - [ ] in `tests/e2e/*.test.e2e.js` if it requires interactions with a live Forgejo server (see also the [developer guide for JavaScript testing](https://codeberg.org/forgejo/forgejo/src/branch/forgejo/tests/e2e/README.md#end-to-end-tests)).

### Documentation

- [ ] I created a pull request [to the documentation](https://codeberg.org/forgejo/docs) to explain to Forgejo users how to use this change.
- [x] I did not document these changes and I do not expect someone else to do it.

### Release notes

- [ ] I do not want this change to show in the release notes.
- [ ] I want the title to show in the release notes with a link to this pull request.
- [ ] I want the content of the `release-notes/<pull request number>.md` to be be used for the release notes instead of the title.

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/10450
Reviewed-by: Mathieu Fenniak <mfenniak@noreply.codeberg.org>
Co-authored-by: Andreas Ahlenstorf <andreas@ahlenstorf.ch>
Co-committed-by: Andreas Ahlenstorf <andreas@ahlenstorf.ch>
2025-12-21 17:21:02 +01:00
..
action.go bug: unify RepoActionRun and ActionRun structs (#8250) 2025-06-23 07:54:32 +02:00
activity.go [CHORE] Fix swagger deprecation message 2024-08-10 01:21:13 +02:00
activitypub.go Improved signature handling & instance actor (#8275) 2025-07-01 19:49:00 +02:00
admin_user.go feat: Add support for administrators to set email visibility on user accounts (#9668) 2025-10-15 03:21:15 +02:00
attachment.go fix(ui): Add pasted images to dropzone 2025-06-30 12:42:22 +02:00
commit_status.go docs: add back warning as a commit status (#8935) 2025-10-01 04:52:16 +02:00
commit_status_test.go refactor improve NoBetterThan (#26126) 2023-07-26 08:52:07 +00:00
cron.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
doc.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
fork.go feat: sync forks (#2364) 2025-04-07 07:00:38 +00:00
git_blob.go api: GitBlob consistent naming 2025-06-13 11:35:14 +02:00
git_hook.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
hook.go Revert "fix(api): document is_system_webhook field (#7784)" (#8286) 2025-06-26 00:36:18 +02:00
issue.go chore: replace gopkg.in/yaml.v3 with go.yaml.in/yaml/v3 (#8956) 2025-08-20 15:31:12 +02:00
issue_comment.go [FEAT] allow setting the update date on issues and comments 2024-02-05 14:44:33 +01:00
issue_label.go Support using label names when changing issue labels (#30943) 2024-05-19 13:12:35 +02:00
issue_milestone.go [CHORE] Fix swagger deprecation message 2024-08-10 01:21:13 +02:00
issue_reaction.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
issue_stopwatch.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
issue_test.go chore: replace gopkg.in/yaml.v3 with go.yaml.in/yaml/v3 (#8956) 2025-08-20 15:31:12 +02:00
issue_tracked_time.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
lfs_lock.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
mirror.go feat: add configuration to only push mirror selected branches (#7823) 2025-07-12 00:39:35 +02:00
miscellaneous.go fix: Preview picture not visible on Markdown file (#5781) 2024-11-23 15:00:18 +00:00
moderation.go [MODERATION] User blocking 2024-02-05 15:56:45 +01:00
nodeinfo.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
notifications.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
org.go Inclusion of rename organization api (#33303) 2025-02-02 12:01:58 +01:00
org_member.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
org_team.go Update module github.com/golangci/golangci-lint/v2/cmd/golangci-lint to v2.6.1 (forgejo) (#10053) 2025-11-11 07:04:35 +01:00
package.go Fix package webhook (#27839) 2023-10-31 04:43:38 +00:00
pull.go fix(migrations): transfer PR flow information (#7421) 2025-04-03 06:47:37 +00:00
pull_review.go Fix invalid swagger syntax of $ref with sibling (#7019) 2025-02-21 14:09:21 +00:00
quota.go feat(quota): Humble beginnings of a quota engine 2024-08-02 11:10:34 +02:00
release.go [FEAT]Add Option to hide Release Archive links (#3139) 2024-04-24 15:15:55 +00:00
repo.go Add support for migrating from Pagure (#8513) 2025-08-11 16:56:26 +02:00
repo_actions.go chore: revise runner REST API endpoints (#10450) 2025-12-21 17:21:02 +01:00
repo_branch.go [FEAT] Configure if protected branch rule should apply to admins 2024-03-29 00:21:49 +01:00
repo_collaborator.go [CHORE] Fix swagger deprecation message 2024-08-10 01:21:13 +02:00
repo_commit.go Add file status for API "Get a single commit from a repository" (#16205) (#25831) 2023-07-20 16:35:47 +08:00
repo_compare.go feat: add files to compare (#6461) 2025-01-05 02:32:46 +00:00
repo_file.go feat(api): add last_commit_when to contents response (#7418) 2025-04-18 09:31:40 +00:00
repo_flags.go [FEAT] API support for repository flags 2024-02-05 16:09:42 +01:00
repo_key.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
repo_note.go [FEAT]Allow changing git notes (#4753) 2024-11-18 22:56:17 +00:00
repo_refs.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
repo_tag.go Add tag protection via rest api #17862 (#31295) 2024-06-16 13:42:59 +02:00
repo_topic.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
repo_tree.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
repo_watch.go Replace interface{} with any (#25686) 2023-07-04 18:36:08 +00:00
repo_wiki.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
secret.go refactor(API): refactor secret creation and update functionality (#26751) 2023-08-28 13:08:19 +08:00
settings.go Allow instance-wide disabling of forking 2024-02-25 12:00:17 +01:00
status.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
task.go style: reenable switch check 2024-08-18 15:19:01 +02:00
user.go chore: branding import path (#7337) 2025-03-27 19:40:14 +00:00
user_app.go Update token creation API swagger documentation (#34288) 2025-04-29 10:12:45 +02:00
user_email.go fix: use ValidateEmail as binding across web forms 2024-08-28 22:25:17 -06:00
user_gpgkey.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
user_key.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
variable.go Add API for Variables (#29520) 2024-04-07 10:57:53 +02:00
visible_type.go change org_type.go to visible_type.go and fix the notes (#22752) 2023-02-09 06:40:34 +00:00
workflow.go feat(api): return run_number in workflow dispatch (#7286) 2025-03-25 21:22:32 +00:00