packages feed

atlassian-connect-descriptor 0.4.6.0 → 0.4.7.0

raw patch · 4 files changed

+59/−1 lines, 4 filesPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

API changes (from Hackage documentation)

+ Data.Connect.Descriptor: JIRAIssueContent :: Text -> I18nText -> I18nText -> IconDetails -> JIRAIssueContentTarget -> [Condition] -> JIRAIssueContent
+ Data.Connect.Descriptor: JIRAIssueContentTargetWebPanel :: Text -> JIRAIssueContentTarget
+ Data.Connect.Descriptor: [jicConditions] :: JIRAIssueContent -> [Condition]
+ Data.Connect.Descriptor: [jicIcon] :: JIRAIssueContent -> IconDetails
+ Data.Connect.Descriptor: [jicKey] :: JIRAIssueContent -> Text
+ Data.Connect.Descriptor: [jicName] :: JIRAIssueContent -> I18nText
+ Data.Connect.Descriptor: [jicTarget] :: JIRAIssueContent -> JIRAIssueContentTarget
+ Data.Connect.Descriptor: [jicTooltip] :: JIRAIssueContent -> I18nText
+ Data.Connect.Descriptor: [jictwpUrl] :: JIRAIssueContentTarget -> Text
+ Data.Connect.Descriptor: [jmJiraIssueContents] :: JIRAModules -> Maybe [JIRAIssueContent]
+ Data.Connect.Descriptor: data JIRAIssueContent
+ Data.Connect.Descriptor: data JIRAIssueContentTarget
- Data.Connect.Descriptor: JIRAModules :: Maybe [JIRAWebSection] -> Maybe [WebItem] -> Maybe [WebPanel] -> Maybe [JIRAPage] -> Maybe [JIRAPage] -> Maybe JIRAPage -> Maybe [JIRASearchRequestView] -> Maybe [JIRAGenericTabPanel] -> Maybe [JIRAGenericTabPanel] -> Maybe [JIRAGenericTabPanel] -> Maybe [JIRAProjectAdminTabPanel] -> Maybe [JIRAGenericTabPanel] -> Maybe [JIRAGenericTabPanel] -> Maybe [JIRAIssueGlance] -> Maybe [JIRAReport] -> Maybe [Webhook] -> Maybe [JIRAWorkflowPostFunction] -> Maybe [JIRAEntityProperties] -> JIRAModules
+ Data.Connect.Descriptor: JIRAModules :: Maybe [JIRAWebSection] -> Maybe [WebItem] -> Maybe [WebPanel] -> Maybe [JIRAPage] -> Maybe [JIRAPage] -> Maybe JIRAPage -> Maybe [JIRASearchRequestView] -> Maybe [JIRAGenericTabPanel] -> Maybe [JIRAGenericTabPanel] -> Maybe [JIRAGenericTabPanel] -> Maybe [JIRAProjectAdminTabPanel] -> Maybe [JIRAGenericTabPanel] -> Maybe [JIRAGenericTabPanel] -> Maybe [JIRAIssueContent] -> Maybe [JIRAIssueGlance] -> Maybe [JIRAReport] -> Maybe [Webhook] -> Maybe [JIRAWorkflowPostFunction] -> Maybe [JIRAEntityProperties] -> JIRAModules

Files

atlassian-connect-descriptor.cabal view
@@ -10,7 +10,7 @@ -- PVP summary:      +-+------- breaking API changes --                   | | +----- non-breaking API additions --                   | | | +--- code changes with no API change-version:             0.4.6.0+version:             0.4.7.0  -- A short (one-line) description of the package. synopsis:            Code that helps you create a valid Atlassian Connect Descriptor.
src/Data/Connect/Descriptor.hs view
@@ -128,6 +128,8 @@    , JIRAProjectAdminTabPanel(..)    -- ** JIRA Specific Modules    , JIRASearchRequestView(..)+   , JIRAIssueContent(..)+   , JIRAIssueContentTarget(..)    , JIRAIssueGlance(..)    , JIRAIssueGlanceContent(..)    , JIRAIssueGlanceTarget(..)
src/Data/Connect/Modules.hs view
@@ -16,6 +16,8 @@    , JIRAGenericTabPanel(..)    , JIRAProjectAdminTabPanel(..)    , JIRASearchRequestView(..)+   , JIRAIssueContent(..)+   , JIRAIssueContentTarget(..)    , JIRAIssueGlance(..)    , JIRAIssueGlanceContent(..)    , JIRAIssueGlanceTarget(..)@@ -117,6 +119,7 @@    , jmJiraProjectAdminTabPanels :: Maybe [JIRAProjectAdminTabPanel]    , jmJiraIssueTabPanels        :: Maybe [JIRAGenericTabPanel]    , jmJiraComponentTabPanels    :: Maybe [JIRAGenericTabPanel]+   , jmJiraIssueContents         :: Maybe [JIRAIssueContent]    , jmJiraIssueGlances          :: Maybe [JIRAIssueGlance]    , jmJiraReports               :: Maybe [JIRAReport]    , jmWebhooks                  :: Maybe [Webhook]@@ -163,6 +166,7 @@       Nothing       Nothing       Nothing+      Nothing  -- | Empty Confluence Modules; useful when you only want to define a few modules via Haskell record syntax. emptyConfluenceModules :: ConfluenceModules@@ -411,6 +415,32 @@    toJSON = genericToJSON baseOptions       { fieldLabelModifier = stripFieldNamePrefix "jiraPage"       }++-- | This module adds a content button to the context area of the new Jira issue view.+-- Content can have an icon, tooltip, and target.+data JIRAIssueContent = JIRAIssueContent+   { jicKey             :: T.Text -- ^ The add-on unique key for this module.+   , jicName            :: I18nText -- ^ The name of this JIRA Issue Content.+   , jicTooltip         :: I18nText -- ^ The tooltip for this JIRA Issue Content.+   , jicIcon            :: IconDetails -- ^ The icon for this JIRA Issue Content.+   , jicTarget          :: JIRAIssueContentTarget -- ^ Specifies the target action when clicking on the content.+   , jicConditions      :: [Condition] -- ^ The conditions under which the content will be shown.+   } deriving (Show, Generic)++instance ToJSON JIRAIssueContent where+   toJSON = genericToJSON baseOptions+      { fieldLabelModifier = stripFieldNamePrefix "jic"+      }++data JIRAIssueContentTarget = JIRAIssueContentTargetWebPanel+   { jictwpUrl :: T.Text -- ^ The url to the content that will be loaded in the glance iframe.+   } deriving (Show)++instance ToJSON JIRAIssueContentTarget where+   toJSON wp@(JIRAIssueContentTargetWebPanel {}) = object+      [ "type" .= T.pack "web_panel"+      , "url" .= (jictwpUrl wp)+      ]  -- | This module adds a glance to the context area of the new Jira issue view. -- Glances can have an icon, content, and status.
tests/ModulesTest.hs view
@@ -15,6 +15,7 @@     , testGeneralPageCorrectFormat     , testEmptyModulesAreNotShown     , testIssueGlanceCorrectFormat+    , testIssueContentCorrectFormat     ]  testIssueGlanceCorrectFormat :: Test@@ -39,6 +40,31 @@     (getString =<< get "url" =<< get "target" jv) `isEqualTo` "/panel_url"     (getString =<< get "type" =<< get "content" jv) `isEqualTo` "label"     (getString =<< get "value" =<< get "label" =<< get "content" jv) `isEqualTo` "my label"+    (get "url" =<< get "icon" jv) `isEqualTo` "my_icon.svg"+    (getNumber =<< get "width" =<< get "icon" jv) `isEqualTo` 24+    (getNumber =<< get "height" =<< get "icon" jv) `isEqualTo` 25++testIssueContentCorrectFormat :: Test+testIssueContentCorrectFormat = TestCase $ do+    let jic = JIRAIssueContent+                { jicKey = "jira-issue-content-module"+                , jicName = simpleText "My content"+                , jicTooltip = simpleText "My tooltip"+                , jicIcon = IconDetails+                    { iconUrl = "my_icon.svg"+                    , iconWidth = Just 24+                    , iconHeight = Just 25+                    }+                , jicTarget = JIRAIssueContentTargetWebPanel "/panel_url"+                , jicConditions = []+                }+    let jv = toJSON jic+    isObject jv @? "Expected the issue glance to be an object"+    (getString =<< get "key" jv) `isEqualTo` "jira-issue-content-module"+    (getString =<< get "value" =<< get "name" jv) `isEqualTo` "My content"+    (getString =<< get "value" =<< get "tooltip" jv) `isEqualTo` "My tooltip"+    (getString =<< get "type" =<< get "target" jv) `isEqualTo` "web_panel"+    (getString =<< get "url" =<< get "target" jv) `isEqualTo` "/panel_url"     (get "url" =<< get "icon" jv) `isEqualTo` "my_icon.svg"     (getNumber =<< get "width" =<< get "icon" jv) `isEqualTo` 24     (getNumber =<< get "height" =<< get "icon" jv) `isEqualTo` 25