mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2026-02-19 02:57:59 -05:00
Forgejo's UI claims that whitespace is removed from the beginning and the end of the values of Forgejo Actions variables and secrets. However, that is not correct. The entered values are stored as-is. Only CRLF is replaced with LF, which is also the desired behaviour. This PR changes the incorrect text which is also no longer displayed as placeholder but as a proper help text below the input fields. Furthermore, tests were added to verify the behaviour. While adding tests, I discovered and fixed another inconsistency. Depending on whether secrets were managed using the UI or the HTTP API, they were treated differently. CRLF in secrets entered in the UI was correctly replaced with LF while secrets created using the HTTP API kept CRLF. Fixes #11003. Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/11052 Reviewed-by: Gusted <gusted@noreply.codeberg.org> Co-authored-by: Andreas Ahlenstorf <andreas@ahlenstorf.ch> Co-committed-by: Andreas Ahlenstorf <andreas@ahlenstorf.ch>
40 lines
1.4 KiB
Go
40 lines
1.4 KiB
Go
// Copyright 2024 The Gitea Authors. All rights reserved.
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
package structs
|
|
|
|
// CreateVariableOption defines the properties of the variable to create.
|
|
// swagger:model
|
|
type CreateVariableOption struct {
|
|
// Value of the variable to create. Special characters will be retained. Line endings will be normalized to LF to
|
|
// match the behaviour of browsers. Encode the data with Base64 if line endings should be retained.
|
|
//
|
|
// required: true
|
|
Value string `json:"value" binding:"Required"`
|
|
}
|
|
|
|
// UpdateVariableOption defines the properties of the variable to update.
|
|
// swagger:model
|
|
type UpdateVariableOption struct {
|
|
// New name for the variable. If the field is empty, the variable name won't be updated. Forgejo will convert it to
|
|
// uppercase.
|
|
Name string `json:"name"`
|
|
// Value of the variable to update. Special characters will be retained. Line endings will be normalized to LF to
|
|
// match the behaviour of browsers. Encode the data with Base64 if line endings should be retained.
|
|
//
|
|
// required: true
|
|
Value string `json:"value" binding:"Required"`
|
|
}
|
|
|
|
// ActionVariable return value of the query API
|
|
// swagger:model
|
|
type ActionVariable struct {
|
|
// the owner to which the variable belongs
|
|
OwnerID int64 `json:"owner_id"`
|
|
// the repository to which the variable belongs
|
|
RepoID int64 `json:"repo_id"`
|
|
// the name of the variable
|
|
Name string `json:"name"`
|
|
// the value of the variable
|
|
Data string `json:"data"`
|
|
}
|