Потоковая электронная почта уведомлений Jira в Outlook 2010

2419
kirillka

Когда я получаю электронные письма с уведомлениями Jira 4.2 в Outlook 2010, они не получают потоков. Конечно, по умолчанию Jira отправляет сообщения с такими темами, как это: [JIRA] Created: (LTST-4) improve documentation, [JIRA] Assigned: (LTST-4) improve documentation. Я читал в Интернете, что Outlook 2010 использует только поле «Тема» для потока, поэтому наличие указанных выше тем приведет к тому, что эти электронные письма НЕ будут встраиваться, что действительно так. Обратите внимание, что, например, Gmail не обрабатывает те же письма (но на самом деле это делает почтовое приложение Apple iPhone 4!).

Так что я подправил мои настройки Jira, чтобы удалить «действие, совершаемые» глагол от субъекта и теперь субъекты электронной почты все выглядят следующим образом : [JIRA] (LTST-4) improve documentation. И Gmail с удовольствием их связывает. Но Outlook 2010 по-прежнему нет!

Могу ли я что-то сделать с точки зрения конфигурации Jira или Outlook, чтобы заставить Outlook 2010 направлять электронные письма с уведомлениями Jira?

Спасибо кирилл

9

3 ответа на вопрос

5
Vladimir Alexiev

Следующий макрос VBA оставляет только 1 сообщение на проблему Jira в папке «Входящие». Он также удаляет сообщения о разрешенных / закрытых проблемах, так как мне не нужно смотреть на эти

' 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 организует разговоры (потоки) только по темам. Удаление «действия» из темы электронной почты в JIRA должно сохранять их вместе в почтовом ящике Outlook. Похоже, вам может понадобиться проверить настройки Outlook. Более подробная информация доступна здесь .

Да, я так и думал. Не бывает, к сожалению. Сообщения с одинаковой темой НЕ объединяются. Я также видел ссылку, которую вы упомянули, там ничего не актуально. kirillka 13 лет назад 1
0
Deanna

Я использовал комбинацию из другого поста с ответами и этой статьи, чтобы написать свой собственный макрос, который использует библиотеку Redemption для объединения бесед.

При этом сканируется текущая папка, выбираются все электронные письма Jira, извлекается ключ вопроса из темы. Если это не видно, что ключ перед тем, он сохраняет индекс разговора в коллекции на основе ключа выпуска, и если он уже видел его раньше, он обновляет электронную почту с сохраненным индексом разговора.

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 

Для этого требуются следующие библиотеки:

  • Библиотека выкупа для полного доступа к RDO, необходимая для установки индекса разговора (для его регистрации не требуется повышения прав)
  • Ссылка на Microsoft VBScript Regular Expressions 5.5библиотеку для извлечения ключей выдачи из почтовых тем.

О, и вам также нужно отключить настройки безопасности макросов, чтобы запустить его.

Похожие вопросы