Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
B
blog
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Container Registry
Model registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Eduardo Trujillo
blog
Commits
9b042624
Unverified
Commit
9b042624
authored
8 years ago
by
Eduardo Trujillo
Browse files
Options
Downloads
Patches
Plain Diff
feat(posts): Add post on Phabulous 3
parent
d7ebfa21
No related branches found
Branches containing commit
No related tags found
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
images/posts/phabulous3.png
+0
-0
0 additions, 0 deletions
images/posts/phabulous3.png
posts/2017-02-05-phabulous-3.md
+67
-0
67 additions, 0 deletions
posts/2017-02-05-phabulous-3.md
with
67 additions
and
0 deletions
images/posts/phabulous3.png
0 → 100644
+
0
−
0
View file @
9b042624
223 KiB
This diff is collapsed.
Click to expand it.
posts/2017-02-05-phabulous-3.md
0 → 100644
+
67
−
0
View file @
9b042624
---
title
:
Phabulous
3
date
:
Sun Mar 05 20:36:38 UTC
2017
author
:
Eduardo Trujillo
uuid
:
1b952356-47e2-40aa-a689-4604819d38ae
---
**Phabulous**
is a server written in Go capable of receiving event
notifications from
[
Phabricator
][
phab
]
, a suite of developer tools and forward
them to a
[
Slack
][
slack
]
community, while also providing additional
functionality through a bot interface.

The project started while I was working at
[
Seller Labs
][
sl
]
and Phabricator
was their repository hosting tool. We mainly wanted to have better integration
with Slack, just like GitHub and Bitbucket had.
Over time, Seller Labs migrated to GitHub and other tools, so development on
Phabulous slowed down a bit since I wasn't using it on a daily basis any more.
However, this does not mean the project is dead, I've quietly been finding some
spare time to work on improving Phabulous, and it has received a few
contributions through pull requests.
I recently landed a large refactor of the project which should make future
contribution and extensions easier. I've reorganized how the code is structured
to make better use of Go interfaces.
In a perfect world, I would have enough time to write an extensive test suite
for the project, but given my limited time, I've only been able to cover
certain simple part of the project. The transition to interfaces has allowed me
to improve the coverage of the project since dependencies can now be easily
mocked.
Another side effect that came naturally from this transition was the increased
modularity of the code. Want to implement a connector for a different chat
protocol? Or do you want to add a new command? Just implement the interfaces.
While still technically in beta, I'm happy to say that Phabulous has reached
v3.0.0. With this new release, you can expect the following new features:
-
**Experimental support for IRC**
: The bot is now able to connect and work
over IRC networks. Functionality is almost on-par with what is available on
Slack.
-
**Modules:**
Commands and functionality are now split into modules. You can
enable/disable them in the configuration file, as well as implementing your
own modules when forking the project.
-
**Improved integration between Slack and Phabricator:**
Phabricator added a
new authentication provider that allows you to sign in with your Slack
account. Phabulous makes use of this new integration with a new extension.
This extension allows the bot to lookup Slack account IDs over the Conduit
API, which means the bot can properly mention users on the chat by using
their Slack username rather than their Phabricator username.
-
**Summon improvements:**
The summon command can now expand project members if
a project is assigned as a reviewer of a revision. Additionally, the lookup
algorithm has been optimized to perform less requests on the Conduit API.
-
Many other small fixes and improvements.
You can get the latest version of the bot by using
[
Docker
][
1
]
or by
downloading the latest release on
[
GitHub
][
2
]
.
[
phab
]:
https://www.phacility.com
[
sl
]:
https://sellerlabs.com
[
slack
]:
https://slack.com
[
1
]:
https://github.com/etcinit/phabulous/wiki/Docker
[
2
]:
https://github.com/etcinit/phabulous/releases
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment