Threading von Jira-Benachrichtigungs-E-Mails in Outlook 2010

2633
kirillka

Wenn ich in Outlook 2010 Jira 4.2-Benachrichtigungs-E-Mails erhalte, werden sie nicht als Thread angezeigt. Natürlich sendet Jira standardmäßig E-Mails mit folgenden Betreffs: [JIRA] Created: (LTST-4) improve documentation, [JIRA] Assigned: (LTST-4) improve documentation. Ich habe online gelesen, dass Outlook 2010 nur das Feld "Betreff" für den Thread verwendet. Wenn Sie also die oben genannten Betreffs angeben, werden diese E-Mails NICHT als Thread verwendet, was tatsächlich der Fall ist. Beachten Sie, dass Google Mail beispielsweise nicht dieselben E-Mails fädelt (Apple iPhone 4 Mail-App tut dies jedoch tatsächlich!).

So gezwickt ich meinen Jira - Setup das ‚Aktion ausgeführt‘ Verb aus dem Subjekt zu entfernen, und jetzt die E - Mail - Themen alle so aussehen: [JIRA] (LTST-4) improve documentation. Und Google Mail fädelt sie glücklich ein. Aber Outlook 2010 tut es immer noch nicht!

Kann ich in Bezug auf die Jira-Konfiguration oder die Outlook-Konfiguration etwas tun, um Outlook 2010 dazu zu zwingen, Jira-Benachrichtigungs-E-Mails zu fädeln?

Danke, Kirill

9

3 Antworten auf die Frage

5
Vladimir Alexiev

Das folgende VBA-Makro hinterlässt nur eine Nachricht pro Jira-Problem in Ihrem Posteingang. Außerdem werden Meldungen zu behobenen / geschlossenen Problemen gelöscht, da ich mich nicht mit diesen befassen muss

' Tools>References: Microsoft VBScript Regular Expressions 5.5, Microsoft Scripting Runtime  Sub RemoveDuplicateJiraKeys() Dim i As Object Dim re As New RegExp Dim m As MatchCollection Dim d As New Dictionary Dim act As String ' Commented, Resolved, Updated... Dim key As String ' e.g. RS-123  re.Pattern = "\[JIRA\] (.*?): \((.*?)\)" For Each i In Session.GetDefaultFolder(olFolderInbox).Items ' luckily the items come in chronological order Set m = re.Execute(i.Subject) If m.Count >= 1 Then act = m(0).SubMatches(0) key = m(0).SubMatches(1) If d.Exists(key) Then d(key).Delete: d.Remove (key) ' same Jira key but older If act = "Resolved" Or act = "Closed" Then i.Delete Else d.Add key, i End If Next i End Sub 
1
Justin

Outlook 2010 ordnet Unterhaltungen (Threading) nur nach Betreff an. Wenn Sie die "Aktion" aus dem E-Mail-Betreff in JIRA entfernen, sollten Sie sie in Ihrem Outlook-Posteingang zusammenhalten. Es scheint, als müssten Sie Ihre Outlook-Einstellungen überprüfen. Mehr Infos hier .

Ja das ist, was ich dachte. Passiert leider nicht Nachrichten mit dem gleichen genauen Betreff werden NICHT zusammengefügt. Ich habe auch den Link gesehen, den Sie erwähnen, dort nichts relevantes. kirillka vor 13 Jahren 1
0
Deanna

Ich habe eine Kombination des anderen Antwortpostens und dieses Artikels verwendet, um ein eigenes Makro zu schreiben, das die Redemption-Bibliothek zum Zusammenführen der Konversationen verwendet.

Dadurch wird der aktuelle Ordner durchsucht, Jira-E-Mails werden ausgewählt und der Problemschlüssel aus dem Betreff extrahiert. Wenn es vor, dass die Schlüssel nicht gesehen hat, speichert er das Gespräch Index in einer Sammlung zu diesem Thema Schlüssel basiert, und wenn es hat es zuvor gesehen, aktualisiert er die E - Mail mit dem gespeicherten Gespräch Index.

Dim ConversationIndexes As New Collection  Sub GroupJira() Dim MapiNamespace As Object Dim RdoSession As Object  Dim Item As Object Dim RdoItem As Object  Dim ConversationKey As String Dim ConversationIndex As String  ' Get all the required handles Set MapiNamespace = Outlook.GetNamespace("MAPI") MapiNamespace.Logon Set RdoSession = CreateObject("Redemption.RDOSession") RdoSession.MAPIOBJECT = MapiNamespace.MAPIOBJECT  'Setup some subject patterns to extract the issue key Dim Matches As MatchCollection Dim UpdateSubjectPattern As New RegExp UpdateSubjectPattern.Pattern = "\[JIRA\] \(([A-Z]+-[0-9]+)\) .*" Dim MentionedSubjectPattern As New RegExp MentionedSubjectPattern.Pattern = "\[JIRA\] .* mentioned you on ([A-Z]+-[0-9]+) \(JIRA\)"  For Each Item In Outlook.ActiveExplorer.CurrentFolder.Items If TypeOf Item Is MailItem Then If Left(Item.Subject, 7) = "[JIRA] " Then ' Get a key for this conversation, opic for now ConversationKey = Item.ConversationTopic Set Matches = UpdateSubjectPattern.Execute(Item.Subject) If Matches.Count >= 1 Then ConversationKey = Matches(0).SubMatches(0) Set Matches = MentionedSubjectPattern.Execute(Item.Subject) If Matches.Count >= 1 Then ConversationKey = Matches(0).SubMatches(0)  ' Get any saved indexes ConversationIndex = "" On Error Resume Next ConversationIndex = ConversationIndexes.Item(ConversationKey) On Error GoTo 0  If ConversationIndex = "" Then ' Save this index if not seen yet ConversationIndexes.Add Item.ConversationIndex, ConversationKey ElseIf Item.ConversationIndex <> ConversationIndex Then ' Set the item's index if it has Set RdoItem = RdoSession.GetMessageFromID(Item.EntryID, Item.Parent.StoreID) RdoItem.ConversationIndex = ConversationIndex RdoItem.Save End If End If End If Next Item End Sub 

Dies erfordert die folgenden Bibliotheken:

  • Einlösungsbibliothek für vollständigen RDO-Zugriff, erforderlich zum Festlegen des Konversationsindex (für die Registrierung ist keine Erhöhung erforderlich)
  • Ein Verweis auf die Microsoft VBScript Regular Expressions 5.5Bibliothek, um Ausgabeschlüssel aus den E-Mail-Betreffs zu extrahieren.

Oh, und Sie müssen auch Ihre Makrosicherheitseinstellungen ändern, um sie auszuführen.