Skype4COM
Нынче с установкой Skype на ваш компьютер попадает эта библиотека (уже зарегистрированная через regsvr32 и лежит, как правило, в C:\Program Files (x86)\Common Files\Skype ). Всё, что нужно сделать, чтобы начать работать со Skype программно — это создать проект и на вкладке Add reference\COM найти «Skype4COM Type Library 1.0” и добавить. Далее следует код:
Skype = new Skype(); Skype.Attach(6, true); //здесь вы должы в открытом skype разрешить выполнение Skype.SendMessage(“%skype.name%”, “hello!”);
CC.NET Plugin
Для того, чтобы написать плагин, достаточно всего лишь зареференсить несколько сборок
и отнаследоваться от TaskBase (либо реализовать ITask).
[ReflectorType("skype")] public class SkypeTask : TaskBase { [ReflectorProperty("recipients")] public string Recipients { get; set; } [ReflectorProperty("message")] public string Message { get; set; } private static readonly Skype Skype = null; static SkypeTask() { Skype = new Skype(); Skype.Attach(6); } protected override bool Execute(IIntegrationResult result) { Skype = new Skype(); Skype.Attach(6, true); if (result.Status == IntegrationStatus.Unknown) return false; result.BuildProgressInformation.SignalStartRunTask(!string.IsNullOrEmpty(Description) ? Description : "Skyping ..."); foreach (var recipient in Recipients.Split(new[] { ";" }, StringSplitOptions.RemoveEmptyEntries)) { if (!string.IsNullOrEmpty(Message)) { Skype.SendMessage(recipient, Message); } } return true; } }
Это пример самой простой реализации задачи (не забудьте на билд-сервере поставить скайп, завести отдельную учетку и добавить в контакты нужных людей).
После сборки плагина (я собирал с TargetFramework=3.5) его необходимо положить в папку с плагинами, которая по-умолчанию находится в папке server и перезапустить сам сервис CC.NET.
Теперь откроем конфигурацию нашего проекта и добавим такую строку
<skype Message=”Hi, here is a new build of ${Project.Name} ${Project.Version} that can be found here: ${Build.Path}” Recipients=”user1;user2;user3;”/>
И при следующей сборке билда мы получим уведомление по Skype с ссылкой на сам билд (это может быть FTP или etc).
Заключение
Вот так быстро можно написать плагины для CC.NET, больше информации о том, как расширить CC.NET можно найти на соответствующем ресурсе. Для примера, я хотел ещё реализовать посылку самого билда через Skype, но к сожалению не нашёл как (можно только инициировать открытие диалога выбора файла).
PS: Если есть интерес — могу более подробно рассказать о том, как настроить CruiseControl.NET + Git + Jira + тестирование на эмуляторе (для Windows Phone).
ссылка на оригинал статьи http://habrahabr.ru/post/166809/
Добавить комментарий