Capture additional fields on the list command

This commit is contained in:
Daan Boerlage 2025-01-21 17:40:48 +01:00
parent f0aaf0a7e7
commit a3ba3cd511
Signed by: daan
GPG key ID: FCE070E1E4956606

View file

@ -2,17 +2,25 @@ use crate::jira_config::JiraConfig;
use reqwest::header::{HeaderMap, HeaderValue, CONTENT_TYPE};
use serde::{Deserialize, Serialize};
#[derive(Deserialize, Serialize)]
#[derive(Debug, Deserialize, Serialize)]
struct JiraIssue {
key: String,
#[serde(rename = "self")]
href: String,
fields: JiraIssueResponseFields,
}
#[derive(Deserialize, Serialize)]
#[derive(Debug, Deserialize, Serialize)]
struct JiraIssueResponseFields {
summary: String,
status: Status,
created: String,
created: chrono::DateTime<chrono::Utc>,
priority: Priority,
assignee: Person,
reporter: Person,
creator: Person,
#[serde(rename = "duedate")]
due_date: Option<chrono::NaiveDate>,
}
#[derive(Deserialize)]
@ -21,11 +29,29 @@ struct JiraSearchResponse {
total: u32,
}
#[derive(Deserialize, Serialize)]
#[derive(Debug, Deserialize, Serialize)]
struct Status {
name: String,
}
#[derive(Debug, Deserialize, Serialize)]
struct Priority {
name: String,
id: String,
}
#[derive(Debug, Deserialize, Serialize)]
struct Person {
#[serde(rename = "self")]
href: String,
#[serde(rename = "displayName")]
display_name: String,
#[serde(rename = "accountId")]
account_id: String,
#[serde(rename = "emailAddress")]
email_address: String,
}
async fn list_jira_issues(
config: &JiraConfig,
) -> Result<JiraSearchResponse, Box<dyn std::error::Error>> {