                                                                    (raise! owner [:saved-project-settings {:project-id project-id
                                                                                                            :merge-paths [jira-input-path]}]))}))}]})))]))]])))))
 
+(defn jira-basic-modal
+  [{:keys [project close-fn track-fn jira-input-path]} owner]
+  (let [project-id (project-model/id project)
+        inputs (inputs/get-inputs-from-app-state owner)
+        credentials (or (:jira inputs)
+                        (:jira project))]
+    (modal/modal-dialog
+           {:title "Add JIRA credentials"
+            :body (html
+                   [:div
+                    [:p "Configure JIRA to create issues from CircleCI’s build page."]
+                    (form/form {}
+                               (om/build form/text-field {:label "JIRA username"
+                                                          :value (:username credentials)
+                                                          :on-change #(utils/edit-input owner (jira-input-path :username) %)})
+                               (om/build form/text-field {:label "JIRA password"
+                                                          :password? true
+                                                          :value (:password credentials)
+                                                          :on-change #(utils/edit-input owner (jira-input-path :password) %)})
+                               (om/build form/text-field {:label "JIRA base hostname"
+                                                          :value (:base_url credentials)
+                                                          :on-change #(utils/edit-input owner (jira-input-path :base_url) %)}))])
+            :actions [(button/button {:on-click close-fn} "Cancel")
+                      (button/managed-button
+                       {:failed-text "Failed"
+                        :success-text "Saved"
+                        :loading-text "Saving..."
+                        :kind :primary
+                        :on-click (fn [_]
+                                    (raise! owner
+                                            [:saved-project-settings {:project-id project-id
+                                                                      :merge-paths [[:jira]]
+                                                                      :on-success close-fn}])
+                                    (track-fn :save-clicked))}
+                       "Save")]
+            :close-fn close-fn})))
+
 (defmethod jira-integration :basic [project-data owner]
   (reify
     om/IInitState

           [:legend "AWS keys for " (vcs-url/project-name (:vcs_url project))]
           (om/build aws-keys-form project-data)]])))))

(defmulti jira-integration (fn [project-data _]
                             (if (or (config/enterprise?)
                                     (get-in project-data [:project :jira :username]))

              [:p
               "Install the CircleCI JIRA add-on from the Atlassian Marketplace and add the token here."]
              (when show-modal?
                (letfn [(close-fn [_]
                          (om/set-state! owner :show-modal? false)
                          (track-event :cancel-clicked))]
                  (jira-connect-modal {:project project
                                       :close-fn close-fn
                                       :track-fn track-event
                                       :jira-input-path jira-input-path}
                                      owner)))
              (when-let [credentials (:jira project)]
                (letfn [(linkify [url]
                          (html
