jira_api_v2/models/
webhook_details.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct WebhookDetails {
17 #[serde(rename = "jqlFilter")]
19 pub jql_filter: String,
20 #[serde(rename = "events")]
22 pub events: Vec<Events>,
23}
24
25impl WebhookDetails {
26 pub fn new(jql_filter: String, events: Vec<Events>) -> WebhookDetails {
28 WebhookDetails {
29 jql_filter,
30 events,
31 }
32 }
33}
34#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
36pub enum Events {
37 #[serde(rename = "jira:issue_created")]
38 JiraColonIssueCreated,
39 #[serde(rename = "jira:issue_updated")]
40 JiraColonIssueUpdated,
41 #[serde(rename = "jira:issue_deleted")]
42 JiraColonIssueDeleted,
43 #[serde(rename = "comment_created")]
44 CommentCreated,
45 #[serde(rename = "comment_updated")]
46 CommentUpdated,
47 #[serde(rename = "comment_deleted")]
48 CommentDeleted,
49 #[serde(rename = "issue_property_set")]
50 IssuePropertySet,
51 #[serde(rename = "issue_property_deleted")]
52 IssuePropertyDeleted,
53}
54
55impl Default for Events {
56 fn default() -> Events {
57 Self::JiraColonIssueCreated
58 }
59}
60