requilence / integram Goto Github PK
View Code? Open in Web Editor NEWIntegrate Telegram into your workflow – Trello, Gitlab, Bitbucket and other bots
Home Page: https://integram.org
License: GNU General Public License v3.0
Integrate Telegram into your workflow – Trello, Gitlab, Bitbucket and other bots
Home Page: https://integram.org
License: GNU General Public License v3.0
No pipeline status notifications
Hi, how i can create one Gitlab bot per repository and assign each a group?
Thanks!
Regards.
Hello!
First of all, thanks for development and open sourcing Integram. It's extremely useful.
But,
today I've noticed that Trello messages not handled. So the messages were marked as read, but
without any actions from @trello_bot.
I was trying to restart the @trello_bot and Integram itself but after Integram restart it didn't even suggest me the integration list.
Trying to open Integram via web version of Telegram got the message "One of the params is missing or invalid." with such technical details
Method: messages.sendMessage Url: N/A Result: {"_":"rpc_error","error_code":400,"error_message":"YOU_BLOCKED_USER"}
Didn't found message YOU_BLOCKED_USER in Telegram API docs.
Please, advise how can I debug such case on my side.
Thanks you in advance.
Since we use the the new gitlab bot issues are only displayed with updated by username
. There is no reference to this issue. Is that right?
.
The locally hosted version of bitbucket does not have a 'Webhooks' section in the repository settings. It only has a 'Hooks' section which is very limited, allowing only specify plugins to offer outgoing webhooks here. The plugin
POST service webhook for Bitbucket Server
by Atlassian and documented here seems the only one offering to send webhooks. However nothing happens when pushing to the branch.
Please integrate the self-hosted bitbucket server into integram.
When I try to execute go get -v -u github.com/requilence/integram
-- I am getting error:
src/github.com/requilence/integram/bots.go:84: undefined: tgbotapi.MessageEntity
src/github.com/requilence/integram/bots.go:94: undefined: tgbotapi.Venue
In bots.go import looks like:
import (
...
tg "gopkg.in/telegram-bot-api.v3"
)
I believe that this types was added in v4.0.0 of tgbotapi (commit: go-telegram-bot-api/telegram-bot-api@18510df)
Is there is any way to make bot work in channel, instead of group?
FYI: https://github.com/garyburd/redigo
instead of https://github.com/garyburd/redigo/redis
Hi.
Did you stop maintenance of this really nice project?
Can't use any of your bots as well as your site. Can't reach it.
it was very useful in our telegram channel.
Thanks for your awesome project.
I added git project to telegram.
I want to select notification type, I choose issue and comment.
But Integram notify to me include my activity (If I made issue, send to message to me. but I already knew my activity)
How to prevent to notify my activity?
Been stuck for 2 days, couldnt figure out a way to create a keyboardmarkup after user input /start, pls help thanks!
Need to return ability to filter notifications by list and member
Hi. We use your tool and that's cool, but for one of the projects we have this config:
test_jre7:
<<: *test_definition
image: openjdk:7-jdk-alpine
test_jre8:
<<: *test_definition
image: openjdk:8-jdk-alpine
# Allow failure, until https://github.com/docker-library/openjdk/issues/101#issuecomment-312510546
test_jre9:
<<: *test_definition
image: openjdk:9-jdk
allow_failure: true
As you can see, task for jre9
have allow_failure: true
, because some Java 9 bug (not ours, honestly). But the bot continues to send a notification that this task has been failed:
If this is possible, please, add an option or enable it by default to do not receive such notifications for suppressed tasks.
The title is very descriptive. Currently the comments in merge requests are not forwarded by Gitlab bot. This comments are present in the RSS feed. Please, could you address it?
@requilence it has been working perfectly for last 7 days, but today issue #22 turned back.
I've noticed that @trello_bot didn't reply to me. Repeat of the command or perform other command doesn't get a result.
If I try to restart Integram, it doesn't react to any commands after Start pressed.
Please, advise me and feel free to request my help to investigate the issue.
Thanks in advance.
yo
i cant integrate integram with bitbucket
pushing to /start in integram he is redirect me to bitbucket and after that
he is giving me link for adding in the webhooks to setting
i'm added, saving, and nothing change
whats next i musted make, help please??
It would be extremly helpful if the Gitlab bot could be configured to just notify on failed builds only.
The relevant field BuildStatus
is already checked here https://github.com/Requilence/integram/blob/master/services/gitlab/gitlab.go#L738
One would mainly need to add a command that allows to switch between displaying all builds and failed builds only.
bullhorn_bot tells that it can handle a Slack-compatible webhooks. Does it mean that it follows the Slack message formatting? I tried to format messages like here https://api.slack.com/docs/message-formatting and it seems that this bot doesn't understand it.
Is there a way to format messages like other Integram bots do?
Hi.
Thanks for useful bots.
But I have a problem. I want to use Gitlab bot, so I add him and he say Hi to me and provide a link for web hooks. Then I try /settings command, everything work's fine for a while.
But after some time all of two commands stop working. I can spam bot with my /start or /settings commands, but bot stays silent.
Instead of it's silent behavior, notifications from Gitlab works well.
Back in the days of traditional integram, I used to hook a whole organization to the bot in our telegram group. Could you please consider adding the same feature to the current GitHub bot?
You should look at the bot @githubbot and see how it displays commit and issue messages.
I am using Integram with Bitbucket. The main problem is that if you provide a direct url, telegram renders it along with a giant profile picture on mobile devices. This quickly floods development groups.
I think implementing an output format like the one above shouldn't be difficult at all. If you point me in the right direction I could even make a pull request for you. Thanks!
Edit: Took a look at the code, the changes should be made around here: https://github.com/Requilence/integram/blob/master/services/bitbucket/webhook.go#L340
Hello,
I don't know if you were planning on discontinuing the integram.org service now that it's opensource (I could self host, I'm just lazy :) )
Is it expected to be down?
Is it possible to create and publish this as a docker image on dockerhub so other projects can use it?
Hi, I wonder how to create comment or attach file via telegram? Is this doable?
thanks
Looks like gitlab's build notifications is not working. Push notifications is working fine, but i'm not receiving anything about build status.
I have a few questions about using integram.
What Redirect URI should I use for Gitlab CE, if I'm running integram in the same kubernetes cluster, as the Giltab CE, and integram is accessible to GitLab via FQDN like integram.default.svc.cluster.local
on port 80.
What Scopes should I set for Redirect URI? (Gitlab 9.3.5)
Could you please help me to get this working? Thanks in advance.
Support for Jira
Just recently started using Gitea, would love to have Integram support for it. I intend to work on this myself, but I wanted to create an issue here for reference, as per the wiki.
Hey guys,
Been looking into this and I couldn't find anything. It seems like I can approve the github bot to see the ORG, but I can't seem to integrated it with the BOT.
Any thoughts about a feature request?
Hi there
I have managed to get the bot up and running on an EC2 instance.
[GIN-debug] Listening and serving HTTP on :7000
INFO[0002] Start listening for updates bot ahleeTestbot
trello msg: start
When I trigger the bot with /start
I got redirected to this link
http://ec2-52-221-237-194.ap-southeast-1.compute.amazonaws.com/oauth1/skenwwcrlhd4w8k-
Where ec2-52-221-237-194.ap-southeast-1.compute.amazonaws.com
is my based url
However, the page can't be open.
found AuthTempToken:skenwwcrlhd4w8k-
DEBU[0013] beforeJob 865EKu0unycvVGOGba5q0dr9hqzk, poolID:02:95:d3:2d:b4:89_telegram, finished:0
DEBU[0014] Successfully sent, id=19
DEBU[0014] afterJob 865EKu0unycvVGOGba5q0dr9hqzk, poolID:02:95:d3:2d:b4:89_telegram, finished:1484981506
DEBU[0014] destroying the job 865EKu0unycvVGOGba5q0dr9hqzk finished(2017-01-21 06:51:46.732318468 +0000 UTC), status=executing, retriesLeft=23, nextTime=0
Am I missing something here?
Thank you @requilence :)
Hi integram team, we noticed that the bot have suddenly unable to push the data to Trello, any idea what had happen? I create a new card with the bot, but it stopped after i enter the name of the card with Trello bot, the integram doesn't Trigger it back for me to enter the rest of the information.
Support for GitBook
https://www.gitbook.com
There is a problem in the last step of board creation.. It just does nothing.
Thank you for the nice bots!
We add gitlab bot in group but all of the message is not necessary for everyone.
so i thinks it's very good feature that give the usernames of users to bot and bot mention the user if that pm related to that user.
You should write somewhere how to use this Horn in telegram. This bot allows you to pass user messages exactly to telegram. Because it's not definitely clear how to pass objects to text
param.
Should it be array, or string, or json, or whatever.
But after searching for one hour, I found that it should only string and nothing else.
$data = array("text" => "Hello telegram from github");
$data_string = json_encode($data);
$ch = curl_init('$YOUR_HORN_URL');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json',
'Content-Length: ' . strlen($data_string))
);
$result = curl_exec($ch);
curl_close($ch);
However if you will use
$data = array("text" => ["name" => "george", "surname" => "my"]);
...
It will never get to your horn in telegram. But the response for request will be 200, and you will be stopped with this unnecessary debugging.
Hi. Thanks for the awesome project. We've been using it for a couple of weeks as a self-hosted solution until the bot suddenly stopped doing anything. I've tried setting it up from scratch but with no luck. I will describe step by step what I've done:
@BotFather
and got a token999999999:zzzz9zzzzzzzz_zzz9zzz999zzzzzzzzz9z
ID=z9zz9zzz99z9999zzz99zz99z9z9z9999z9zz9zzzzzz99zz99z99zzzz9zz9z99
SECRET=99999999zz9zzzz9999999zz9999z9zzz99z99zzzzzzzz9z99z9zzz9z999zz99
docker-compose.yml
file:version: '3'
services:
mongo:
image: mongo:3.4.10
expose:
- "27017"
command: --smallfiles --port 27017
volumes:
- /data/db:/data/db
redis:
restart: always
command: redis-server --appendonly yes
image: redis:3.2
expose:
- "6379"
volumes:
- /data/redis:/data
integram:
image: integram/integram:latest
restart: always
volumes:
- /data/integram:/app/.conf
links:
- mongo
- redis
depends_on:
- mongo
- redis
expose:
- "7000"
environment:
- TZ=UTC
- INTEGRAM_MONGO_URL=mongodb://mongo:27017/integram
- INTEGRAM_REDIS_URL=redis:6379
- INTEGRAM_INSTANCE_MODE=multi-main
- INTEGRAM_CONFIG_DIR=/app/.conf
- INTEGRAM_PORT=7000
- INTEGRAM_BASE_URL=https://bot.example.org
gitlab:
image: integram/gitlab
restart: always
links:
- mongo
- redis
depends_on:
- integram
environment:
- TZ=UTC
- INTEGRAM_MONGO_URL=mongodb://mongo:27017/integram
- INTEGRAM_REDIS_URL=redis:6379
- INTEGRAM_INSTANCE_MODE=multi-service
- INTEGRAM_BASE_URL=https://bot.example.org
- GITLAB_BOT_TOKEN=999999999:zzzz9zzzzzzzz_zzz9zzz999zzzzzzzzz9z
- GITLAB_OAUTH_ID=z9zz9zzz99z9999zzz99zz99z9z9z9999z9zz9zzzzzz99zz99z99zzzz9zz9z99
- GITLAB_OAUTH_SECRET=99999999zz9zzzz9999999zz9999z9zzz99z99zzzzzzzz9z99z9zzz9z999zz99
caddy:
image: abiosoft/caddy
depends_on:
- integram
links:
- integram
environment:
- CADDYPATH=/etc/caddycerts
ports:
- "80:80"
- "443:443"
volumes:
- /var/www/Caddyfile:/etc/Caddyfile
- /var/www/.caddy:/etc/caddycerts
- /var/www/logs:/srv/logs
When I start the application, I see a bunch of successful logs:
$ docker-compose logs integram
integram_1 | [GIN] 2018/02/16 - 10:00:47 | 200 | 1.076604ms | 172.18.0.1 | GET /gitlab/healthcheck
integram_1 | [GIN] 2018/02/16 - 10:01:17 | 200 | 1.266329ms | 172.18.0.1 | GET /gitlab/healthcheck
integram_1 | [GIN] 2018/02/16 - 10:01:47 | 200 | 1.126916ms | 172.18.0.1 | GET /gitlab/healthcheck
$ docker-compose logs gitlab
gitlab_1 | time="2018-02-16T07:04:54Z" level=info msg="Integram mode: multi-service"
gitlab_1 | time="2018-02-16T07:04:54Z" level=info msg="MongoDB connected: mongodb://mongo:27017/integram"
gitlab_1 | time="2018-02-16T07:04:57Z" level=info msg="gitlab is performing on behalf of @exampleOrgGitlabBot"
gitlab_1 | [GIN-debug] [WARNING] Running in "debug" mode. Switch to "release" mode in production.
gitlab_1 | - using env: export GIN_MODE=release
gitlab_1 | - using code: gin.SetMode(gin.ReleaseMode)
gitlab_1 |
gitlab_1 | [GIN-debug] HEAD /:param1/:param2/:param3 --> github.com/integram-org/gitlab/vendor/github.com/requilence/integram.serviceHookHandler (5 handlers)
gitlab_1 | [GIN-debug] GET /:param1/:param2/:param3 --> github.com/integram-org/gitlab/vendor/github.com/requilence/integram.serviceHookHandler (5 handlers)
gitlab_1 | [GIN-debug] POST /:param1/:param2/:param3 --> github.com/integram-org/gitlab/vendor/github.com/requilence/integram.serviceHookHandler (5 handlers)
gitlab_1 | [GIN-debug] HEAD /:param1/:param2 --> github.com/integram-org/gitlab/vendor/github.com/requilence/integram.serviceHookHandler (5 handlers)
gitlab_1 | [GIN-debug] GET /:param1/:param2 --> github.com/integram-org/gitlab/vendor/github.com/requilence/integram.serviceHookHandler (5 handlers)
gitlab_1 | [GIN-debug] POST /:param1/:param2 --> github.com/integram-org/gitlab/vendor/github.com/requilence/integram.serviceHookHandler (5 handlers)
gitlab_1 | [GIN-debug] HEAD /:param1 --> github.com/integram-org/gitlab/vendor/github.com/requilence/integram.serviceHookHandler (5 handlers)
gitlab_1 | [GIN-debug] GET /:param1 --> github.com/integram-org/gitlab/vendor/github.com/requilence/integram.serviceHookHandler (5 handlers)
gitlab_1 | [GIN-debug] POST /:param1 --> github.com/integram-org/gitlab/vendor/github.com/requilence/integram.serviceHookHandler (5 handlers)
gitlab_1 | [GIN-debug] Listening and serving HTTP on :7000
gitlab_1 | time="2018-02-16T07:04:59Z" level=info msg="gitlab service: workers pool [1] started"
gitlab_1 | [GIN] 2018/02/16 - 07:05:13 | 500 | 1.167077ms | 172.18.0.1 | GET /gitlab/healthcheck
gitlab_1 | [GIN] 2018/02/16 - 07:05:43 | 200 | 616.633µs | 172.18.0.1 | GET /gitlab/healthcheck
gitlab_1 | [GIN] 2018/02/16 - 07:06:13 | 200 | 721.849µs | 172.18.0.1 | GET /gitlab/healthcheck
gitlab_1 | [GIN] 2018/02/16 - 07:06:43 | 200 | 557.026µs | 172.18.0.1 | GET /gitlab/healthcheck
Then I tried the following:
/start
/start@exampleOrgGitlabBot
But nothing seems to happen.
If I inspect mongo
, I can see that the bot is receiving the messages:
$ docker-compose exec mongo mongo integram
MongoDB shell version v3.4.10
connecting to: mongodb://127.0.0.1:27017/integram
MongoDB server version: 3.4.10
[...]
> db.messages.find().pretty()
{
"_id" : ObjectId("5a86aecd18880afb2c85c7fb"),
"msgid" : 4,
"botid" : 414731650,
"fromid" : 1431227,
"chatid" : 1431227,
"date" : ISODate("2018-02-16T10:13:33Z"),
"text" : "/start"
}
{
"_id" : ObjectId("5a86af0218880afb2c85c830"),
"msgid" : 6,
"botid" : 414731650,
"fromid" : 1431227,
"chatid" : -262650351,
"date" : ISODate("2018-02-16T10:14:26Z")
}
{
"_id" : ObjectId("5a86af0a18880afb2c85c83a"),
"msgid" : 7,
"botid" : 414731650,
"fromid" : 1431227,
"chatid" : -262650351,
"date" : ISODate("2018-02-16T10:14:34Z"),
"text" : "/start@exampleOrgGitlabBot"
}
> db.chats.find().pretty()
{
"_id" : NumberLong(1431227),
"type" : "private",
"firstname" : "Anton",
"lastname" : "Egorov",
"username" : "xxx",
"createdat" : ISODate("2018-02-16T10:13:33.386Z"),
"hooks" : [
{
"token" : "cJ5GU2Ug2q6",
"services" : [
"gitlab"
]
}
]
}
{
"_id" : NumberLong(-262650351),
"type" : "group",
"firstname" : "",
"title" : "zzz",
"createdat" : ISODate("2018-02-16T10:14:26.304Z"),
"hooks" : [
{
"token" : "c4PvppgFA5z",
"services" : [
"gitlab"
]
}
],
"membersids" : [
NumberLong(1431227),
NumberLong(3343033)
]
}
Any hint is really much appreciated, thanks!
If we send some text with command without bot's name, and which is invalid for your bots (but may be valid for other bots), such as /status
, it will respond with Command is invalid. Say what?
. This kind of behavior is annoying in group chat.
Please ignore invalid command without bot's name in group chats, so that:
/status
in group chats/status@GitHubBot
Hi..
As you can see one of the important attributes on Slack message formatting is fields attributes. That would be nice if you could represent these parameters.
"fields": [
{
"title": "Priority",
"value": "High",
"short": false
}
],
For more information see this link
Regards,
I am receiving notification about my projects. But I have notifications from watching projects.
When I open the GitHub-site I see unread notifications from watching projects, but I have no one notifying in the Telegram.
Bot spams me on changing smthg in e.g. Trello by myself.
P.S. If it's already possible, please show me the proper way.
Thanks!
When I was deleting a branch from GitLab the bot had written 'created branch'. Should be 'deleted branch'.
We host our own instance of Gitlab.
I guess this is just a matter of replacing all occurrences of gitlab.com in the code by the custom gitlab url.
But there is something that prevents me from trying this : given that gitlab requires a redirect_uri for oauth authentication, it means that gitlab has to be able to access the IP where Integram runs. Which is not the case in our infrastructure.
For Integram to work in our setup, we would need to use gitlab access tokens instead of oauth, which requires quite a lot of changes.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.