Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d075c60e1e | ||
|
|
6caa87102e | ||
|
|
8bad83fb09 |
@ -10,12 +10,16 @@ inputs:
|
||||
base_url:
|
||||
description: 'Base URL of the FastAPI server.'
|
||||
required: true
|
||||
auth_token:
|
||||
description: 'Bearer token for authenticating to the FastAPI server.'
|
||||
required: true
|
||||
|
||||
runs:
|
||||
using: 'docker'
|
||||
image: 'Dockerfile'
|
||||
env:
|
||||
BASE_URL: ${{ inputs.base_url }}
|
||||
AUTH_TOKEN: ${{ inputs.auth_token }}
|
||||
BRANCH_REF: ${{ gitea.event.issue.ref }}
|
||||
ISSUE_STATE: ${{ gitea.event.issue.state }}
|
||||
ISSUE_ASSIGNEES: ${{ join(gitea.event.issue.assignees.*.login, ',') }}
|
||||
|
||||
25
main.go
25
main.go
@ -12,10 +12,10 @@ import (
|
||||
)
|
||||
|
||||
type Payload struct {
|
||||
TaskID int64 `json:"task_id"`
|
||||
State string `json:"state"`
|
||||
Assignees []string `json:"assignees"`
|
||||
DueDate string `json:"date_deadline,omitempty"`
|
||||
TaskID int64 `json:"task_id"`
|
||||
State string `json:"state"`
|
||||
UserIDs []string `json:"user_ids"`
|
||||
DueDate string `json:"date_deadline,omitempty"`
|
||||
}
|
||||
|
||||
func splitCSV(value string) []string {
|
||||
@ -54,6 +54,11 @@ func main() {
|
||||
issueAssignees := splitCSV(os.Getenv("ISSUE_ASSIGNEES"))
|
||||
issueDueDate := os.Getenv("ISSUE_DUE_DATE")
|
||||
branchRef := os.Getenv("BRANCH_REF")
|
||||
authToken := os.Getenv("AUTH_TOKEN")
|
||||
if strings.TrimSpace(authToken) == "" {
|
||||
logger.Println("AUTH_TOKEN not provided. Please pass 'auth_token' input mapped to a secret.")
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
var odooTicketNumber int64
|
||||
if branchRef != "" {
|
||||
@ -69,10 +74,10 @@ func main() {
|
||||
}
|
||||
|
||||
payload := Payload{
|
||||
TaskID: odooTicketNumber,
|
||||
State: issueState,
|
||||
Assignees: issueAssignees,
|
||||
DueDate: issueDueDate,
|
||||
TaskID: odooTicketNumber,
|
||||
State: issueState,
|
||||
UserIDs: issueAssignees,
|
||||
DueDate: issueDueDate,
|
||||
}
|
||||
|
||||
payloadBytes, err := json.Marshal([]Payload{payload})
|
||||
@ -88,6 +93,7 @@ func main() {
|
||||
os.Exit(1)
|
||||
}
|
||||
req.Header.Set("Content-Type", "application/json")
|
||||
req.Header.Set("Authorization", "Bearer "+authToken)
|
||||
|
||||
resp, err := http.DefaultClient.Do(req)
|
||||
if err != nil {
|
||||
@ -97,6 +103,9 @@ func main() {
|
||||
defer resp.Body.Close()
|
||||
body, _ := io.ReadAll(resp.Body)
|
||||
logger.Printf("Status: %s\nResponse: %s\n", resp.Status, string(body))
|
||||
if resp.StatusCode == http.StatusUnauthorized || resp.StatusCode == http.StatusForbidden {
|
||||
logger.Println("Authentication to FastAPI failed. Check FASTAPI token.")
|
||||
}
|
||||
if resp.StatusCode < 200 || resp.StatusCode >= 300 {
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user