What is Worksection?
Worksection is a simple, lightweight task tracking system that provides:
- Project and task management, planning and controlling, team organization
- Flexible interface, recurring processes, time-tracking
- Privacy settings, client companies, communication
Check it out.
Worksection task id in Git commit messages
Use commit-msg file to force your developers to have worksection task id during commits. Just copy this file to your git repo as
cp commit-msg <your-git-repo>/.git/hook/commit-msg # on Git server directly (server-side commit)
Since this moment all commit messages should have the following format #WS-0000: The commit message, where 0000 is worksection task id.
Open API docs
Run it and all endpoints details will be available here: http://localhost:8080/docs
> python g2w
...
INFO: Started server process [86248]
INFO: Waiting for application startup.
INFO: Application startup complete.
INFO: Uvicorn running on http://0.0.0.0:8080 (Press CTRL+C to quit)
Push notifications
Please note, that GitLab commit messages must have the following format: #WS-0000: The commit message, where 0000 is worksection task id.
- Deploy locally g2w
version: "3.9" services: g2ws: image: dgroup/g2w:0.2.0 container_name: g2w environment: # Mandatory environment variables (docker, podman, etc.) WS_URL_ALL_USERS: "https://xxx.worksection.com/xxxx" # https://worksection.com/faq/api-user.html#q1572 WS_URL_POST_COMMENT: "https://xxx.worksection.com/xxxx" # https://worksection.com/faq/api-comments.html#q1575 WS_URL_POST_TASK: "https://xxx.worksection.com/xxxx" # https://worksection.com/faq/api-task.html#q1577 WS_ADMIN_EMAIL: "xxx.worksection.bot@gmail.com" # plain worksection user email WS_ADMIN_USER_ID: "370080" # plain worksection user id WS_PRJ_223728_POST_TASK_HASH: "23e1sdfj2323" # HASH generated for new task action for a particular project WS_PRJ_223728_POST_COMMENT_HASH: "2312jsafajsdf" # HASH generated for new comment action for a particular project build: dockerfile: Containerfile context: . ports: - "8080:8080" restart: always - Configure webhook with
Push eventsin Gitlab:- Open
project > Settings > Webhook - Specify URL http://yourserverwith-g2w:8080/gitlab/push/223728, where
223728is your worksection project id - Ensure that
Push eventsoption is selected - Press [
Add webhook]
- Open
- Configure reference to Worksection tasks from commits in Gitlab:
- Open
project > Settings > Integrations > Custom issue tracker - Set
Project URLlike https://xxx.worksection.com/project/223728/, where223728is your worksection project id - Set
Issue URLlike https://xxx.worksection.com/project/223728/:id - Set
New issue URLlike https://xxx.worksection.com/project/223728/new/ - Press [
Save changes]
- Open
- Push commit(s) with following commit message format
#WS-0000: The commit messageformat (0000is worksection task id) to your Gitlab project.
Simulate push Gitlab event
223728 - worksection project id (read more):
curl --request POST \
--url http://127.0.0.1:8080/gitlab/push/223728 \
--header 'Content-Type: application/json' \
--data '{
"object_kind": "push",
"event_name": "push",
"before": "95790bf891e76fee5e1747ab589903a6a1f80f22",
"after": "da1560886d4f094c3e6c9ef40349f7d38b5d27d7",
"ref": "refs/heads/master",
"checkout_sha": "da1560886d4f094c3e6c9ef40349f7d38b5d27d7",
"user_id": 4,
"user_name": "John Smith",
"user_username": "jsmith",
"user_email": "john@example.com",
"user_avatar": "https://s.gravatar.com/avatar/d4c74594d841139328695756648b6bd6?s=8://s.gravatar.com/avatar/d4c74594d841139328695756648b6bd6?s=80",
"project_id": 15,
"project":{
"id": 15,
"name":"Diaspora",
"description":"",
"web_url":"http://example.com/mike/diaspora",
"avatar_url":null,
"git_ssh_url":"git@example.com:mike/diaspora.git",
"git_http_url":"https://example.com/mike/diaspora.git",
"namespace":"Mike",
"visibility_level":0,
"path_with_namespace":"mike/diaspora",
"default_branch":"master",
"homepage":"http://example.com/mike/diaspora",
"url":"git@example.com:mike/diaspora.git",
"ssh_url":"git@example.com:mike/diaspora.git",
"http_url":"https://example.com/mike/diaspora.git"
},
"repository":{
"name": "Diaspora",
"url": "git@example.com:mike/diaspora.git",
"description": "",
"homepage": "http://example.com/mike/diaspora",
"git_http_url":"https://example.com/mike/diaspora.git",
"git_ssh_url":"git@example.com:mike/diaspora.git",
"visibility_level":0
},
"commits": [
{
"id": "b6568db1bc1dcd7f8b4d5a946b0b91f9dacd7327",
"message": "Update Catalan translation to e38cb41.\n\nSee https://gitlab.com/gitlab-org/gitlab for more information",
"title": "Update Catalan translation to e38cb41.",
"timestamp": "2011-12-12T14:27:31+02:00",
"url": "http://example.com/mike/diaspora/commit/b6568db1bc1dcd7f8b4d5a946b0b91f9dacd7327",
"author": {
"name": "Jordi Mallach",
"email": "jordi@softcatala.org"
},
"added": ["CHANGELOG"],
"modified": ["app/controller/application.rb"],
"removed": []
},
{
"id": "da1560886d4f094c3e6c9ef40349f7d38b5d27d7",
"message": "fixed readme",
"title": "fixed readme",
"timestamp": "2012-01-03T23:36:29+02:00",
"url": "http://example.com/mike/diaspora/commit/da1560886d4f094c3e6c9ef40349f7d38b5d27d7",
"author": {
"name": "GitLab dev user",
"email": "gitlabdev@dv6700.(none)"
},
"added": ["CHANGELOG"],
"modified": ["app/controller/application.rb"],
"removed": []
}
],
"total_commits_count": 4
}'
Build
# Using *.sh file on Linux, Unix, OSX
> ./build.sh
# Using make
make virtualenv install test
Install it from PyPI
pip install g2w
Materials & Links
- http://www.md5.cz - generate WS hash
Metadata
Release files for g2w 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| g2w-0.3.0.tar.gz | 24.7 kB | Without provenance | Details for g2w-0.3.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| g2w-0.3.0-py3-none-any.whl | Python 3 | none | any | Details for g2w-0.3.0-py3-none-any.whl |
Total release size: 35.7 kB
Release files / g2w-0.3.0.tar.gz
| Download URL | g2w-0.3.0.tar.gz |
|---|---|
| Size | 24.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
07152622b36ed12b5178cede35d18195c85498699a2a65e6dae8f8281a861fec
|
|
BLAKE2b-256 checksum How to use checksums |
4e214565400c725a4995b6245b685e213265eabaa89c8b15ec3b9ab61bf40ed8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.11.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.8.5
|
Release files / g2w-0.3.0-py3-none-any.whl
| Download URL | g2w-0.3.0-py3-none-any.whl |
|---|---|
| Size | 11.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
26775838b0e0e6bd88cf46e49c9b7c1a19c31addc414daebd0e5fc90635bfa01
|
|
BLAKE2b-256 checksum How to use checksums |
3850a5fef5e578c61889ab6d401eba83f59eebb0337e034fbc3ea7a57853ea40
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.11.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.8.5
|
Security for g2w 0.3.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.