•  
     
    story #26802 have smart commit with Tuleap Git
Summary
Empty
have smart commit with Tuleap Git

I don't have different behaviour between Tuleap and GitLab

Overview

The reference is the implementation of the feature for GitLab: https://docs.tuleap.org/user-guide/code-versioning/gitlab.html#close-tuleap-artifact-with-gitlab-commit-messages. See the corresponding story: story #17183

It means that when:

  • a commit that contains one of the keywords is integrated in a repository default branch
  • and the repository is configured to allow smart commits
  • and the target artifact allows the transition

Then, the corresponding artifact is transitioned to the Done state by the user that push the commit.

Note: while gitlab closing is done with TULEAP-1234 reference, the smart commit with Tuleap Git is done with regular tuleap references (bug #1234, art #1234)

Processing

The processing of the smart commits is done asynchronously (so will requires Redis & workers) in order to limit the blocking time for the end user.

Administration

The configuration of the feature is done by a checkbox bellow the definition of default branch. It's set on for all new repositories but false for existing ones.

Forks

Forked repositories should be deactivated by default. It should be possible to re-activate the feature afterward.

If we don't deactivate, it means that a merge in the fork would close the artifact and it's unlikely the expected default behaviour.

Empty
Empty
Status
SCM/Git
Done
Development
  • [ ] Does it involves User Interface? 
  • [ ] Are there any mockups?
  • [ ] Are permissions checked?
  • [ ] Does it need Javascript development?
  • [ ] Does it need a forge upgrade bucket?
  • [ ] Does it need to execute things in system events?
  • [ ] Does it impact project creation (templates)?
  • [ ] Is it exploratory?
Empty
Details
#26802
Manuel Vacelet (vaceletm)
2022-08-03 14:05
2022-05-17 13:50
3506

References
Referencing story #26802

Git commit

tuleap/tuleap/stable

refactor: Prefixed Logger 89cb591e91
chore: make Hook namespace PSR-4 compliant 5baf7be330
refactor: clean-up PostReceive 2a8a451c82
feat: Skip redis dispatch if option is not enabled 26aee5ae43
feat: Skip redis dispatch if push was not on main branch fdb2b64246
feat: parse commit message for each pushed commit 145ec84dca
chore: namespace ReferenceInstance and extract GotoLink 7e8850e988
feat: add context word to Reference match 07b954b501
refactor: use a dedicated object instead of string 2a74d0a822
refactor: introduce NeverThrow and Fault lib d2c89ff1bb
refacto: make CloseArtifactHandler a sociable test 20c8b5913a
feat: allow artifact closure for new repositories 2e2e683cb3
cleanup: remove unused file 373b3bc0a6
refactor: remove usage of deprecated call to Artifact::createNewChangeset 6f976d4ec6
refactor: retrieve Status field in ArtifactUpdater eb91bf06be
feat: Export/import allow_artifact closure in XML 3c70abd958
refactor: build comments outside of ArtifactUpdater 72b4ffa5a8
refactor: remove second deprecated call to Artifact::createNewChangeset 1ba27c0ead
refactor: Remove dependency to PostPushCommitWebhookData 3ad8f6131b
refactor: use an interface for the Bad semantic comment 656b0c43a8
refactor: move ArtifactUpdater to Tracker plugin 83831cf21c
refactor: extract dedicated class for closing keyword d3ae4584c1
refactor: move ClosingKeyword to Tracker plugin 78e60e6927
feat: log message in tracker handler 43a5b134fd
feat: find reference with closing keyword f2c236bbed
refactor: get status field in ArtifactCloser 5209b3628a
chore: Upgrade GitLab version deployed by Docker to 15.1.2-ce.0 debe012456
Add --build to gitlab makefile target 0c67d6d4f2
refactor: interface before origin reference d460e2a76c
feat: Close artifacts referenced in commit message 9a94943023
feat: Allow artifact closure can be changed for repo 5b31f01fe3
fix: Fix translations order 9282067777
Remove unused property `access_logger` 1ac9d66bd0
feat: Close artifacts asynchronously with redis 44ca3004a4

Follow-ups

User avatar

gerrit #26421 integrated into Tuleap 13.11.99.15


  • Acceptance criteria
    Something went wrong, the follow up content couldn't be loaded
    Only formatting have been changed, you should switch to markup to see the changes
User avatar
  • Acceptance criteria
    Something went wrong, the follow up content couldn't be loaded
    Only formatting have been changed, you should switch to markup to see the changes
  • Status changed from On going to Done
User avatar
  • Acceptance criteria
    Something went wrong, the follow up content couldn't be loaded
    Only formatting have been changed, you should switch to markup to see the changes
User avatar
  • Acceptance criteria
    Something went wrong, the follow up content couldn't be loaded
    Only formatting have been changed, you should switch to markup to see the changes
User avatar
  • Acceptance criteria
    Something went wrong, the follow up content couldn't be loaded
    Only formatting have been changed, you should switch to markup to see the changes
User avatar
  • Acceptance criteria
    Something went wrong, the follow up content couldn't be loaded
    Only formatting have been changed, you should switch to markup to see the changes
User avatar
Joris MASSON (jmasson)2022-06-01 17:23
  • Acceptance criteria
    Something went wrong, the follow up content couldn't be loaded
    Only formatting have been changed, you should switch to markup to see the changes