Package: g2w
What is Worksection?Worksectionis a simple, lightweight task tracking system that provides:Project and task management, planning and controlling, team organizationFlexible interface, recurring processes, time-trackingPrivacy settings, client companies, communicationCheck it out.Worksection task id in Git commit messagesUsecommit-msgfile to force your developers to have worksection task id during commits.
Just copy this file to your git repo ascpcommit-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, where0000is worksection task id.Open API docsRun it and all endpoints details will be available here:http://localhost:8080/docs>pythong2w
...INFO:Startedserverprocess[86248]INFO:Waitingforapplicationstartup.
INFO:Applicationstartupcomplete.
INFO:Uvicornrunningonhttp://0.0.0.0:8080(PressCTRL+Ctoquit)Push notificationsPlease note, thatGitLabcommit messages must have the following format:#WS-0000: The commit message, where0000is worksection task id.Deploy locally g2wversion: "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: alwaysConfigure webhook withPush eventsin Gitlab:Openproject > Settings > WebhookSpecify URLhttp://yourserverwith-g2w:8080/gitlab/push/223728, where223728is your worksection project idEnsure thatPush eventsoption is selectedPress [Add webhook]Configure reference to Worksection tasks from commits in Gitlab:Openproject > Settings > Integrations > Custom issue trackerSetProject URLlikehttps://xxx.worksection.com/project/223728/, where223728is your worksection project idSetIssue URLlikehttps://xxx.worksection.com/project/223728/:idSetNew issue URLlikehttps://xxx.worksection.com/project/223728/new/Press [Save changes]Push commit(s) with following commit message format#WS-0000: The commit messageformat (0000is worksection task id) to your Gitlab project.Simulate push Gitlab event223728- worksection project id (readmore):curl--requestPOST\--urlhttp://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 makemakevirtualenvinstalltestInstall it from PyPIpipinstallg2wMaterials & Linkshttp://www.md5.cz- generate WS hash