State of the Art
To find out what is possible to integrate between Tuleap and GitHub, we used the existing integration between Jira and GitHub, or Azure DevOps and GitHub.
Jira and GitHub
- From Jira, we need to install GitHub App. In this app, we can link a GitHub organization (and create some GitHub webhooks automatically)
- We can reference an artifact thanks to its id, for example:
- Reference on a commit: "PROJECT-10 my commit message"
- Reference on a branch: "PROJECT-10_my_branch_name"
- In artifact view, we can have:
- Branches (Branch's name (link to GitHub), Pull Request's status, button 'Create Pull Request')
- Available only if a branch has an artifact id, or if a Pull Request was created with the artifact id in his commit message
- Commits (Author (GitHub avatar), commit hash (link to GitHub), start of commit message, date, diff files)
- Pull Request (ID (link to GitHub), Title, Status, Author, Reviewer, Date last update)
- We can create some triggers to modify artifact status based on:
- Commit
- Pull Request (Created, Merged, Closed, reopen)
- Use 'Smart Commit' (create actions from commit message):
- Add artifact comment ("PROJECT-10 #comment my new comment")
- Change artifact status ("PROJECT-10 #open", "PROJECT-10 #end_of_life", ...)
- Add times on timetracking ("PROJECT-10 #time 1w 2d 3h 4m")
Azure DevOps and GitHub
- Need to install Azure Board app in Azure DevOps. We can only link GitHub repositories (and no organizations)
- We can reference an artifact thanks to its id, only on commit message
- In artifact view, we have access to commits and Pull Request
- We can add a link between a commit (thanks to its URL) and an artifact
- Only workflow
- When a Pull Request is merged, the artifact is closed